Fix #13983 by creating a TyConFlavour type, and using it
An error message was referring to a type synonym as a datatype. Annoyingly, learning that the TyCon over which the error message is operating is actually a type synonym was previously impossible, since that code only had access to a TcTyCon, which doesn't retain any information about what sort of TyCon it is. To rectify this, I created a new TyConFlavour datatype, intended to capture roughly what sort of TyCon we're dealing with. I then performing the necessary plumbing to ensure all TcTyCons have a TyConFlavour, and propagated this information through to the relevant error message. Test Plan: ./validate Reviewers: goldfire, austin, bgamari, simonpj Reviewed By: simonpj Subscribers: simonpj, rwbarton, thomie GHC Trac Issues: #13983 Differential Revision: https://phabricator.haskell.org/D3747
Showing
- compiler/typecheck/TcHsType.hs 15 additions, 13 deletionscompiler/typecheck/TcHsType.hs
- compiler/typecheck/TcPat.hs 2 additions, 2 deletionscompiler/typecheck/TcPat.hs
- compiler/typecheck/TcTyClsDecls.hs 25 additions, 16 deletionscompiler/typecheck/TcTyClsDecls.hs
- compiler/typecheck/TcValidity.hs 4 additions, 4 deletionscompiler/typecheck/TcValidity.hs
- compiler/types/TyCon.hs 98 additions, 30 deletionscompiler/types/TyCon.hs
- testsuite/tests/ghci/scripts/T7873.stderr 1 addition, 1 deletiontestsuite/tests/ghci/scripts/T7873.stderr
- testsuite/tests/typecheck/should_fail/T13983.hs 7 additions, 0 deletionstestsuite/tests/typecheck/should_fail/T13983.hs
- testsuite/tests/typecheck/should_fail/T13983.stderr 8 additions, 0 deletionstestsuite/tests/typecheck/should_fail/T13983.stderr
- testsuite/tests/typecheck/should_fail/all.T 1 addition, 0 deletionstestsuite/tests/typecheck/should_fail/all.T
Loading
Please register or sign in to comment