diff options
Diffstat (limited to 'libstdc++-v3/testsuite')
-rw-r--r-- | libstdc++-v3/testsuite/24_iterators/common_iterator/100823.cc | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/libstdc++-v3/testsuite/24_iterators/common_iterator/100823.cc b/libstdc++-v3/testsuite/24_iterators/common_iterator/100823.cc index 4f2b23de8cc..b42dd087ab2 100644 --- a/libstdc++-v3/testsuite/24_iterators/common_iterator/100823.cc +++ b/libstdc++-v3/testsuite/24_iterators/common_iterator/100823.cc @@ -5,6 +5,21 @@ #include <testsuite_hooks.h> void +test_triviality() +{ + using I = std::common_iterator<int*, const int*>; + + // Cannot be trivial, because it has to initialize members. + static_assert( ! std::is_trivially_default_constructible_v<I> ); + + static_assert( std::is_trivially_destructible_v<I> ); + static_assert( std::is_trivially_copy_constructible_v<I> ); + static_assert( std::is_trivially_copy_assignable_v<I> ); + static_assert( std::is_trivially_move_constructible_v<I> ); + static_assert( std::is_trivially_move_assignable_v<I> ); +} + +void test_valueless_assignment() { int x[1] { }; |