summaryrefslogtreecommitdiff
path: root/compiler/iface/BinIface.hs
diff options
context:
space:
mode:
authorSimon Peyton Jones <simonpj@microsoft.com>2013-01-28 08:18:28 +0000
committerSimon Peyton Jones <simonpj@microsoft.com>2013-01-28 08:18:28 +0000
commita98e51ecf51d1a93d48a8a10d35827edfd9d8c28 (patch)
treeefbeaf6f61ddc479a6510357644d6b94b2cdd23d /compiler/iface/BinIface.hs
parent351a8c6bbd53ce07d687b5a96afff77c4c9910cc (diff)
downloadhaskell-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.hs7
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)