simonpj     2006/06/14 04:46:15 PDT

  Modified files:        (Branch: ghc-6-4-branch)
    ghc/compiler/iface   TcIface.lhs 
  Log:
        Fix a nasty GADT bug
  
  Consider typechecking an interface decl like this:
  
  f (x::T a) (y::a) = case x of
                        C -> case y of ...
  
  Matching on 'x' refines 'y' to a data type.  tcIfaceExpr of IfaceCase
  expects 'y' to have a data type, but if we don't refine the envt it'll
  just have the type 'a'.
  
  Solution: refine the envt, as is done in the simplifier.  Sigh.
  System FC is better!
  
  Revision  Changes    Path
  1.32.2.3  +24 -8     fptools/ghc/compiler/iface/TcIface.lhs
_______________________________________________
Cvs-ghc mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to