summaryrefslogtreecommitdiff
path: root/compiler/GHC/HsToCore/Quote.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/GHC/HsToCore/Quote.hs')
-rw-r--r--compiler/GHC/HsToCore/Quote.hs7
1 files changed, 6 insertions, 1 deletions
diff --git a/compiler/GHC/HsToCore/Quote.hs b/compiler/GHC/HsToCore/Quote.hs
index d3453fcd56..149c683d83 100644
--- a/compiler/GHC/HsToCore/Quote.hs
+++ b/compiler/GHC/HsToCore/Quote.hs
@@ -1581,10 +1581,15 @@ repE (RecordCon { rcon_con = c, rcon_flds = flds })
= do { x <- lookupLOcc c;
fs <- repFields flds;
repRecCon x fs }
-repE (RecordUpd { rupd_expr = e, rupd_flds = flds })
+repE (RecordUpd { rupd_expr = e, rupd_flds = Left flds })
= do { x <- repLE e;
fs <- repUpdFields flds;
repRecUpd x fs }
+repE (RecordUpd { rupd_flds = Right _ })
+ = do
+ -- Not possible due to elimination in the renamer. See Note
+ -- [Handling overloaded and rebindable constructs]
+ panic "The impossible has happened!"
repE (ExprWithTySig _ e wc_ty)
= addSimpleTyVarBinds (get_scoped_tvs_from_sig sig_ty) $