@@ -643,6 +643,7 @@ fn foo(a: MyEnum) -> felt252 {
643
643
foo
644
644
645
645
//! > module_code
646
+ #[derive(Drop)]
646
647
enum MyEnum {
647
648
A: felt252,
648
649
B,
@@ -658,36 +659,12 @@ Parameters: v0: test::MyEnum
658
659
blk0 (root):
659
660
Statements:
660
661
(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)
661
666
End:
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)
691
668
692
669
//! > ==========================================================================
693
670
@@ -712,6 +689,7 @@ fn foo(a: MyEnum) -> felt252 {
712
689
foo
713
690
714
691
//! > module_code
692
+ #[derive(Drop)]
715
693
enum MyEnum {
716
694
A: felt252,
717
695
B,
@@ -721,8 +699,8 @@ enum MyEnum {
721
699
//! > semantic_diagnostics
722
700
723
701
//! > 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
726
704
} else {
727
705
____________^
728
706
| y = y + 8;
@@ -734,36 +712,12 @@ Parameters: v0: test::MyEnum
734
712
blk0 (root):
735
713
Statements:
736
714
(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)
737
719
End:
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)
767
721
768
722
//! > ==========================================================================
769
723
@@ -788,6 +742,7 @@ fn foo(a: MyStruct) -> felt252 {
788
742
foo
789
743
790
744
//! > module_code
745
+ #[derive(Drop)]
791
746
struct MyStruct {
792
747
A: felt252,
793
748
B: felt252,
@@ -848,27 +803,9 @@ enum MyEnum {
848
803
Parameters: v0: test::MyEnum
849
804
blk0 (root):
850
805
Statements:
806
+ (v1: core::felt252) <- 2
851
807
End:
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)
872
809
873
810
//! > ==========================================================================
874
811
897
834
//! > semantic_diagnostics
898
835
899
836
//! > lowering_diagnostics
900
- warning: Unreachable else clause.
837
+ warning: Unreachable clause.
901
838
--> lib.cairo:5:12-7:5
902
839
} else {
903
840
____________^
0 commit comments