1*4537bda9SLouis Dionne //===----------------------------------------------------------------------===// 2*4537bda9SLouis Dionne // 3*4537bda9SLouis Dionne // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*4537bda9SLouis Dionne // See https://llvm.org/LICENSE.txt for license information. 5*4537bda9SLouis Dionne // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 6*4537bda9SLouis Dionne // 7*4537bda9SLouis Dionne //===----------------------------------------------------------------------===// 8*4537bda9SLouis Dionne 9*4537bda9SLouis Dionne // <utility> 10*4537bda9SLouis Dionne 11*4537bda9SLouis Dionne // template <class T1, class T2> struct pair 12*4537bda9SLouis Dionne 13*4537bda9SLouis Dionne // tuple_element<I, pair<T1, T2> >::type 14*4537bda9SLouis Dionne 15*4537bda9SLouis Dionne #include <utility> 16*4537bda9SLouis Dionne f()17*4537bda9SLouis Dionnevoid f() { 18*4537bda9SLouis Dionne typedef std::pair<int, short> T; 19*4537bda9SLouis Dionne std::tuple_element<2, T>::type foo; // expected-error@*:* {{Index out of bounds in std::tuple_element<std::pair<T1, T2>>}} 20*4537bda9SLouis Dionne } 21