diff options
author | simonpj@microsoft.com <unknown> | 2006-08-08 09:11:08 +0000 |
---|---|---|
committer | simonpj@microsoft.com <unknown> | 2006-08-08 09:11:08 +0000 |
commit | 3098d2143a5865f8f1fba1d7d72132b140f2de94 (patch) | |
tree | 146affe2ec5de633a55c93b3cf00f028ec012a9e /includes/Stable.h | |
parent | d2b27dcd73c7d3aa21059e2a26ee7923fd7bca0a (diff) | |
download | haskell-3098d2143a5865f8f1fba1d7d72132b140f2de94.tar.gz |
Fix pre-subsumption and pre-matching
The pre-subsuption and pre-matching functions should NEVER make bogus
bindings of type variables, although they are free to bale out and make
too few bindings.
I hadn't been thiking carefully enough about this, and there were two
separate bugs.
- Firstly, in pre-subsumption we must ignore the 'theta'
part of any overloaded type.
- Second, in pre-matching, we must return the empty subustition
on a mis-match, rather than returning the substitution so far.
This bug showed up when compiling Data.Generics.Schemes.hs, and is
imortalised in test tc206
Diffstat (limited to 'includes/Stable.h')
0 files changed, 0 insertions, 0 deletions