Filter out invisible kind arguments during TH reification
Previously, all kind arguments were being reified, which would cause something like this: ``` type Id a = a data Proxy (a :: Id k) = Proxy ``` to output ``` data Proxy (a :: Id * k) = Proxy ``` when `Proxy`'s `Info` is reified. The fix is simple: simply call `filterOutInvisibleTypes` on the kind arguments of a kind synonym application. Fixes #11463. Test Plan: ./validate Reviewers: austin, bgamari, goldfire Reviewed By: goldfire Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D2081 GHC Trac Issues: #11463 (cherry picked from commit 02a5c580)
Showing
- compiler/typecheck/TcSplice.hs 3 additions, 1 deletioncompiler/typecheck/TcSplice.hs
- testsuite/tests/th/T11463.hs 18 additions, 0 deletionstestsuite/tests/th/T11463.hs
- testsuite/tests/th/T11463.stdout 2 additions, 0 deletionstestsuite/tests/th/T11463.stdout
- testsuite/tests/th/all.T 1 addition, 0 deletionstestsuite/tests/th/all.T
Loading
Please register or sign in to comment