[project @ 2002-03-12 15:55:26 by simonpj]
authorsimonpj <unknown>
Tue, 12 Mar 2002 15:55:27 +0000 (15:55 +0000)
committersimonpj <unknown>
Tue, 12 Mar 2002 15:55:27 +0000 (15:55 +0000)
commit72c2f581702ca162f56012dd0c8cafcbac284b5c
treec0a8ead1167aa1a5905fcc856c2f02b370988884
parenta03714e25d9205790bad4ef32f546c626f3a5c18
[project @ 2002-03-12 15:55:26 by simonpj]
------------------------
Fix a type-invariant bug
------------------------

We need to call Type.mkGenTyConApp from Type.mkAppTy, in
case there's a partially applied type synonym.  Explanation
with Type.mkAppTy.  All part of GHC's rather liberal treatment
of type synonyms.

Shown up by a program from Ralf Laemmel:

type Generic i o = forall x. i x -> o x
type Id x = x
comb :: Generic Id Id

Test is typecheck/should_compile/tc149.hs
ghc/compiler/typecheck/TcMType.lhs
ghc/compiler/typecheck/TcMonoType.lhs
ghc/compiler/typecheck/TcType.lhs
ghc/compiler/types/Type.lhs