File tree Expand file tree Collapse file tree
src/Language/PureScript/TypeChecker Expand file tree Collapse file tree Original file line number Diff line number Diff line change 3737- Let bindings can now define functions with binders (paf31)
3838- Case statements and functions which do not pattern match on their arguments now generate smaller code (paf31)
3939- Imported type class instances are now exported (paf31)
40+ - Some error messages were improved (paf31)
4041
4142### Bug Fixes
4243
Original file line number Diff line number Diff line change @@ -118,6 +118,9 @@ unifyTypes t1 t2 = rethrow (\e -> "Error unifying type " ++ prettyPrintType t1 +
118118 unifyTypes' r1 r2@ RCons {} = unifyRows r1 r2
119119 unifyTypes' r1@ REmpty r2 = unifyRows r1 r2
120120 unifyTypes' r1 r2@ REmpty = unifyRows r1 r2
121+ unifyTypes' t@ (ConstrainedType _ _) _ = throwError $ " Attempted to unify a constrained type " ++ prettyPrintType t ++
122+ " with another type."
123+ unifyTypes' t3 t4@ (ConstrainedType _ _) = unifyTypes' t4 t3
121124 unifyTypes' t3 t4 = throwError $ " Cannot unify " ++ prettyPrintType t3 ++ " with " ++ prettyPrintType t4 ++ " ."
122125
123126-- |
@@ -321,7 +324,7 @@ escapeCheck value ty = do
321324 let allUnknowns = findAllTypes value
322325 forM_ allUnknowns $ \ t -> do
323326 let unsolvedUnknowns = nub . unknowns $ subst $? t
324- guardWith " Escape check fails " $ null $ unsolvedUnknowns \\ visibleUnknowns
327+ guardWith " An unsolved type variable disappeared during type checking. " $ null $ unsolvedUnknowns \\ visibleUnknowns
325328
326329-- |
327330-- Find all type annotations occuring inside a value
You can’t perform that action at this time.
0 commit comments