• Ryan Scott's avatar
    Fix #15307 by making nlHsFunTy parenthesize more · 92925b3d
    Ryan Scott authored
    Summary:
    `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)
    92925b3d
T14578.stderr 5.2 KB