Skip to content
  • Simon Peyton Jones's avatar
    Fix Trac #3012: allow more free-wheeling in standalone deriving · aa0c0de9
    Simon Peyton Jones authored
    In standalone deriving, we now do *not* check side conditions.
    We simply generate the code and typecheck it.  If there's a type
    error, it's the programmer's problem. 
    
    This means that you can do 'deriving instance Show (T a)', where
    T is a GADT, for example, provided of course that the boilerplate
    code does in fact typecheck.
    
    I put some work into getting a decent error message.  In particular
    if there's a type error in a method, GHC will show the entire code
    for that method (since, after all, the user did not write it).
    Most of the changes are to achieve that goal.
    
    Still to come: changes in the documentation.
    aa0c0de9