| 22 | |
| 23 | Y_UNIT_TEST_SUITE(TMaybeTest) { |
| 24 | Y_UNIT_TEST(TestStatic) { |
| 25 | using T1 = TMaybe<int>; |
| 26 | static_assert(std::is_trivially_copy_constructible<T1>::value, ""); |
| 27 | static_assert(std::is_trivially_destructible<T1>::value, ""); |
| 28 | |
| 29 | using T2 = TMaybe<TString*>; |
| 30 | static_assert(std::is_trivially_copy_constructible<T2>::value, ""); |
| 31 | static_assert(std::is_trivially_destructible<T2>::value, ""); |
| 32 | |
| 33 | using T3 = TMaybe<TMaybe<double>>; |
| 34 | static_assert(std::is_trivially_copy_constructible<T3>::value, ""); |
| 35 | static_assert(std::is_trivially_destructible<T3>::value, ""); |
| 36 | |
| 37 | using T4 = TMaybe<TString>; |
| 38 | static_assert(!std::is_trivially_copy_constructible<T4>::value, ""); |
| 39 | static_assert(!std::is_trivially_destructible<T4>::value, ""); |
| 40 | |
| 41 | using T5 = TMaybe<TMoveOnly>; |
| 42 | static_assert(!std::is_copy_constructible<T5>::value); |
| 43 | static_assert(std::is_move_constructible<T5>::value); |
| 44 | } |
| 45 | |
| 46 | Y_UNIT_TEST(TestWarning) { |
| 47 | TMaybe<size_t> x; |
nothing calls this directly
no test coverage detected