[project @ 2002-02-28 12:17:19 by simonpj]
authorsimonpj <unknown>
Thu, 28 Feb 2002 12:17:22 +0000 (12:17 +0000)
committersimonpj <unknown>
Thu, 28 Feb 2002 12:17:22 +0000 (12:17 +0000)
commit469c3333ae5954cee58cdb1575b41fb1a3c34f06
tree1e90a9726e1c29cfc1272ee441fd913f3af41e2e
parent9c3cdff028c1a2739bf3ec866b3cd75df2a0a189
[project @ 2002-02-28 12:17:19 by simonpj]
---------------------------------
Fix a rather obscure bug in tcGen
---------------------------------

This bug concerns deciding when a type variable "escapes",
and hence we can't generalise it.  Our new subsumption-checking
machinery for higher-ranked types requires a slightly
more general approach than I had before.  The main excitement
is in TcUnify.checkSigTyVars and its friends.

As usual, I moved functions around and cleaned things up a bit;
hence the multi-module commit.
12 files changed:
ghc/compiler/typecheck/TcBinds.lhs
ghc/compiler/typecheck/TcClassDcl.lhs
ghc/compiler/typecheck/TcEnv.lhs
ghc/compiler/typecheck/TcExpr.lhs
ghc/compiler/typecheck/TcForeign.lhs
ghc/compiler/typecheck/TcHsSyn.lhs
ghc/compiler/typecheck/TcInstDcls.lhs
ghc/compiler/typecheck/TcMType.lhs
ghc/compiler/typecheck/TcMatches.lhs
ghc/compiler/typecheck/TcPat.lhs
ghc/compiler/typecheck/TcType.lhs
ghc/compiler/typecheck/TcUnify.lhs