summaryrefslogtreecommitdiff
path: root/asl/tests/maybe_uninit_tests.cpp
diff options
context:
space:
mode:
authorSteven Le Rouzic <steven.lerouzic@gmail.com>2025-01-05 15:25:45 +0100
committerSteven Le Rouzic <steven.lerouzic@gmail.com>2025-01-05 15:25:45 +0100
commit8607772d4f9e21f53c1abfd9379737403b97f430 (patch)
treefcd5a5030bb1cc0ba4dd4069a0d7174a67791c03 /asl/tests/maybe_uninit_tests.cpp
parentb53fc9038f4579974c9eea28e82b693a7fd66522 (diff)
Fix a few mistakes in option, and make it trivial when possible
Diffstat (limited to 'asl/tests/maybe_uninit_tests.cpp')
-rw-r--r--asl/tests/maybe_uninit_tests.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/asl/tests/maybe_uninit_tests.cpp b/asl/tests/maybe_uninit_tests.cpp
index 92999a2..524a10b 100644
--- a/asl/tests/maybe_uninit_tests.cpp
+++ b/asl/tests/maybe_uninit_tests.cpp
@@ -5,6 +5,18 @@ static_assert(asl::layout::of<int>() == asl::layout::of<asl::maybe_uninit<int>>(
static_assert(asl::size_of<int> == asl::size_of<asl::maybe_uninit<int>>);
static_assert(asl::align_of<int> == asl::align_of<asl::maybe_uninit<int>>);
-static_assert(asl::trivially_destructible<asl::maybe_uninit<TrivialType>>);
-static_assert(!asl::trivially_destructible<asl::maybe_uninit<WithDestructor>>);
+#define TEST_TYPE_PROPERTIES(PRP) \
+ static_assert(asl::PRP<asl::maybe_uninit<TrivialType>> == asl::PRP<TrivialType>); \
+ static_assert(asl::PRP<asl::maybe_uninit<TrivialTypeDefaultValue>> == asl::PRP<TrivialTypeDefaultValue>); \
+ static_assert(asl::PRP<asl::maybe_uninit<WithDestructor>> == asl::PRP<WithDestructor>); \
+ static_assert(asl::PRP<asl::maybe_uninit<Copyable>> == asl::PRP<Copyable>); \
+ static_assert(asl::PRP<asl::maybe_uninit<MoveableOnly>> == asl::PRP<MoveableOnly>); \
+ static_assert(asl::PRP<asl::maybe_uninit<Pinned>> == asl::PRP<Pinned>);
+
+TEST_TYPE_PROPERTIES(trivially_default_constructible);
+TEST_TYPE_PROPERTIES(trivially_copy_constructible);
+TEST_TYPE_PROPERTIES(trivially_move_constructible);
+TEST_TYPE_PROPERTIES(trivially_copy_assignable);
+TEST_TYPE_PROPERTIES(trivially_move_assignable);
+TEST_TYPE_PROPERTIES(trivially_destructible);