summaryrefslogtreecommitdiff
path: root/compiler/GHC/Core/Lint.hs
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2020-06-26 23:47:50 +0100
committerSimon Peyton Jones <simonpj@microsoft.com>2020-06-26 23:47:50 +0100
commit78ea359de4d56802cc7f388521f2af7c065b7ea3 (patch)
treef37e30d8377cedbb797cbe18d4c3c1ed4ddcbcb9 /compiler/GHC/Core/Lint.hs
parenta3d69dc6c2134afe239caf4f881ba5542d2c2be0 (diff)
downloadhaskell-wip/T18399.tar.gz
Fix a typo in Lintwip/T18399
This simple error in GHC.Core.Litn.lintJoinLams meant that Lint reported bogus errors. Fixes #18399
Diffstat (limited to 'compiler/GHC/Core/Lint.hs')
-rw-r--r--compiler/GHC/Core/Lint.hs14
1 files changed, 7 insertions, 7 deletions
diff --git a/compiler/GHC/Core/Lint.hs b/compiler/GHC/Core/Lint.hs
index 85f490f68b..2b98c6c7ff 100644
--- a/compiler/GHC/Core/Lint.hs
+++ b/compiler/GHC/Core/Lint.hs
@@ -727,15 +727,15 @@ lintJoinLams :: JoinArity -> Maybe Id -> CoreExpr -> LintM (LintedType, UsageEnv
lintJoinLams join_arity enforce rhs
= go join_arity rhs
where
- go 0 rhs = lintCoreExpr rhs
- go n (Lam var expr) = lintLambda var $ go (n-1) expr
+ go 0 expr = lintCoreExpr expr
+ go n (Lam var body) = lintLambda var $ go (n-1) body
-- N.B. join points can be cast. e.g. we consider ((\x -> ...) `cast` ...)
-- to be a join point at join arity 1.
- go n _other | Just bndr <- enforce -- Join point with too few RHS lambdas
- = failWithL $ mkBadJoinArityMsg bndr join_arity n rhs
- | otherwise -- Future join point, not yet eta-expanded
- = markAllJoinsBad $ lintCoreExpr rhs
- -- Body of lambda is not a tail position
+ go n expr | Just bndr <- enforce -- Join point with too few RHS lambdas
+ = failWithL $ mkBadJoinArityMsg bndr join_arity n rhs
+ | otherwise -- Future join point, not yet eta-expanded
+ = markAllJoinsBad $ lintCoreExpr expr
+ -- Body of lambda is not a tail position
lintIdUnfolding :: Id -> Type -> Unfolding -> LintM ()
lintIdUnfolding bndr bndr_ty uf