xref: /llvm-project/libcxx/test/std/utilities/utility/pairs/pair.astuple/tuple_element.verify.cpp (revision 4537bda929bd874658f9d66ad2c55d81268c8b98)
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 Dionne void 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