// COMPILE_SEPARATELY: // EXTRA_SOURCES: imports/std15017variant.d import imports.std15017variant; void test() { // OK <- in IndexExp::semantic Variant1[string] aa1; aa1["abc"] = Variant1(); // already ok in CatExp::semantic with checkPostblit Variant2[] a2; a2 = a2 ~ Variant2(); // already ok in CatAssignExp::semantic with checkPostblit Variant3[] a3; a3 ~= Variant3(); // OK <- in CmpExp::semantic Variant4[] a4; assert(a4 < a4); // already OK in needDirectEq from EqualExp::semantic Variant5[] a5; assert(a5 == a5); // already OK in EqualExp::semantic Variant6[Variant7] aa67; assert(aa67 == aa67); // OK <- in InExp::semantic string[Variant8] aa8; assert(Variant8() in aa8); // OK <- in resolveUFCS with RemoveExp string[Variant9] aa9; aa9.remove(Variant9()); // OK <- in DeleteExp::semantic Variant10* p10; destroy(p10); static assert(Variant10.__dtor.mangleof == "_D7imports15std15017variant__T8VariantNVki10ZQp6__dtorMFNaNbNiNfZv"); } void main() {}