summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKrzysztof Gogolewski <krzysztof.gogolewski@tweag.io>2020-09-27 22:03:07 +0200
committerVladislav Zavialov <vlad.z.4096@gmail.com>2020-09-30 01:05:27 +0300
commit93df442a7d16b6a87d3a73166a557ae7953e65f0 (patch)
treeb493b8d734669f93dcc89c7809a5e3ada4a6cc35
parent90fe5cffb0b0ba1ff86b8b9bf5299d0ed8437ad7 (diff)
downloadhaskell-93df442a7d16b6a87d3a73166a557ae7953e65f0.tar.gz
Linear types: fix kind inference when checking datacons
(cherry picked from b31a3360e2ef12f3ec7eaf66b3600247c1eb36c3)
-rw-r--r--compiler/GHC/Tc/TyCl.hs4
1 files changed, 3 insertions, 1 deletions
diff --git a/compiler/GHC/Tc/TyCl.hs b/compiler/GHC/Tc/TyCl.hs
index 4ad0da6292..d62d2cc9db 100644
--- a/compiler/GHC/Tc/TyCl.hs
+++ b/compiler/GHC/Tc/TyCl.hs
@@ -1563,7 +1563,9 @@ kcTyClDecl (FamDecl _ (FamilyDecl { fdInfo = fd_info })) fam_tc
kcConArgTys :: NewOrData -> Kind -> [HsScaled GhcRn (LHsType GhcRn)] -> TcM ()
kcConArgTys new_or_data res_kind arg_tys = do
{ let exp_kind = getArgExpKind new_or_data res_kind
- ; mapM_ (flip tcCheckLHsType exp_kind . getBangType . hsScaledThing) arg_tys
+ ; forM_ arg_tys (\(HsScaled mult ty) -> do _ <- tcCheckLHsType (getBangType ty) exp_kind
+ tcMult mult)
+
-- See Note [Implementation of UnliftedNewtypes], STEP 2
}