• Ryan Scott's avatar
    Fix #15307 by making nlHsFunTy parenthesize more · 92925b3d
    Ryan Scott authored
    `nlHsFunTy` wasn't parenthesizing its arguments at all,
    which led to `-ddump-deriv` producing incorrectly parenthesized
    types (since it uses `nlHsFunTy` to construct those types), as
    demonstrated in #15307. Fix this by changing `nlHsFunTy` to add
    parentheses à la `ppr_ty`: always parenthesizing the argument type
    with function precedence, and recursively processing the result type,
    adding parentheses for each function type it encounters.
    Test Plan: make test TEST=T14578
    Reviewers: bgamari
    Reviewed By: bgamari
    Subscribers: rwbarton, thomie, carter
    GHC Trac Issues: #15307
    Differential Revision: https://phabricator.haskell.org/D4890
    (cherry picked from commit 59a15a56)
HsUtils.hs 55.3 KB