From 8607772d4f9e21f53c1abfd9379737403b97f430 Mon Sep 17 00:00:00 2001 From: Steven Le Rouzic Date: Sun, 5 Jan 2025 15:25:45 +0100 Subject: Fix a few mistakes in option, and make it trivial when possible --- asl/tests/option_tests.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'asl/tests/option_tests.cpp') diff --git a/asl/tests/option_tests.cpp b/asl/tests/option_tests.cpp index 557e2fe..20ee756 100644 --- a/asl/tests/option_tests.cpp +++ b/asl/tests/option_tests.cpp @@ -14,14 +14,14 @@ struct NonZero ASL_ASSERT(x != 0); } - constexpr explicit NonZero(asl::niche) : value(0) {} + constexpr explicit NonZero(asl::niche_t) : value(0) {} - constexpr bool operator==(asl::niche) const { return value == 0; } + constexpr bool operator==(asl::niche_t) const { return value == 0; } }; static_assert(asl::has_niche); static_assert(!asl::has_niche); -static_assert(sizeof(asl::option) > sizeof(int)); +static_assert(sizeof(asl::option) >= sizeof(int)); static_assert(sizeof(asl::option) == sizeof(NonZero)); static_assert(!asl::is_option); @@ -31,22 +31,26 @@ static_assert(asl::is_option>); static_assert(asl::trivially_destructible>); static_assert(!asl::trivially_destructible>); -static_assert(asl::copy_constructible>); +static_assert(asl::trivially_copy_constructible>); +static_assert(asl::trivially_copy_constructible>); static_assert(asl::copy_constructible>); static_assert(!asl::copy_constructible>); static_assert(!asl::copy_constructible>); -static_assert(asl::move_constructible>); +static_assert(asl::trivially_move_constructible>); +static_assert(asl::trivially_move_constructible>); static_assert(asl::move_constructible>); static_assert(asl::move_constructible>); static_assert(!asl::move_constructible>); -static_assert(asl::copy_assignable>); +static_assert(asl::trivially_copy_assignable>); +static_assert(asl::trivially_copy_assignable>); static_assert(asl::copy_assignable>); static_assert(!asl::copy_assignable>); static_assert(!asl::copy_assignable>); -static_assert(asl::move_assignable>); +static_assert(asl::trivially_move_assignable>); +static_assert(asl::trivially_move_assignable>); static_assert(asl::move_assignable>); static_assert(asl::move_assignable>); static_assert(!asl::move_assignable>); -- cgit