Fix #18145 and also avoid needless work with implicit vars
- `forAllOrNothing` now is monadic, so we can trace whether we bind an explicit `forall` or not. - #18145 arose because the free vars calculation was needlessly complex. It is now greatly simplified. - Replaced some other implicit var code with `filterFreeVarsToBind`. Co-authored-by:Ryan Scott <ryan.gl.scott@gmail.com>
Showing
- compiler/GHC/Rename/HsType.hs 56 additions, 59 deletionscompiler/GHC/Rename/HsType.hs
- compiler/GHC/Rename/Module.hs 37 additions, 19 deletionscompiler/GHC/Rename/Module.hs
- testsuite/tests/rename/should_fail/T18145.hs 17 additions, 0 deletionstestsuite/tests/rename/should_fail/T18145.hs
- testsuite/tests/rename/should_fail/T18145.stderr 6 additions, 0 deletionstestsuite/tests/rename/should_fail/T18145.stderr
- testsuite/tests/rename/should_fail/all.T 1 addition, 0 deletionstestsuite/tests/rename/should_fail/all.T
Loading
Please register or sign in to comment