diff options
author | Erik Svedäng <erik@coherence.io> | 2021-10-12 15:35:52 +0200 |
---|---|---|
committer | Erik Svedäng <erik@coherence.io> | 2021-10-12 15:36:11 +0200 |
commit | a2731eaeccefa4ab0eca6f83dd0b3beefa335aac (patch) | |
tree | 4dc0bbe87590b5e4ee59e4f03499028231317e55 | |
parent | 998948ec6bda50f4dd414c48a3ab34b408411e8c (diff) |
fix: use StaticLifetimeTy to avoid duplicate function types (solves #1318)fix-1318
-rw-r--r-- | src/GenerateConstraints.hs | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/GenerateConstraints.hs b/src/GenerateConstraints.hs index 9fe9cbe7..be95b57c 100644 --- a/src/GenerateConstraints.hs +++ b/src/GenerateConstraints.hs @@ -246,7 +246,7 @@ genConstraints _ root rootSig = fmap sort (gen root) retConstraint = Constraint xobjTy' retTy xobj func xobj OrdFuncAppRet in pure (retConstraint : funcConstraints ++ argConstraints ++ variablesConstraints) funcVarTy@(VarTy _) -> - let fabricatedFunctionType = FuncTy (List.map forceTy args) (forceTy xobj) (VarTy "what?!") + let fabricatedFunctionType = FuncTy (List.map forceTy args) (forceTy xobj) StaticLifetimeTy expected = XObj (Sym (SymPath [] ("Calling '" ++ getName func ++ "'")) Symbol) (xobjInfo func) Nothing wholeTypeConstraint = Constraint funcVarTy fabricatedFunctionType func expected xobj OrdFuncAppVarTy in pure (wholeTypeConstraint : funcConstraints ++ variablesConstraints) @@ -321,7 +321,7 @@ genConstraintsForCaseMatcher matchMode = gen retConstraint = Constraint xobjTy' retTy xobj caseName xobj OrdFuncAppRet in pure (retConstraint : caseNameConstraints ++ argConstraints ++ variablesConstraints) funcVarTy@(VarTy _) -> - let fabricatedFunctionType = FuncTy (List.map forceTy variables) (forceTy xobj) (VarTy "what?!") -- TODO: Fix + let fabricatedFunctionType = FuncTy (List.map forceTy variables) (forceTy xobj) StaticLifetimeTy expected = XObj (Sym (SymPath [] ("Matchin on '" ++ getName caseName ++ "'")) Symbol) (xobjInfo caseName) Nothing wholeTypeConstraint = Constraint funcVarTy fabricatedFunctionType caseName expected xobj OrdFuncAppVarTy in pure (wholeTypeConstraint : caseNameConstraints ++ variablesConstraints) |