diff options
author | Krzysztof Gogolewski <krzysztof.gogolewski@tweag.io> | 2021-06-19 21:44:17 +0200 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2021-06-24 20:35:56 -0400 |
commit | 4d5967b5148d5502d7c53a5a321919779c3165e4 (patch) | |
tree | 7348b3ae363486350fc0be24f9138be5362be9d3 /compiler/GHC/Tc/Types | |
parent | 138b7a5775251c330ade870a0b8d1f5c4659e669 (diff) | |
download | haskell-4d5967b5148d5502d7c53a5a321919779c3165e4.tar.gz |
Fixes around incomplete guards (#20023, #20024)
- Fix linearity error with incomplete MultiWayIf (#20023)
- Fix partial pattern binding error message (#20024)
- Remove obsolete test LinearPolyTest
It tested the special typing rule for ($), which was removed
during the implementation of Quick Look 97cff9190d3.
- Fix ticket numbers in linear/*/all.T, they referred to linear types
issue tracker
Diffstat (limited to 'compiler/GHC/Tc/Types')
-rw-r--r-- | compiler/GHC/Tc/Types/EvTerm.hs | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/compiler/GHC/Tc/Types/EvTerm.hs b/compiler/GHC/Tc/Types/EvTerm.hs index 19afec031a..ad380ec0a2 100644 --- a/compiler/GHC/Tc/Types/EvTerm.hs +++ b/compiler/GHC/Tc/Types/EvTerm.hs @@ -13,34 +13,27 @@ import GHC.Tc.Types.Evidence import GHC.Unit import GHC.Builtin.Names -import GHC.Builtin.Types ( liftedRepTy, unitTy ) +import GHC.Builtin.Types ( unitTy ) import GHC.Core.Type import GHC.Core import GHC.Core.Make import GHC.Core.Utils -import GHC.Types.Literal ( Literal(..) ) import GHC.Types.SrcLoc import GHC.Types.Name import GHC.Types.TyThing -import GHC.Data.FastString - -- Used with Opt_DeferTypeErrors -- See Note [Deferring coercion errors to runtime] -- in GHC.Tc.Solver -evDelayedError :: Type -> FastString -> EvTerm +evDelayedError :: Type -> String -> EvTerm evDelayedError ty msg = EvExpr $ - let fail_expr = Var errorId `mkTyApps` [liftedRepTy, unitTy] `mkApps` [litMsg] + let fail_expr = mkRuntimeErrorApp tYPE_ERROR_ID unitTy msg in mkWildCase fail_expr (unrestricted unitTy) ty [] -- See Note [Incompleteness and linearity] in GHC.HsToCore.Utils - -- c.f. mkFailExpr in GHC.HsToCore.Utils - - where - errorId = tYPE_ERROR_ID - litMsg = Lit (LitString (bytesFS msg)) + -- c.f. mkErrorAppDs in GHC.HsToCore.Utils -- Dictionary for CallStack implicit parameters evCallStack :: (MonadThings m, HasModule m, HasDynFlags m) => |