@@ -643,6 +643,7 @@ fn foo(a: MyEnum) -> felt252 {
643643foo
644644
645645//! > module_code
646+ #[derive(Drop)]
646647enum MyEnum {
647648    A: felt252,
648649    B,
@@ -658,36 +659,12 @@ Parameters: v0: test::MyEnum
658659blk0 (root):
659660Statements:
660661  (v1: core::felt252) <- 0
662+   (v2: core::felt252) <- 5
663+   (v3: core::felt252) <- core::felt252_add(v1, v2)
664+   (v4: core::felt252) <- 1
665+   (v5: core::felt252) <- core::felt252_add(v3, v4)
661666End:
662-   Match(match_enum(v0) {
663-     MyEnum::A(v2) => blk1,
664-     MyEnum::B(v3) => blk2,
665-     MyEnum::C(v4) => blk3,
666-   })
667- 
668- blk1:
669- Statements:
670- End:
671-   Goto(blk4, {})
672- 
673- blk2:
674- Statements:
675- End:
676-   Goto(blk4, {})
677- 
678- blk3:
679- Statements:
680- End:
681-   Goto(blk4, {})
682- 
683- blk4:
684- Statements:
685-   (v5: core::felt252) <- 5
686-   (v6: core::felt252) <- core::felt252_add(v1, v5)
687-   (v7: core::felt252) <- 1
688-   (v8: core::felt252) <- core::felt252_add(v6, v7)
689- End:
690-   Return(v8)
667+   Return(v5)
691668
692669//! > ==========================================================================
693670
@@ -712,6 +689,7 @@ fn foo(a: MyEnum) -> felt252 {
712689foo
713690
714691//! > module_code
692+ #[derive(Drop)]
715693enum MyEnum {
716694    A: felt252,
717695    B,
@@ -721,8 +699,8 @@ enum MyEnum {
721699//! > semantic_diagnostics
722700
723701//! > lowering_diagnostics
724- warning: Unreachable else  clause.
725-  --> lib.cairo:10 :12-12 :5
702+ warning: Unreachable clause.
703+  --> lib.cairo:11 :12-13 :5
726704      } else {
727705 ____________^
728706|         y = y + 8;
@@ -734,36 +712,12 @@ Parameters: v0: test::MyEnum
734712blk0 (root):
735713Statements:
736714  (v1: core::felt252) <- 0
715+   (v2: core::felt252) <- 5
716+   (v3: core::felt252) <- core::felt252_add(v1, v2)
717+   (v4: core::felt252) <- 1
718+   (v5: core::felt252) <- core::felt252_add(v3, v4)
737719End:
738-   Match(match_enum(v0) {
739-     MyEnum::A(v2) => blk1,
740-     MyEnum::B(v3) => blk2,
741-     MyEnum::C(v4) => blk3,
742-   })
743- 
744- blk1:
745- Statements:
746- End:
747-   Goto(blk4, {})
748- 
749- blk2:
750- Statements:
751- End:
752-   Goto(blk4, {})
753- 
754- blk3:
755- Statements:
756- End:
757-   Goto(blk4, {})
758- 
759- blk4:
760- Statements:
761-   (v5: core::felt252) <- 5
762-   (v6: core::felt252) <- core::felt252_add(v1, v5)
763-   (v7: core::felt252) <- 1
764-   (v8: core::felt252) <- core::felt252_add(v6, v7)
765- End:
766-   Return(v8)
720+   Return(v5)
767721
768722//! > ==========================================================================
769723
@@ -788,6 +742,7 @@ fn foo(a: MyStruct) -> felt252 {
788742foo
789743
790744//! > module_code
745+ #[derive(Drop)]
791746struct MyStruct {
792747    A: felt252,
793748    B: felt252,
@@ -848,27 +803,9 @@ enum MyEnum {
848803Parameters: v0: test::MyEnum
849804blk0 (root):
850805Statements:
806+   (v1: core::felt252) <- 2
851807End:
852-   Match(match_enum(v0) {
853-     MyEnum::A(v1) => blk1,
854-     MyEnum::B(v2) => blk2,
855-   })
856- 
857- blk1:
858- Statements:
859- End:
860-   Goto(blk3, {})
861- 
862- blk2:
863- Statements:
864- End:
865-   Goto(blk3, {})
866- 
867- blk3:
868- Statements:
869-   (v3: core::felt252) <- 2
870- End:
871-   Return(v3)
808+   Return(v1)
872809
873810//! > ==========================================================================
874811
897834//! > semantic_diagnostics
898835
899836//! > lowering_diagnostics
900- warning: Unreachable else  clause.
837+ warning: Unreachable clause.
901838 --> lib.cairo:5:12-7:5
902839      } else {
903840 ____________^
0 commit comments