Fix several bugs related to finding free variables
authorsimonpj@microsoft.com <unknown>
Wed, 3 Jan 2007 11:50:09 +0000 (11:50 +0000)
committersimonpj@microsoft.com <unknown>
Wed, 3 Jan 2007 11:50:09 +0000 (11:50 +0000)
commit8ffdb8eed6b38db00761093889f5cddbe8ca1d60
tree72795c6aa7b7b26d3e9330a45a2c6cd85ce85dab
parentb89a7fb470edee5762fba51effb64d1c071df373
Fix several bugs related to finding free variables

Now that coercion variables mention types, a type-lambda binder can
have free variables.  This patch adjusts the free-variable finder
to take account of this, by treating Ids and TyVars more uniformly.

In addition, I fixed a bug in the specialiser that was missing a
free type variable in a binder.  And a bug in tyVarsOfInst that
was missing the type variables in the kinds of the quantified tyvars.
compiler/basicTypes/Var.lhs
compiler/coreSyn/CoreFVs.lhs
compiler/simplCore/SetLevels.lhs
compiler/specialise/Specialise.lhs
compiler/typecheck/Inst.lhs
compiler/typecheck/TcPat.lhs