Skip to content
  • Ryan Scott's avatar
    Fix embarrassing infinite loop in pprParendType · 89d80921
    Ryan Scott authored
    Summary:
    `pprParendType` was missing an explicit case for
    `EqualityT`, which caused it to fall through to a catch-all case
    that invokes `ppr`. But `ppr` itself does not have a case for a
    partial application of `EqualityT`, so //it// falls back to
    `pprParendType`, resulting in an infinite loop!
    
    The fix is simple: add a case for `EqualityT` in `pprParendType`.
    While I was in the neighborhood, I removed the catch-call case in
    `pprParendType` to make this sort of mistake less likely to happen
    in the future.
    
    Test Plan: make test TEST=T15985
    
    Reviewers: bgamari, monoidal, simonpj
    
    Reviewed By: monoidal, simonpj
    
    Subscribers: rwbarton, carter
    
    GHC Trac Issues: #15985
    
    Differential Revision: https://phabricator.haskell.org/D5403
    89d80921