diff options
author | romes <rodrigo.m.mesquita@gmail.com> | 2022-03-10 20:02:36 +0000 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2022-03-18 05:10:58 -0400 |
commit | 310890a51372937afa69e1edac1179eba67ac046 (patch) | |
tree | a69e155c1f7bf29d3a2a4c5d2f0c394e1dfdf06f /compiler/GHC/Tc/Deriv/Generate.hs | |
parent | 19163397000ae3ce9886a75bef900d35774d864e (diff) | |
download | haskell-310890a51372937afa69e1edac1179eba67ac046.tar.gz |
Separate constructors for typed and untyped brackets
Split HsBracket into HsTypedBracket and HsUntypedBracket.
Unfortunately, we still cannot get rid of
instance XXTypedBracket GhcTc = HsTypedBracket GhcRn
despite no longer requiring it for typechecking, but rather because the
TH desugarer works on GhcRn rather than GhcTc (See GHC.HsToCore.Quote)
Diffstat (limited to 'compiler/GHC/Tc/Deriv/Generate.hs')
-rw-r--r-- | compiler/GHC/Tc/Deriv/Generate.hs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/compiler/GHC/Tc/Deriv/Generate.hs b/compiler/GHC/Tc/Deriv/Generate.hs index d61ad20707..526c18706a 100644 --- a/compiler/GHC/Tc/Deriv/Generate.hs +++ b/compiler/GHC/Tc/Deriv/Generate.hs @@ -1630,12 +1630,12 @@ gen_Lift_binds loc (DerivInstTys{ dit_rep_tc = tycon (listToBag [lift_bind, liftTyped_bind], emptyBag) where lift_bind = mkFunBindEC 1 loc lift_RDR (nlHsApp pure_Expr) - (map (pats_etc mk_exp mk_usplice liftName) data_cons) + (map (pats_etc mk_untyped_bracket mk_usplice liftName) data_cons) liftTyped_bind = mkFunBindEC 1 loc liftTyped_RDR (nlHsApp unsafeCodeCoerce_Expr . nlHsApp pure_Expr) - (map (pats_etc mk_texp mk_tsplice liftTypedName) data_cons) + (map (pats_etc mk_typed_bracket mk_tsplice liftTypedName) data_cons) - mk_exp = ExpBr noExtField - mk_texp = TExpBr noExtField + mk_untyped_bracket = HsUntypedBracket noAnn . ExpBr noExtField + mk_typed_bracket = HsTypedBracket noAnn . TExpBr noExtField mk_usplice = HsUntypedSplice EpAnnNotUsed DollarSplice mk_tsplice = HsTypedSplice EpAnnNotUsed DollarSplice @@ -1648,7 +1648,7 @@ gen_Lift_binds loc (DerivInstTys{ dit_rep_tc = tycon data_con_RDR = getRdrName data_con con_arity = dataConSourceArity data_con as_needed = take con_arity as_RDRs - lift_Expr = noLocA (HsBracket noAnn (mk_bracket br_body)) + lift_Expr = noLocA (mk_bracket br_body) br_body = nlHsApps (Exact (dataConName data_con)) (map lift_var as_needed) |