diff --git a/tests/constructors.cpp b/tests/constructors.cpp index a963a2a..c164270 100644 --- a/tests/constructors.cpp +++ b/tests/constructors.cpp @@ -65,51 +65,59 @@ TEST_CASE("Constructors", "[constructors]") { tl::expected e; REQUIRE(std::is_default_constructible::value); REQUIRE(std::is_copy_constructible::value); - REQUIRE(std::is_trivially_copy_constructible::value); REQUIRE(std::is_move_constructible::value); - REQUIRE(std::is_trivially_move_constructible::value); REQUIRE(std::is_copy_assignable::value); - REQUIRE(std::is_trivially_copy_assignable::value); REQUIRE(std::is_move_assignable::value); - REQUIRE(std::is_trivially_move_assignable::value); + REQUIRE(!IS_TRIVIALLY_COPY_CONSTRUCTIBLE(decltype(e))); + REQUIRE(!IS_TRIVIALLY_COPY_ASSIGNABLE(decltype(e))); +# if !defined(TL_EXPECTED_GCC49) + REQUIRE(!std::is_trivially_move_constructible::value); + REQUIRE(!std::is_trivially_move_assignable::value); +# endif } { tl::expected e; REQUIRE(std::is_default_constructible::value); REQUIRE(std::is_copy_constructible::value); - REQUIRE(!std::is_trivially_copy_constructible::value); REQUIRE(std::is_move_constructible::value); - REQUIRE(!std::is_trivially_move_constructible::value); REQUIRE(std::is_copy_assignable::value); - REQUIRE(!std::is_trivially_copy_assignable::value); REQUIRE(std::is_move_assignable::value); + REQUIRE(!IS_TRIVIALLY_COPY_CONSTRUCTIBLE(decltype(e))); + REQUIRE(!IS_TRIVIALLY_COPY_ASSIGNABLE(decltype(e))); +# if !defined(TL_EXPECTED_GCC49) + REQUIRE(!std::is_trivially_move_constructible::value); REQUIRE(!std::is_trivially_move_assignable::value); +# endif } { tl::expected e; REQUIRE(std::is_default_constructible::value); REQUIRE(std::is_copy_constructible::value); - REQUIRE(!std::is_trivially_copy_constructible::value); REQUIRE(std::is_move_constructible::value); - REQUIRE(!std::is_trivially_move_constructible::value); REQUIRE(std::is_copy_assignable::value); - REQUIRE(!std::is_trivially_copy_assignable::value); REQUIRE(std::is_move_assignable::value); + REQUIRE(!IS_TRIVIALLY_COPY_CONSTRUCTIBLE(decltype(e))); + REQUIRE(!IS_TRIVIALLY_COPY_ASSIGNABLE(decltype(e))); +# if !defined(TL_EXPECTED_GCC49) + REQUIRE(!std::is_trivially_move_constructible::value); REQUIRE(!std::is_trivially_move_assignable::value); +# endif } { tl::expected e; REQUIRE(std::is_default_constructible::value); REQUIRE(std::is_copy_constructible::value); - REQUIRE(!std::is_trivially_copy_constructible::value); REQUIRE(std::is_move_constructible::value); - REQUIRE(!std::is_trivially_move_constructible::value); REQUIRE(std::is_copy_assignable::value); - REQUIRE(!std::is_trivially_copy_assignable::value); REQUIRE(std::is_move_assignable::value); + REQUIRE(!IS_TRIVIALLY_COPY_CONSTRUCTIBLE(decltype(e))); + REQUIRE(!IS_TRIVIALLY_COPY_ASSIGNABLE(decltype(e))); +# if !defined(TL_EXPECTED_GCC49) + REQUIRE(!std::is_trivially_move_constructible::value); REQUIRE(!std::is_trivially_move_assignable::value); +# endif } }