Fri Dec 11 04:01:22 PST 2009  [email protected]
  * Fix two related bugs in u_tys
  Ignore-this: 25e826e0915c6f6267cadff96f1d7ca6
  
  When we normalise a type family application we must recursively call
  uTys, *not* 'go', because the latter loop is only there to look
  through type synonyms.  This bug made the type checker generate
  ill-typed coercions, which were rejected by Core Lint.
  
  A related bug only affects the size of coercions.  If faced with
    (m a) ~ (F b c)
  where F has arity 1, we want to decompose to 
     m ~ F Int,  a ~ c
  rather than deferring.  The application decomposition was being
  tried last, so we were missing this opportunity.
  
  Thanks to Roman for an example that showed all this up.

    M ./compiler/typecheck/TcUnify.lhs -23 +24

View patch online:
http://darcs.haskell.org/ghc/_darcs/patches/20091211120122-1287e-c1f5791d4b503d1da4bab7d9d9b7f8d1f09fce79.gz

_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to