summaryrefslogtreecommitdiff
path: root/compiler/GHC/Tc/Gen/Splice.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/GHC/Tc/Gen/Splice.hs')
-rw-r--r--compiler/GHC/Tc/Gen/Splice.hs11
1 files changed, 6 insertions, 5 deletions
diff --git a/compiler/GHC/Tc/Gen/Splice.hs b/compiler/GHC/Tc/Gen/Splice.hs
index 056855469d..72fc259e83 100644
--- a/compiler/GHC/Tc/Gen/Splice.hs
+++ b/compiler/GHC/Tc/Gen/Splice.hs
@@ -210,12 +210,13 @@ tcTypedBracket rn_expr brack@(TExpBr _ expr) res_ty
; let rep = getRuntimeRep expr_ty
; meta_ty <- tcTExpTy m_var expr_ty
; ps' <- readMutVar ps_ref
- ; texpco <- tcLookupId unsafeCodeCoerceName
+ ; codeco <- tcLookupId unsafeCodeCoerceName
+ ; bracket_ty <- mkAppTy m_var <$> tcMetaTy expTyConName
; tcWrapResultO (Shouldn'tHappenOrigin "TExpBr")
rn_expr
(unLoc (mkHsApp (mkLHsWrap (applyQuoteWrapper wrapper)
- (nlHsTyApp texpco [rep, expr_ty]))
- (noLocA (HsTcBracketOut noExtField (Just wrapper) brack ps'))))
+ (nlHsTyApp codeco [rep, expr_ty]))
+ (noLocA (HsTcBracketOut bracket_ty (Just wrapper) brack ps'))))
meta_ty res_ty }
tcTypedBracket _ other_brack _
= pprPanic "tcTypedBracket" (ppr other_brack)
@@ -244,7 +245,7 @@ tcUntypedBracket rn_expr brack ps res_ty
-- Unify the overall type of the bracket with the expected result
-- type
; tcWrapResultO BracketOrigin rn_expr
- (HsTcBracketOut noExtField brack_info brack ps')
+ (HsTcBracketOut expected_type brack_info brack ps')
expected_type res_ty
}
@@ -690,7 +691,7 @@ runTopSplice (DelayedSplice lcl_env orig_expr res_ty q_expr)
; mod_finalizers <- readTcRef modfinalizers_ref
; addModFinalizersWithLclEnv $ ThModFinalizers mod_finalizers
-- We use orig_expr here and not q_expr when tracing as a call to
- -- unsafeTExpCoerce is added to the original expression by the
+ -- unsafeCodeCoerce is added to the original expression by the
-- typechecker when typed quotes are type checked.
; traceSplice (SpliceInfo { spliceDescription = "expression"
, spliceIsDecl = False