|
15 | 15 | // NOTE: The SFINAE on the default constructor is tested in
|
16 | 16 | // default-sfinae.pass.cpp
|
17 | 17 |
|
18 |
| - |
19 | 18 | #include <utility>
|
20 | 19 | #include <type_traits>
|
21 | 20 | #include <cassert>
|
22 | 21 |
|
23 | 22 | #include "test_macros.h"
|
24 | 23 | #include "archetypes.h"
|
25 | 24 |
|
26 |
| -int main(int, char**) |
27 |
| -{ |
28 |
| - { |
29 |
| - typedef std::pair<float, short*> P; |
30 |
| - P p; |
31 |
| - assert(p.first == 0.0f); |
32 |
| - assert(p.second == nullptr); |
33 |
| - } |
| 25 | +int main(int, char**) { |
| 26 | + { |
| 27 | + typedef std::pair<float, short*> P; |
| 28 | + P p; |
| 29 | + assert(p.first == 0.0f); |
| 30 | + assert(p.second == nullptr); |
| 31 | + } |
34 | 32 | #if TEST_STD_VER >= 11
|
35 |
| - { |
36 |
| - typedef std::pair<float, short*> P; |
37 |
| - constexpr P p; |
38 |
| - static_assert(p.first == 0.0f, ""); |
39 |
| - static_assert(p.second == nullptr, ""); |
40 |
| - } |
41 |
| - { |
42 |
| - using NoDefault = ImplicitTypes::NoDefault; |
43 |
| - using P = std::pair<int, NoDefault>; |
44 |
| - static_assert(!std::is_default_constructible<P>::value, ""); |
45 |
| - using P2 = std::pair<NoDefault, int>; |
46 |
| - static_assert(!std::is_default_constructible<P2>::value, ""); |
47 |
| - } |
48 |
| - { |
49 |
| - struct Base { }; |
50 |
| - struct Derived : Base { protected: Derived() = default; }; |
51 |
| - static_assert(!std::is_default_constructible<std::pair<Derived, int> >::value, ""); |
52 |
| - } |
| 33 | + { |
| 34 | + typedef std::pair<float, short*> P; |
| 35 | + constexpr P p; |
| 36 | + static_assert(p.first == 0.0f, ""); |
| 37 | + static_assert(p.second == nullptr, ""); |
| 38 | + } |
| 39 | + { |
| 40 | + using NoDefault = ImplicitTypes::NoDefault; |
| 41 | + using P = std::pair<int, NoDefault>; |
| 42 | + static_assert(!std::is_default_constructible<P>::value, ""); |
| 43 | + using P2 = std::pair<NoDefault, int>; |
| 44 | + static_assert(!std::is_default_constructible<P2>::value, ""); |
| 45 | + } |
| 46 | + { |
| 47 | + struct Base {}; |
| 48 | + struct Derived : Base { |
| 49 | + protected: |
| 50 | + Derived() = default; |
| 51 | + }; |
| 52 | + static_assert(!std::is_default_constructible<std::pair<Derived, int> >::value, ""); |
| 53 | + } |
53 | 54 | #endif
|
54 | 55 |
|
55 | 56 | return 0;
|
|
0 commit comments