@@ -193,7 +193,7 @@ impl TypeInference {
193193 }
194194
195195 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 ) ?) )
197197 }
198198
199199 // TODO maybe return void
@@ -786,11 +786,7 @@ mod tests {
786786 let e = parser. parse ( ) ;
787787 let mut ti = TypeInference :: new ( ) ;
788788 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 ) ;
794790 }
795791
796792 #[ test]
@@ -803,11 +799,7 @@ mod tests {
803799 let e = parser. parse ( ) ;
804800 let mut ti = TypeInference :: new ( ) ;
805801 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 ) ;
811803 }
812804
813805 #[ test]
@@ -820,11 +812,7 @@ mod tests {
820812 let e = parser. parse ( ) ;
821813 let mut ti = TypeInference :: new ( ) ;
822814 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 ) ;
828816 }
829817
830818 #[ test]
@@ -837,11 +825,7 @@ mod tests {
837825 let e = parser. parse ( ) ;
838826 let mut ti = TypeInference :: new ( ) ;
839827 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 ) ;
845829 }
846830
847831 #[ test]
@@ -854,11 +838,7 @@ mod tests {
854838 let e = parser. parse ( ) ;
855839 let mut ti = TypeInference :: new ( ) ;
856840 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 ) ;
862842 }
863843
864844 #[ test]
@@ -871,11 +851,7 @@ mod tests {
871851 let e = parser. parse ( ) ;
872852 let mut ti = TypeInference :: new ( ) ;
873853 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 ) ;
879855 }
880856
881857 #[ test]
@@ -888,11 +864,7 @@ mod tests {
888864 let e = parser. parse ( ) ;
889865 let mut ti = TypeInference :: new ( ) ;
890866 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 ) ;
896868 }
897869
898870 #[ test]
@@ -905,11 +877,7 @@ mod tests {
905877 let e = parser. parse ( ) ;
906878 let mut ti = TypeInference :: new ( ) ;
907879 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 ) ;
913881 }
914882
915883 #[ test]
@@ -922,11 +890,7 @@ mod tests {
922890 let e = parser. parse ( ) ;
923891 let mut ti = TypeInference :: new ( ) ;
924892 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 ) ;
930894 }
931895
932896 #[ test]
@@ -968,7 +932,7 @@ mod tests {
968932 let e = parser. parse ( ) ;
969933 let mut ti = TypeInference :: new ( ) ;
970934 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 {
972936 ty : type_ast:: Type :: Nothing ,
973937 expr : type_ast:: TypeExpr_ :: Let ( type_ast:: Let {
974938 decls : vec ! [ type_ast:: TypeDecl :: Type ( type_ast:: TyDecl {
@@ -1005,7 +969,7 @@ mod tests {
1005969 let e = dbg ! ( parser. parse( ) ) ;
1006970 let mut ti = TypeInference :: new ( ) ;
1007971 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 {
1009973 ty : type_ast:: Type :: Int ,
1010974 expr : type_ast:: TypeExpr_ :: Let ( type_ast:: Let {
1011975 decls : vec ! [ type_ast:: TypeDecl :: Func ( type_ast:: FuncDecl {
0 commit comments