diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2013-01-28 08:18:28 +0000 |
---|---|---|
committer | Simon Peyton Jones <simonpj@microsoft.com> | 2013-01-28 08:18:28 +0000 |
commit | a98e51ecf51d1a93d48a8a10d35827edfd9d8c28 (patch) | |
tree | efbeaf6f61ddc479a6510357644d6b94b2cdd23d /compiler/iface/BinIface.hs | |
parent | 351a8c6bbd53ce07d687b5a96afff77c4c9910cc (diff) | |
download | haskell-a98e51ecf51d1a93d48a8a10d35827edfd9d8c28.tar.gz |
More refactoring of FamInst/FamInstEnv; finally fixes Trac #7524
Quite a bit of tidying up here; the fix to #7524 is actually
only a small part.
* Be fully clear that the cab_tvs in a CoAxBranch are not
fresh. See Note [CoAxBranch type variables] in CoAxiom.
* Use CoAxBranch to replace the ATDfeault type in Class.
CoAxBranch is perfect here. This change allowed me to
delete quite a bit of boilerplate code, including the
corresponding IfaceSynType.
* Tidy up the construction of CoAxBranches, and when FamIntBranch is
freshened. The latter onw happens only in FamInst.newFamInst.
* Tidy the tyvars of a CoAxBranch when we build them, done in
FamInst.mkCoAxBranch. See Note [Tidy axioms when we build them]
in that module. This is what fixes #7524.
Much niceer now.
Diffstat (limited to 'compiler/iface/BinIface.hs')
-rw-r--r-- | compiler/iface/BinIface.hs | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/compiler/iface/BinIface.hs b/compiler/iface/BinIface.hs index ac244fab79..7f9b24e6e4 100644 --- a/compiler/iface/BinIface.hs +++ b/compiler/iface/BinIface.hs @@ -1426,13 +1426,6 @@ instance Binary IfaceAT where defs <- get bh return (IfaceAT dec defs) -instance Binary IfaceATDefault where - put_ bh (IfaceATD tvs pat_tys ty) = do - put_ bh tvs - put_ bh pat_tys - put_ bh ty - get bh = liftM3 IfaceATD (get bh) (get bh) (get bh) - instance Binary IfaceClassOp where put_ bh (IfaceClassOp n def ty) = do put_ bh (occNameFS n) |