Mon Nov 30 09:44:41 PST 2009 [email protected]
* Fix Trac #3102: pre-matching polytypes
Ignore-this: 3e3fa97e0de28b005a1aabe9e5542b32
When *pre-matching* two types
forall a. C1 => t1 ~ forall a. C2 => t2
we were matching t1~t2, but totally ignoring C1,C2
That's utterly wrong when pre-matching
(?p::Int) => String ~ a
because we emerge with a:=String!
All this is part of the impredicative story, which is about
to go away, but still.
Worth merging this to 6.12
M ./compiler/typecheck/TcUnify.lhs -2 +3
View patch online:
http://darcs.haskell.org/ghc-6.12/ghc/_darcs/patches/20091130174441-1287e-bffdb0ab4fcb9ebfd8c090a6762e08f241c9fac7.gz
_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc