| 15 | |
| 16 | Y_UNIT_TEST_SUITE(TOverloadedTest) { |
| 17 | Y_UNIT_TEST(StaticTest) { |
| 18 | auto f = TOverloaded{ |
| 19 | [](const TType1&) {}, |
| 20 | [](const TType2&) {}, |
| 21 | [](const TType3&) {}}; |
| 22 | using F = decltype(f); |
| 23 | static_assert(std::is_invocable_v<F, TType1>); |
| 24 | static_assert(std::is_invocable_v<F, TType2>); |
| 25 | static_assert(std::is_invocable_v<F, TType3>); |
| 26 | static_assert(!std::is_invocable_v<F, int>); |
| 27 | static_assert(!std::is_invocable_v<F, double>); |
| 28 | } |
| 29 | |
| 30 | Y_UNIT_TEST(VariantTest) { |
| 31 | std::variant<int, double, TType1> v = 5; |