41 lines · cpp
1//===----------------------------------------------------------------------===//2//3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.4// See https://llvm.org/LICENSE.txt for license information.5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception6//7//===----------------------------------------------------------------------===//8 9// <utility>10 11// template <class T1, class T2> struct pair12 13// pair(const pair&) = default;14 15#include <utility>16#include <cassert>17 18#include "test_macros.h"19 20int main(int, char**)21{22 {23 typedef std::pair<int, short> P1;24 P1 p1(3, static_cast<short>(4));25 P1 p2 = p1;26 assert(p2.first == 3);27 assert(p2.second == 4);28 }29#if TEST_STD_VER > 1130 {31 typedef std::pair<int, short> P1;32 constexpr P1 p1(3, static_cast<short>(4));33 constexpr P1 p2 = p1;34 static_assert(p2.first == 3, "");35 static_assert(p2.second == 4, "");36 }37#endif38 39 return 0;40}41