summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2012-08-23 16:33:36 +0100
committerSimon Peyton Jones <simonpj@microsoft.com>2012-08-23 16:33:36 +0100
commitad33998ce15b42287b460a112226e1d35a42c232 (patch)
treeadeb84fd02902b53c38d8950f551ca2df62fc494
parentda9a3302f964021bfdf820108dc21d5ca0404dc6 (diff)
downloadhaskell-ad33998ce15b42287b460a112226e1d35a42c232.tar.gz
Fix to-iface conversion of RULES involving coercions in argument pattterns
This is part of the fix to Trac #7165
-rw-r--r--compiler/iface/MkIface.lhs7
1 files changed, 3 insertions, 4 deletions
diff --git a/compiler/iface/MkIface.lhs b/compiler/iface/MkIface.lhs
index c94b19a255..93ca3853e2 100644
--- a/compiler/iface/MkIface.lhs
+++ b/compiler/iface/MkIface.lhs
@@ -1782,10 +1782,9 @@ coreRuleToIfaceRule mod rule@(Rule { ru_name = name, ru_fn = fn,
-- level. Reason: so that when we read it back in we'll
-- construct the same ru_rough field as we have right now;
-- see tcIfaceRule
- do_arg (Type ty) = IfaceType (toIfaceType (deNoteType ty))
- do_arg (Coercion co) = IfaceType (coToIfaceType co)
-
- do_arg arg = toIfaceExpr arg
+ do_arg (Type ty) = IfaceType (toIfaceType (deNoteType ty))
+ do_arg (Coercion co) = IfaceCo (coToIfaceType co)
+ do_arg arg = toIfaceExpr arg
-- Compute orphanhood. See Note [Orphans] in IfaceSyn
-- A rule is an orphan only if none of the variables