diff options
author | Alan Zimmerman <alan.zimm@gmail.com> | 2021-05-16 14:58:45 +0100 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2021-05-23 02:07:36 -0400 |
commit | 406cd90b8863da640a9835d5d9972fff1c18dcd7 (patch) | |
tree | 7b287e1ce76efbbe9910734d4f4b5d7952815251 /compiler/GHC/ThToHs.hs | |
parent | 0b1eed74e8ad5194152ed656ac3e4a547726b70a (diff) | |
download | haskell-406cd90b8863da640a9835d5d9972fff1c18dcd7.tar.gz |
EPA: AnnAt missing for type application in patterns
Ensure that the exact print annotations accurately record the `@` for
code like
tyApp :: Con k a -> Proxy a
tyApp (Con @kx @ax (x :: Proxy ax)) = x :: Proxy (ax :: kx)
Closes #19850
Diffstat (limited to 'compiler/GHC/ThToHs.hs')
-rw-r--r-- | compiler/GHC/ThToHs.hs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/compiler/GHC/ThToHs.hs b/compiler/GHC/ThToHs.hs index fa558f41ae..f2f9695109 100644 --- a/compiler/GHC/ThToHs.hs +++ b/compiler/GHC/ThToHs.hs @@ -874,7 +874,7 @@ cvtRuleBndr (RuleVar n) cvtRuleBndr (TypedRuleVar n ty) = do { n' <- vNameN n ; ty' <- cvtType ty - ; return $ noLoc $ Hs.RuleBndrSig noAnn n' $ mkHsPatSigType ty' } + ; return $ noLoc $ Hs.RuleBndrSig noAnn n' $ mkHsPatSigType noAnn ty' } --------------------------------------------------- -- Declarations @@ -1318,7 +1318,7 @@ cvtp (ConP s ts ps) = do { s' <- cNameN s ; return $ ConPat { pat_con_ext = noAnn , pat_con = s' - , pat_args = PrefixCon (map mkHsPatSigType ts') pps + , pat_args = PrefixCon (map (mkHsPatSigType noAnn) ts') pps } } cvtp (InfixP p1 s p2) = do { s' <- cNameN s; p1' <- cvtPat p1; p2' <- cvtPat p2 @@ -1353,7 +1353,7 @@ cvtp (ListP ps) = do { ps' <- cvtPats ps ; return $ ListPat noAnn ps'} cvtp (SigP p t) = do { p' <- cvtPat p; t' <- cvtType t - ; return $ SigPat noAnn p' (mkHsPatSigType t') } + ; return $ SigPat noAnn p' (mkHsPatSigType noAnn t') } cvtp (ViewP e p) = do { e' <- cvtl e; p' <- cvtPat p ; return $ ViewPat noAnn e' p'} |