| 221 | TEST(Example, Optional) { ExampleOptional(); } |
| 222 | |
| 223 | void ExampleVariant() { |
| 224 | namespace ffi = tvm::ffi; |
| 225 | ffi::Variant<int, ffi::String> var0 = 100; |
| 226 | EXPECT_EQ(var0.get<int>(), 100); |
| 227 | |
| 228 | var0 = ffi::String("hello"); |
| 229 | std::optional<ffi::String> maybe_str = var0.as<ffi::String>(); |
| 230 | EXPECT_EQ(maybe_str.value(), "hello"); // NOLINT(bugprone-unchecked-optional-access) |
| 231 | |
| 232 | std::optional<int> maybe_int2 = var0.as<int>(); |
| 233 | EXPECT_EQ(maybe_int2.has_value(), false); |
| 234 | } |
| 235 | |
| 236 | TEST(Example, Variant) { ExampleVariant(); } |
| 237 | |