Run linear Lint on the desugarer output (part of #19165)
This addresses points (1a) and (1b) of #19165. - Move mkFailExpr to HsToCore/Utils, as it can be shared - Desugar incomplete patterns and holes to an empty case, as in Note [Incompleteness and linearity] - Enable linear linting of desugarer output - Mark MultConstructor as broken. It fails Lint, but I'd like to fix this separately. Metric Decrease: T6048
Showing
- compiler/GHC/Core/Lint.hs 12 additions, 4 deletionscompiler/GHC/Core/Lint.hs
- compiler/GHC/HsToCore/Arrows.hs 0 additions, 4 deletionscompiler/GHC/HsToCore/Arrows.hs
- compiler/GHC/HsToCore/Match.hs 2 additions, 3 deletionscompiler/GHC/HsToCore/Match.hs
- compiler/GHC/HsToCore/Utils.hs 52 additions, 0 deletionscompiler/GHC/HsToCore/Utils.hs
- compiler/GHC/Tc/Types/EvTerm.hs 6 additions, 1 deletioncompiler/GHC/Tc/Types/EvTerm.hs
- testsuite/tests/linear/should_compile/all.T 1 addition, 1 deletiontestsuite/tests/linear/should_compile/all.T
- testsuite/tests/simplCore/should_compile/T9400.stderr 6 additions, 4 deletionstestsuite/tests/simplCore/should_compile/T9400.stderr
- testsuite/tests/simplCore/should_compile/spec-inline.stderr 3 additions, 2 deletionstestsuite/tests/simplCore/should_compile/spec-inline.stderr
Loading
Please register or sign in to comment