#include #include #include #include struct custom_struct_with_no_stringize_customization { } custom; main: () -> int = { a := 2; b: std::optional = (); std::cout << "a = (a)$, b = (b)$\n"; b = 42; std::cout << "a^2 + b = (a * a + b.value())$\n"; sv: std::string_view = "my string_view"; std::cout << "sv = (sv)$\n"; osv: std::optional = (); std::cout << "osv = (osv)$\n"; osv = "string literal bound to optional string_view"; std::cout << "osv = (osv)$\n"; var: std::variant = (); std::cout << "var = (var)$\n"; var = "abracadabra"; std::cout << "var = (var)$\n"; var = 2.71828; std::cout << "var = (var)$\n"; mypair: std::pair = (12, 3.4); std::cout << "mypair = (mypair)$\n"; tup1: std::tuple = (12); tup2: std::tuple = (12, 3.4); tup3: std::tuple = (12, 3.4, "456"); std::cout << "tup1 = (tup1)$\n"; std::cout << "tup2 = (tup2)$\n"; std::cout << "tup3 = (tup3)$\n"; p: std::pair> = ("first", std::nullopt); std::cout << "p = (p)$\n"; t: std::tuple>, std::optional>> = (3.14, std::nullopt, std::nullopt); std::cout << "t = (t)$\n"; vv: std::variant > = (); std::cout << "vv = (vv)$\n"; vv = std::make_pair(1,2.3); std::cout << "vv = (vv)$\n"; std::cout << "custom = (custom)$\n"; }