projects
/
ghc-hetmet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add -fsimpleopt-before-flatten
[ghc-hetmet.git]
/
compiler
/
types
/
InstEnv.lhs
diff --git
a/compiler/types/InstEnv.lhs
b/compiler/types/InstEnv.lhs
index
34bd5eb
..
07f68f7
100644
(file)
--- a/
compiler/types/InstEnv.lhs
+++ b/
compiler/types/InstEnv.lhs
@@
-128,7
+128,7
@@
setInstanceDFunId ispec dfun
-- are ok; hence the assert
ispec { is_dfun = dfun, is_tvs = mkVarSet tvs, is_tys = tys }
where
-- are ok; hence the assert
ispec { is_dfun = dfun, is_tvs = mkVarSet tvs, is_tys = tys }
where
- (tvs, _, tys) = tcSplitDFunTy (idType dfun)
+ (tvs, _, _, tys) = tcSplitDFunTy (idType dfun)
instanceRoughTcs :: Instance -> [Maybe Name]
instanceRoughTcs = is_tcs
instanceRoughTcs :: Instance -> [Maybe Name]
instanceRoughTcs = is_tcs
@@
-184,7
+184,7
@@
mkLocalInstance dfun oflag
is_tvs = mkVarSet tvs, is_tys = tys,
is_cls = className cls, is_tcs = roughMatchTcs tys }
where
is_tvs = mkVarSet tvs, is_tys = tys,
is_cls = className cls, is_tcs = roughMatchTcs tys }
where
- (tvs, cls, tys) = tcSplitDFunTy (idType dfun)
+ (tvs, _, cls, tys) = tcSplitDFunTy (idType dfun)
mkImportedInstance :: Name -> [Maybe Name]
-> DFunId -> OverlapFlag -> Instance
mkImportedInstance :: Name -> [Maybe Name]
-> DFunId -> OverlapFlag -> Instance
@@
-195,7
+195,7
@@
mkImportedInstance cls mb_tcs dfun oflag
is_tvs = mkVarSet tvs, is_tys = tys,
is_cls = cls, is_tcs = mb_tcs }
where
is_tvs = mkVarSet tvs, is_tys = tys,
is_cls = cls, is_tcs = mb_tcs }
where
- (tvs, _, tys) = tcSplitDFunTy (idType dfun)
+ (tvs, _, _, tys) = tcSplitDFunTy (idType dfun)
roughMatchTcs :: [Type] -> [Maybe Name]
roughMatchTcs tys = map rough tys
roughMatchTcs :: [Type] -> [Maybe Name]
roughMatchTcs tys = map rough tys
@@
-499,7
+499,7
@@
lookupInstEnv (pkg_ie, home_ie) cls tys
find ((item, map (lookup_tv subst) dfun_tvs) : ms) us rest
-- Does not match, so next check whether the things unify
find ((item, map (lookup_tv subst) dfun_tvs) : ms) us rest
-- Does not match, so next check whether the things unify
- -- See Note [overlapping instances] above
+ -- See Note [Overlapping instances] above
| Incoherent <- oflag
= find ms us rest
| Incoherent <- oflag
= find ms us rest