diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2012-08-23 16:33:36 +0100 |
---|---|---|
committer | Simon Peyton Jones <simonpj@microsoft.com> | 2012-08-23 16:33:36 +0100 |
commit | ad33998ce15b42287b460a112226e1d35a42c232 (patch) | |
tree | adeb84fd02902b53c38d8950f551ca2df62fc494 | |
parent | da9a3302f964021bfdf820108dc21d5ca0404dc6 (diff) | |
download | haskell-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.lhs | 7 |
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 |