Skip to content
  • Ryan Scott's avatar
    Fix #10684 by processing deriving clauses with finer grain · 6bb32ba7
    Ryan Scott authored
    Summary:
    Previously, one could experience error cascades with deriving clauses
    when one class in a set of many failed to derive, causing the other derived
    classes to be skipped entirely and resulting in other errors down the line.
    The solution is to process each class in a data type's set of deriving clauses
    individually, and engineer it so that failure to derive an individual class
    within that set doesn't cancel out the others.
    
    Test Plan: make test TEST="T10684 T12801"
    
    Reviewers: austin, bgamari, simonpj
    
    Reviewed By: simonpj
    
    Subscribers: simonpj, rwbarton, thomie
    
    GHC Trac Issues: #10684, #12801
    
    Differential Revision: https://phabricator.haskell.org/D3771
    6bb32ba7