[project @ 2005-01-26 16:10:02 by simonpj]
authorsimonpj <unknown>
Wed, 26 Jan 2005 16:10:06 +0000 (16:10 +0000)
committersimonpj <unknown>
Wed, 26 Jan 2005 16:10:06 +0000 (16:10 +0000)
commit8254dcf1884fde961c477d5784024ec8ab1d84d2
treef2ec4bb992b6482ffc9192900ae16f583b598c76
parent6d4b6cadaf37f60dd4ec7135dcf6fcfe10355801
[project @ 2005-01-26 16:10:02 by simonpj]
-----------------------
Fixup to hoistForAllTys
-----------------------

* hoistForAllTys moves from TcHsType to TcType

hoistForAllTys was being too vigorous and breaking up type synonyms,
even when it was entirely unnecessary to do so.

Not only does this make error messsages less good, but it's actually
wrong for Haskell 98, because we are meant to report under-applied
type synonyms, and that check doesn't happen until after hoistForAllTys.
This led to a very obscure bug, immortalised as tcfail129.
ghc/compiler/typecheck/TcHsType.lhs
ghc/compiler/typecheck/TcType.lhs
ghc/compiler/types/Type.lhs