@@ -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