/* * This source code is released into the public domain. */ #include #include #include import nihil.match; TEST_CASE("match", "[nihil]") { using namespace nihil; using namespace std::literals; auto v = std::variant(42); auto s = v | match { [](int) { return "int"s; }, [](std::string const &) { return "string"s; } }; REQUIRE(s == "int"); v = "test"s; s = v | match { [](int) { return "int"s; }, [](std::string const &) { return "string"s; } }; REQUIRE(s == "string"); }