xref: /llvm-project/libcxx/test/std/utilities/utility/pairs/pair.astuple/get_const.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 // template<size_t I, class T1, class T2>
14*4537bda9SLouis Dionne //     const typename tuple_element<I, std::pair<T1, T2> >::type&
15*4537bda9SLouis Dionne //     get(const pair<T1, T2>&);
16*4537bda9SLouis Dionne 
17*4537bda9SLouis Dionne #include <utility>
18*4537bda9SLouis Dionne 
f()19*4537bda9SLouis Dionne void f() {
20*4537bda9SLouis Dionne   typedef std::pair<int, short> P;
21*4537bda9SLouis Dionne   const P p(3, 4);
22*4537bda9SLouis Dionne   std::get<0>(p) = 5; // expected-error {{cannot assign to return value}}
23*4537bda9SLouis Dionne }
24