Skip to content
  • Ryan Scott's avatar
    Slight refactor of stock deriving internals · f4336593
    Ryan Scott authored
    Summary:
    Before, the `hasStockDeriving` function, which determines
    how derived bindings should be generated for stock classes, was
    awkwardly separated from the `checkSideConditions` function, which
    checks invariants of the same classes that `hasStockDeriving` does.
    As a result, there was a fair deal of hoopla needed to actually use
    `hasStockDeriving`.
    
    But this hoopla really isn't required—we should be using
    `hasStockDeriving` from within `checkSideConditions`, since they're
    looking up information about the same classes! By doing this, we can
    eliminate some kludgy code in the form of `mk_eqn_stock'`, which had
    an unreachable `pprPanic` that was stinking up the place.
    
    Reviewers: bgamari, dfeuer
    
    Reviewed By: bgamari
    
    Subscribers: dfeuer, rwbarton, thomie, carter
    
    GHC Trac Issues: #13154
    
    Differential Revision: https://phabricator.haskell.org/D4370
    f4336593