@@ -193,7 +193,7 @@ impl TypeInference {
193
193
}
194
194
195
195
pub fn infer ( & mut self , ast : & ast:: Ast ) -> Result < type_ast:: TypeAst > {
196
- Ok ( type_ast:: TypeAst :: TypeExpr ( self . infer_expr ( & ast. 0 ) ?) )
196
+ Ok ( type_ast:: TypeAst ( self . infer_expr ( & ast. 0 ) ?) )
197
197
}
198
198
199
199
// TODO maybe return void
@@ -786,11 +786,7 @@ mod tests {
786
786
let e = parser. parse ( ) ;
787
787
let mut ti = TypeInference :: new ( ) ;
788
788
let te = ti. infer ( & e) . unwrap ( ) ;
789
- if let type_ast:: TypeAst :: TypeExpr ( te) = te {
790
- assert_eq ! ( te. ty, type_ast:: Type :: Nothing ) ;
791
- } else {
792
- panic ! ( "Unexpected decl." ) ;
793
- }
789
+ assert_eq ! ( te. 0 . ty, type_ast:: Type :: Nothing ) ;
794
790
}
795
791
796
792
#[ test]
@@ -803,11 +799,7 @@ mod tests {
803
799
let e = parser. parse ( ) ;
804
800
let mut ti = TypeInference :: new ( ) ;
805
801
let te = ti. infer ( & e) . unwrap ( ) ;
806
- if let type_ast:: TypeAst :: TypeExpr ( te) = te {
807
- assert_eq ! ( te. ty, type_ast:: Type :: Nil ) ;
808
- } else {
809
- panic ! ( "Unexpected decl." ) ;
810
- }
802
+ assert_eq ! ( te. 0 . ty, type_ast:: Type :: Nil ) ;
811
803
}
812
804
813
805
#[ test]
@@ -820,11 +812,7 @@ mod tests {
820
812
let e = parser. parse ( ) ;
821
813
let mut ti = TypeInference :: new ( ) ;
822
814
let te = ti. infer ( & e) . unwrap ( ) ;
823
- if let type_ast:: TypeAst :: TypeExpr ( te) = te {
824
- assert_eq ! ( te. ty, type_ast:: Type :: Int ) ;
825
- } else {
826
- panic ! ( "Unexpected decl." ) ;
827
- }
815
+ assert_eq ! ( te. 0 . ty, type_ast:: Type :: Int ) ;
828
816
}
829
817
830
818
#[ test]
@@ -837,11 +825,7 @@ mod tests {
837
825
let e = parser. parse ( ) ;
838
826
let mut ti = TypeInference :: new ( ) ;
839
827
let te = ti. infer ( & e) . unwrap ( ) ;
840
- if let type_ast:: TypeAst :: TypeExpr ( te) = te {
841
- assert_eq ! ( te. ty, type_ast:: Type :: Int ) ;
842
- } else {
843
- panic ! ( "Unexpected decl." ) ;
844
- }
828
+ assert_eq ! ( te. 0 . ty, type_ast:: Type :: Int ) ;
845
829
}
846
830
847
831
#[ test]
@@ -854,11 +838,7 @@ mod tests {
854
838
let e = parser. parse ( ) ;
855
839
let mut ti = TypeInference :: new ( ) ;
856
840
let te = ti. infer ( & e) . unwrap ( ) ;
857
- if let type_ast:: TypeAst :: TypeExpr ( te) = te {
858
- assert_eq ! ( te. ty, type_ast:: Type :: Int ) ;
859
- } else {
860
- panic ! ( "Unexpected decl." ) ;
861
- }
841
+ assert_eq ! ( te. 0 . ty, type_ast:: Type :: Int ) ;
862
842
}
863
843
864
844
#[ test]
@@ -871,11 +851,7 @@ mod tests {
871
851
let e = parser. parse ( ) ;
872
852
let mut ti = TypeInference :: new ( ) ;
873
853
let te = ti. infer ( & e) . unwrap ( ) ;
874
- if let type_ast:: TypeAst :: TypeExpr ( te) = te {
875
- assert_eq ! ( te. ty, type_ast:: Type :: Int ) ;
876
- } else {
877
- panic ! ( "Unexpected decl." ) ;
878
- }
854
+ assert_eq ! ( te. 0 . ty, type_ast:: Type :: Int ) ;
879
855
}
880
856
881
857
#[ test]
@@ -888,11 +864,7 @@ mod tests {
888
864
let e = parser. parse ( ) ;
889
865
let mut ti = TypeInference :: new ( ) ;
890
866
let te = ti. infer ( & e) . unwrap ( ) ;
891
- if let type_ast:: TypeAst :: TypeExpr ( te) = te {
892
- assert_eq ! ( te. ty, type_ast:: Type :: Int ) ;
893
- } else {
894
- panic ! ( "Unexpected decl." ) ;
895
- }
867
+ assert_eq ! ( te. 0 . ty, type_ast:: Type :: Int ) ;
896
868
}
897
869
898
870
#[ test]
@@ -905,11 +877,7 @@ mod tests {
905
877
let e = parser. parse ( ) ;
906
878
let mut ti = TypeInference :: new ( ) ;
907
879
let te = ti. infer ( & e) . unwrap ( ) ;
908
- if let type_ast:: TypeAst :: TypeExpr ( te) = te {
909
- assert_eq ! ( te. ty, type_ast:: Type :: Nothing ) ;
910
- } else {
911
- panic ! ( "Unexpected decl." ) ;
912
- }
880
+ assert_eq ! ( te. 0 . ty, type_ast:: Type :: Nothing ) ;
913
881
}
914
882
915
883
#[ test]
@@ -922,11 +890,7 @@ mod tests {
922
890
let e = parser. parse ( ) ;
923
891
let mut ti = TypeInference :: new ( ) ;
924
892
let te = ti. infer ( & e) . unwrap ( ) ;
925
- if let type_ast:: TypeAst :: TypeExpr ( te) = te {
926
- assert_eq ! ( te. ty, type_ast:: Type :: Nothing ) ;
927
- } else {
928
- panic ! ( "Unexpected decl." ) ;
929
- }
893
+ assert_eq ! ( te. 0 . ty, type_ast:: Type :: Nothing ) ;
930
894
}
931
895
932
896
#[ test]
@@ -968,7 +932,7 @@ mod tests {
968
932
let e = parser. parse ( ) ;
969
933
let mut ti = TypeInference :: new ( ) ;
970
934
let te = ti. infer ( & e) . unwrap ( ) ;
971
- let expected = type_ast:: TypeAst :: TypeExpr ( type_ast:: TypeExpr {
935
+ let expected = type_ast:: TypeAst ( type_ast:: TypeExpr {
972
936
ty : type_ast:: Type :: Nothing ,
973
937
expr : type_ast:: TypeExpr_ :: Let ( type_ast:: Let {
974
938
decls : vec ! [ type_ast:: TypeDecl :: Type ( type_ast:: TyDecl {
@@ -1005,7 +969,7 @@ mod tests {
1005
969
let e = dbg ! ( parser. parse( ) ) ;
1006
970
let mut ti = TypeInference :: new ( ) ;
1007
971
let te = ti. infer ( & e) . unwrap ( ) ;
1008
- let expected = type_ast:: TypeAst :: TypeExpr ( type_ast:: TypeExpr {
972
+ let expected = type_ast:: TypeAst ( type_ast:: TypeExpr {
1009
973
ty : type_ast:: Type :: Int ,
1010
974
expr : type_ast:: TypeExpr_ :: Let ( type_ast:: Let {
1011
975
decls : vec ! [ type_ast:: TypeDecl :: Func ( type_ast:: FuncDecl {
0 commit comments