Fix #15308 by suppressing invisble args more rigorously
Summary: There was a buglet in `stripInvisArgs` (which is part of the pretty-printing pipeline for types) in which only invisble arguments which came before any visible arguments would be suppressed, but any invisble arguments that came //after// visible ones would still be printed, even if `-fprint-explicit-kinds` wasn't enabled. The fix is simple: make `stripInvisArgs` recursively process the remaining types even after a visible argument is encountered. Test Plan: make test TEST=T15308 Reviewers: goldfire, bgamari Reviewed By: bgamari Subscribers: simonpj, rwbarton, thomie, carter GHC Trac Issues: #15308 Differential Revision: https://phabricator.haskell.org/D4891
Showing
- compiler/iface/IfaceType.hs 6 additions, 1 deletioncompiler/iface/IfaceType.hs
- testsuite/tests/dependent/should_fail/T15308.hs 12 additions, 0 deletionstestsuite/tests/dependent/should_fail/T15308.hs
- testsuite/tests/dependent/should_fail/T15308.stderr 5 additions, 0 deletionstestsuite/tests/dependent/should_fail/T15308.stderr
- testsuite/tests/dependent/should_fail/all.T 1 addition, 0 deletionstestsuite/tests/dependent/should_fail/all.T
- testsuite/tests/typecheck/should_fail/T12785b.stderr 4 additions, 8 deletionstestsuite/tests/typecheck/should_fail/T12785b.stderr
Loading
Please register or sign in to comment