@@ -283,26 +283,6 @@ TEST_CASE("List")
283283 Heap heap (1024 * 1024 );
284284 auto cx = createCallContext (&heap, Encoding::Utf8);
285285
286- using VariantList3 = list_t <variant_t <string_t , uint32_t >>;
287- VariantList3 variants3 = {" Hello World2" , (uint32_t )42 };
288- auto vv7 = lower_flat (*cx, variants3);
289- auto v77 = lift_flat<VariantList3>(*cx, vv7);
290- auto d1 = std::get<string_t >(v77[0 ]);
291- auto d2v = v77[1 ];
292- auto d2 = std::get<uint32_t >(d2v);
293- CHECK (variants3 == v77);
294-
295- using VariantList = list_t <variant_t <bool_t >>;
296- VariantList variants = {true , false };
297- auto vv5 = lower_flat (*cx, variants);
298- auto v55 = lift_flat<VariantList>(*cx, vv5);
299- CHECK (variants.size () == v55.size ());
300- auto v0_ = std::get<bool_t >(v55[0 ]);
301- auto v1_ = std::get<bool_t >(v55[1 ]);
302- CHECK (variants[0 ] == v55[0 ]);
303- CHECK (variants[1 ] == v55[1 ]);
304- CHECK (variants == v55);
305-
306286 list_t <string_t > strings = {" Hello" , " World" , " !" };
307287 auto v = lower_flat (*cx, strings);
308288 auto strs = lift_flat<list_t <string_t >>(*cx, v);
@@ -486,85 +466,105 @@ TEST_CASE("Records")
486466 CHECK (pex3_in.p .phones == pex3_out.p .phones );
487467}
488468
489- TEST_CASE (" Variant" )
490- {
491- Heap heap (1024 * 1024 );
492- auto cx = createCallContext (&heap, Encoding::Utf8);
493-
494- using Vb = variant_t <bool_t , uint32_t >;
495- Vb vb = static_cast <uint32_t >(42 );
496- auto vvb = lower_flat (*cx, vb);
497- auto vbb = lift_flat<Vb>(*cx, vvb);
498- CHECK (vb == vbb);
499-
500- using V0 = variant_t <uint16_t , uint32_t >;
501- auto x = ValTrait<ValTrait<V0>::discriminant_type>::size;
502- V0 v0 = static_cast <uint32_t >(42 );
503- auto vv0 = lower_flat (*cx, v0);
504- auto v00 = lift_flat<V0>(*cx, vv0);
505- CHECK (v0 == v00);
506-
507- using V1 = variant_t <uint16_t , uint32_t , string_t >;
508- auto x1 = ValTrait<ValTrait<V1>::discriminant_type>::size;
509- V1 v1 = " Hello" ;
510- auto vv1 = lower_flat (*cx, v1);
511- auto v11 = lift_flat<V1>(*cx, vv1);
512- CHECK (v1 == v11);
513-
514- using V2 = variant_t <uint16_t , uint32_t , string_t , list_t <string_t >>;
515- auto x2 = ValTrait<ValTrait<V2>::discriminant_type>::size;
516- V2 v2 = list_t <string_t >{" Hello" , " World" , " !" };
517- auto vv2 = lower_flat (*cx, v2);
518- auto v22 = lift_flat<V2>(*cx, vv2);
519- CHECK (v2 == v22);
520-
521- using V3 = variant_t <uint16_t , uint32_t , string_t , list_t <string_t >, tuple_t <uint16_t , uint32_t >>;
522- auto x3 = ValTrait<ValTrait<V3>::discriminant_type>::size;
523- V3 v3 = tuple_t <uint16_t , uint32_t >{42 , 43 };
524- auto vv3 = lower_flat (*cx, v3);
525- auto v33 = lift_flat<V3>(*cx, vv3);
526- CHECK (v3 == v33);
527-
528- using V4 = variant_t <uint16_t , uint32_t , string_t , list_t <string_t >, tuple_t <uint16_t , uint32_t >, V3>;
529- auto x4 = ValTrait<ValTrait<V4>::discriminant_type>::size;
530- V4 v4 = tuple_t <uint16_t , uint32_t >{42 , 43 };
531- auto vv4 = lower_flat (*cx, v4);
532- auto v44 = lift_flat<V4>(*cx, vv4);
533- auto rr4 = std::get<tuple_t <uint16_t , uint32_t >>(v44);
534- CHECK (v4 == v44);
535-
536- using VariantList = list_t <variant_t <bool_t >>;
537- VariantList variants = {true , false };
538- auto vv5 = lower_flat (*cx, variants);
539- auto v55 = lift_flat<VariantList>(*cx, vv5);
540- CHECK (variants.size () == v55.size ());
541- auto v0_ = std::get<bool_t >(v55[0 ]);
542- auto v1_ = std::get<bool_t >(v55[1 ]);
543- CHECK (variants[0 ] == v55[0 ]);
544- CHECK (variants[1 ] == v55[1 ]);
545- CHECK (variants == v55);
546-
547- using VariantList2 = list_t <variant_t <string_t >>;
548- VariantList2 variants2 = {" Hello World1" };
549- auto vv6 = lower_flat (*cx, variants2);
550- auto v66 = lift_flat<VariantList2>(*cx, vv6);
551- CHECK (variants2 == v66);
552-
553- using VariantList3 = list_t <variant_t <string_t , uint32_t >>;
554- VariantList3 variants3 = {" Hello World2" , (uint32_t )42 };
555- auto vv7 = lower_flat (*cx, variants3);
556- auto v77 = lift_flat<VariantList3>(*cx, vv7);
557- auto d1 = std::get<string_t >(v77[0 ]);
558- auto d2v = v77[1 ];
559- auto d2 = std::get<uint32_t >(d2v);
560- CHECK (variants3 == v77);
561-
562- using VariantList4 = list_t <variant_t <string_t , uint32_t , bool_t >>;
563- VariantList4 variants4 = {" Hello World3" , (uint32_t )42 , true };
564- auto vv8 = lower_flat (*cx, variants4);
565- auto v88 = lift_flat<VariantList4>(*cx, vv8);
566- CHECK (variants4 == v88);
567- }
469+ // TEST_CASE("Variant")
470+ // {
471+ // Heap heap(1024 * 1024);
472+ // auto cx = createCallContext(&heap, Encoding::Utf8);
473+
474+ // using Vb = variant_t<bool_t, uint32_t>;
475+ // Vb vb = static_cast<uint32_t>(42);
476+ // auto vvb = lower_flat(*cx, vb);
477+ // auto vbb = lift_flat<Vb>(*cx, vvb);
478+ // CHECK(vb == vbb);
479+
480+ // using V0 = variant_t<uint16_t, uint32_t>;
481+ // auto x = ValTrait<ValTrait<V0>::discriminant_type>::size;
482+ // V0 v0 = static_cast<uint32_t>(42);
483+ // auto vv0 = lower_flat(*cx, v0);
484+ // auto v00 = lift_flat<V0>(*cx, vv0);
485+ // CHECK(v0 == v00);
486+
487+ // using V1 = variant_t<uint16_t, uint32_t, string_t>;
488+ // auto x1 = ValTrait<ValTrait<V1>::discriminant_type>::size;
489+ // V1 v1 = "Hello";
490+ // auto vv1 = lower_flat(*cx, v1);
491+ // auto v11 = lift_flat<V1>(*cx, vv1);
492+ // CHECK(v1 == v11);
493+
494+ // using V2 = variant_t<uint16_t, uint32_t, string_t, list_t<string_t>>;
495+ // auto x2 = ValTrait<ValTrait<V2>::discriminant_type>::size;
496+ // V2 v2 = list_t<string_t>{"Hello", "World", "!"};
497+ // auto vv2 = lower_flat(*cx, v2);
498+ // auto v22 = lift_flat<V2>(*cx, vv2);
499+ // CHECK(v2 == v22);
500+
501+ // using V3 = variant_t<uint16_t, uint32_t, string_t, list_t<string_t>, tuple_t<uint16_t, uint32_t>>;
502+ // auto x3 = ValTrait<ValTrait<V3>::discriminant_type>::size;
503+ // V3 v3 = tuple_t<uint16_t, uint32_t>{42, 43};
504+ // auto vv3 = lower_flat(*cx, v3);
505+ // auto v33 = lift_flat<V3>(*cx, vv3);
506+ // CHECK(v3 == v33);
507+
508+ // using V4 = variant_t<uint16_t, uint32_t, string_t, list_t<string_t>, tuple_t<uint16_t, uint32_t>, V3>;
509+ // auto x4 = ValTrait<ValTrait<V4>::discriminant_type>::size;
510+ // V4 v4 = tuple_t<uint16_t, uint32_t>{42, 43};
511+ // auto vv4 = lower_flat(*cx, v4);
512+ // auto v44 = lift_flat<V4>(*cx, vv4);
513+ // auto rr4 = std::get<tuple_t<uint16_t, uint32_t>>(v44);
514+ // CHECK(v4 == v44);
515+
516+ // using VariantList = list_t<variant_t<bool_t>>;
517+ // VariantList variants = {true, false};
518+ // auto vv5 = lower_flat(*cx, variants);
519+ // auto v55 = lift_flat<VariantList>(*cx, vv5);
520+ // CHECK(variants.size() == v55.size());
521+ // auto v0_ = std::get<bool_t>(v55[0]);
522+ // auto v1_ = std::get<bool_t>(v55[1]);
523+ // CHECK(variants[0] == v55[0]);
524+ // CHECK(variants[1] == v55[1]);
525+ // CHECK(variants == v55);
526+
527+ // using VariantList2 = list_t<variant_t<string_t>>;
528+ // VariantList2 variants2 = {"Hello World1"};
529+ // auto vv6 = lower_flat(*cx, variants2);
530+ // auto v66 = lift_flat<VariantList2>(*cx, vv6);
531+ // CHECK(variants2 == v66);
532+
533+ // using VariantList3 = list_t<variant_t<string_t, uint32_t>>;
534+ // VariantList3 variants3 = {"Hello World2", (uint32_t)42};
535+ // auto vv7 = lower_flat(*cx, variants3);
536+ // auto v77 = lift_flat<VariantList3>(*cx, vv7);
537+ // auto d1 = std::get<string_t>(v77[0]);
538+ // auto d2v = v77[1];
539+ // auto d2 = std::get<uint32_t>(d2v);
540+ // CHECK(variants3 == v77);
541+
542+ // using VariantList4 = list_t<variant_t<string_t, uint32_t, bool_t>>;
543+ // VariantList4 variants4 = {"Hello World3", (uint32_t)42, true};
544+ // auto vv8 = lower_flat(*cx, variants4);
545+ // auto v88 = lift_flat<VariantList4>(*cx, vv8);
546+ // CHECK(variants4 == v88);
547+
548+ // using VariantList3 = list_t<variant_t<string_t, uint32_t>>;
549+ // VariantList3 variants3 = {"Hello World2", (uint32_t)42};
550+ // auto vv7 = lower_flat(*cx, variants3);
551+ // auto v77 = lift_flat<VariantList3>(*cx, vv7);
552+ // auto d1 = std::get<string_t>(v77[0]);
553+ // auto d2v = v77[1];
554+ // auto d2 = std::get<uint32_t>(d2v);
555+ // CHECK(variants3 == v77);
556+
557+ // using VariantList = list_t<variant_t<bool_t>>;
558+ // VariantList variants = {true, false};
559+ // auto vv5 = lower_flat(*cx, variants);
560+ // auto v55 = lift_flat<VariantList>(*cx, vv5);
561+ // CHECK(variants.size() == v55.size());
562+ // auto v0_ = std::get<bool_t>(v55[0]);
563+ // auto v1_ = std::get<bool_t>(v55[1]);
564+ // CHECK(variants[0] == v55[0]);
565+ // CHECK(variants[1] == v55[1]);
566+ // CHECK(variants == v55);
567+ // }
568568
569569TEST_CASE (" Option" )
570570{
0 commit comments