@@ -15,6 +15,11 @@ TEST_CASE("Triviality", "[bases.triviality]") {
1515 REQUIRE (std::is_trivially_move_assignable<tl::expected<int ,int >>::value);
1616 REQUIRE (std::is_trivially_destructible<tl::expected<int ,int >>::value);
1717
18+ REQUIRE (std::is_trivially_copy_constructible<tl::expected<void ,int >>::value);
19+ REQUIRE (std::is_trivially_move_constructible<tl::expected<void ,int >>::value);
20+ REQUIRE (std::is_trivially_destructible<tl::expected<void ,int >>::value);
21+
22+
1823 {
1924 struct T {
2025 T (const T&) = default ;
@@ -127,8 +132,8 @@ TEST_CASE("Deletion", "[bases.deletion]") {
127132 REQUIRE (std::is_move_constructible<decltype (e)>::value);
128133 REQUIRE (std::is_copy_assignable<decltype (e)>::value);
129134 REQUIRE (std::is_move_assignable<decltype (e)>::value);
130- REQUIRE (IS_TRIVIALLY_COPY_CONSTRUCTIBLE (decltype (e)));
131- REQUIRE (IS_TRIVIALLY_COPY_ASSIGNABLE (decltype (e)));
135+ REQUIRE (IS_TRIVIALLY_COPY_CONSTRUCTIBLE (decltype (e))::value );
136+ REQUIRE (IS_TRIVIALLY_COPY_ASSIGNABLE (decltype (e))::value );
132137# if !defined(TL_EXPECTED_GCC49)
133138 REQUIRE (std::is_trivially_move_constructible<decltype (e)>::value);
134139 REQUIRE (std::is_trivially_move_assignable<decltype (e)>::value);
@@ -142,8 +147,8 @@ TEST_CASE("Deletion", "[bases.deletion]") {
142147 REQUIRE (std::is_move_constructible<decltype (e)>::value);
143148 REQUIRE (std::is_copy_assignable<decltype (e)>::value);
144149 REQUIRE (std::is_move_assignable<decltype (e)>::value);
145- REQUIRE (!IS_TRIVIALLY_COPY_CONSTRUCTIBLE (decltype (e)));
146- REQUIRE (!IS_TRIVIALLY_COPY_ASSIGNABLE (decltype (e)));
150+ REQUIRE (!IS_TRIVIALLY_COPY_CONSTRUCTIBLE (decltype (e))::value );
151+ REQUIRE (!IS_TRIVIALLY_COPY_ASSIGNABLE (decltype (e))::value );
147152# if !defined(TL_EXPECTED_GCC49)
148153 REQUIRE (!std::is_trivially_move_constructible<decltype (e)>::value);
149154 REQUIRE (!std::is_trivially_move_assignable<decltype (e)>::value);
@@ -157,8 +162,8 @@ TEST_CASE("Deletion", "[bases.deletion]") {
157162 REQUIRE (std::is_move_constructible<decltype (e)>::value);
158163 REQUIRE (std::is_copy_assignable<decltype (e)>::value);
159164 REQUIRE (std::is_move_assignable<decltype (e)>::value);
160- REQUIRE (!IS_TRIVIALLY_COPY_CONSTRUCTIBLE (decltype (e)));
161- REQUIRE (!IS_TRIVIALLY_COPY_ASSIGNABLE (decltype (e)));
165+ REQUIRE (!IS_TRIVIALLY_COPY_CONSTRUCTIBLE (decltype (e))::value );
166+ REQUIRE (!IS_TRIVIALLY_COPY_ASSIGNABLE (decltype (e))::value );
162167# if !defined(TL_EXPECTED_GCC49)
163168 REQUIRE (!std::is_trivially_move_constructible<decltype (e)>::value);
164169 REQUIRE (!std::is_trivially_move_assignable<decltype (e)>::value);
@@ -172,8 +177,8 @@ TEST_CASE("Deletion", "[bases.deletion]") {
172177 REQUIRE (std::is_move_constructible<decltype (e)>::value);
173178 REQUIRE (std::is_copy_assignable<decltype (e)>::value);
174179 REQUIRE (std::is_move_assignable<decltype (e)>::value);
175- REQUIRE (!IS_TRIVIALLY_COPY_CONSTRUCTIBLE (decltype (e)));
176- REQUIRE (!IS_TRIVIALLY_COPY_ASSIGNABLE (decltype (e)));
180+ REQUIRE (!IS_TRIVIALLY_COPY_CONSTRUCTIBLE (decltype (e))::value );
181+ REQUIRE (!IS_TRIVIALLY_COPY_ASSIGNABLE (decltype (e))::value );
177182# if !defined(TL_EXPECTED_GCC49)
178183 REQUIRE (!std::is_trivially_move_constructible<decltype (e)>::value);
179184 REQUIRE (!std::is_trivially_move_assignable<decltype (e)>::value);
0 commit comments