Fix Trac #3057 in deriving Functor
authorsimonpj@microsoft.com <unknown>
Tue, 3 Mar 2009 17:06:12 +0000 (17:06 +0000)
committersimonpj@microsoft.com <unknown>
Tue, 3 Mar 2009 17:06:12 +0000 (17:06 +0000)
commit22eefb510ad56379cc96b8d14a440579cd55fc81
tree1e24dccf271066829fa2e27b89f544b7b5bbd3b5
parentb756bbf4eb2ffc733797f4d5b89ef8111474d509
Fix Trac #3057 in deriving Functor

The universal type variables of a data constructor are not necessarily
identical to those of its parent type constructor, especially if the
data type is imported.

While I was at it, I did a significant refactoring to make all this
traversal of types more comprehensible, by adding the data type
FFoldType.
compiler/typecheck/TcDeriv.lhs
compiler/typecheck/TcGenDeriv.lhs