[project @ 2001-10-25 14:30:43 by simonpj]
authorsimonpj <unknown>
Thu, 25 Oct 2001 14:30:43 +0000 (14:30 +0000)
committersimonpj <unknown>
Thu, 25 Oct 2001 14:30:43 +0000 (14:30 +0000)
commitd5f94cc150c18a060e96795010b30bbcdf7bbc17
tree637b744633a5fe9904a81b6085bdbd4f33deca06
parent57bbc2a30c0d4949ee4eed9398799579002d0b84
[project @ 2001-10-25 14:30:43 by simonpj]
-------------------------------------------------------
  Correct an error in the handling of implicit parameters
  -------------------------------------------------------

MERGE WITH STABLE BRANCH UNLESS HARD TO DO

Mark Shields discovered a bug in the way that implicit parameters
are dealt with by the type checker.  It's all a bit subtle, and
is extensively documented in TcSimplify.lhs.

This commit makes the code both simpler and more correct.  It subtly
changes the way in which type signatures are treated, but not in a way
anyone would notice: see notes with "Question 2: type signatures"
in TcSimplify.lhs.
ghc/compiler/typecheck/Inst.lhs
ghc/compiler/typecheck/TcMType.lhs
ghc/compiler/typecheck/TcSimplify.lhs
ghc/compiler/typecheck/TcType.lhs