summaryrefslogtreecommitdiff
path: root/compiler/GHC/HsToCore/Ticks.hs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/GHC/HsToCore/Ticks.hs')
-rw-r--r--compiler/GHC/HsToCore/Ticks.hs10
1 files changed, 6 insertions, 4 deletions
diff --git a/compiler/GHC/HsToCore/Ticks.hs b/compiler/GHC/HsToCore/Ticks.hs
index 3ccf46c4cf..8c0227df80 100644
--- a/compiler/GHC/HsToCore/Ticks.hs
+++ b/compiler/GHC/HsToCore/Ticks.hs
@@ -550,14 +550,16 @@ addTickHsExpr expr@(RecordCon { rcon_flds = rec_binds })
= do { rec_binds' <- addTickHsRecordBinds rec_binds
; return (expr { rcon_flds = rec_binds' }) }
-addTickHsExpr expr@(RecordUpd { rupd_expr = e, rupd_flds = Left flds })
+addTickHsExpr expr@(RecordUpd { rupd_expr = e
+ , rupd_flds = upd@(RegularRecUpdFields { recUpdFields = flds }) })
= do { e' <- addTickLHsExpr e
; flds' <- mapM addTickHsRecField flds
- ; return (expr { rupd_expr = e', rupd_flds = Left flds' }) }
-addTickHsExpr expr@(RecordUpd { rupd_expr = e, rupd_flds = Right flds })
+ ; return (expr { rupd_expr = e', rupd_flds = upd { recUpdFields = flds' } }) }
+addTickHsExpr expr@(RecordUpd { rupd_expr = e
+ , rupd_flds = upd@(OverloadedRecUpdFields { olRecUpdFields = flds } ) })
= do { e' <- addTickLHsExpr e
; flds' <- mapM addTickHsRecField flds
- ; return (expr { rupd_expr = e', rupd_flds = Right flds' }) }
+ ; return (expr { rupd_expr = e', rupd_flds = upd { olRecUpdFields = flds' } }) }
addTickHsExpr (ExprWithTySig x e ty) =
liftM3 ExprWithTySig