diff options
Diffstat (limited to 'compiler/GHC/ThToHs.hs')
-rw-r--r-- | compiler/GHC/ThToHs.hs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/compiler/GHC/ThToHs.hs b/compiler/GHC/ThToHs.hs index 5ba99fe7ac..622ad140d1 100644 --- a/compiler/GHC/ThToHs.hs +++ b/compiler/GHC/ThToHs.hs @@ -1784,7 +1784,7 @@ mk_apps head_ty type_args = do HsValArg ty -> do p_ty <- add_parens ty mk_apps (HsAppTy noExtField phead_ty p_ty) args HsTypeArg l ki -> do p_ki <- add_parens ki - mk_apps (HsAppKindTy l phead_ty p_ki) args + mk_apps (HsAppKindTy noExtField phead_ty l p_ki) args HsArgPar _ -> mk_apps (HsParTy noAnn phead_ty) args go type_args @@ -1829,8 +1829,10 @@ split_ty_app ty = go ty [] where go (AppT f a) as' = do { a' <- cvtType a; go f (HsValArg a':as') } go (AppKindT ty ki) as' = do { ki' <- cvtKind ki - ; go ty (HsTypeArg noSrcSpan ki':as') } - go (ParensT t) as' = do { loc <- getL; go t (HsArgPar loc: as') } + ; go ty (HsTypeArg noHsTok ki':as') } + go (ParensT t) as' = do { loc <- getL + ; go t $ HsArgPar (L (mkTokenLocation loc) HsTok) : as' + } go f as = return (f,as) cvtTyLit :: TH.TyLit -> HsTyLit (GhcPass p) |