[Git][ghc/ghc][wip/backports-9.12.4] 7 commits: Report solid equality errors before custom errors
Zubin pushed to branch wip/backports-9.12.4 at Glasgow Haskell Compiler / GHC Commits: 741a4ff3 by Simon Peyton Jones at 2026-03-04T10:52:43+05:30 Report solid equality errors before custom errors This MR fixes #26255 by * Reporting solid equality errors like Int ~ Bool before "custom type errors". See comments in `report1` in `reportWanteds` * Suppressing errors that arise from superclasses of Wanteds. See (SCE1) in Note [Suppressing confusing errors] More details in #26255. (cherry picked from commit ba210d981b0812aea604f884d3c0aada4c8ca75c) - - - - - 2050c915 by Simon Peyton Jones at 2026-03-04T10:52:43+05:30 Fix a horrible shadowing bug in implicit parameters Fixes #26451. The change is in GHC.Tc.Solver.Monad.updInertDicts where we now do /not/ delete /Wanted/ implicit-parameeter constraints. This bug has been in GHC since 9.8! But it's quite hard to provoke; I contructed a tests in T26451, but it was hard to do so. (cherry picked from commit c052c724d2dfc994994b6548545836969aee8ed8) - - - - - c15e880f by Simon Peyton Jones at 2026-03-04T10:52:43+05:30 Fix subtle bug in GHC.Core.Utils.mkTick This patch fixes a decade-old bug in `mkTick`, which could generate type-incorrect code! See the diagnosis in #26772. The new code is simpler and easier to understand. (As #26772 says, I think it could be improved further.) (cherry picked from commit cbe4300ef586c8bee1800426624db12e0237c6b5) - - - - - a9805db7 by Simon Peyton Jones at 2026-03-04T10:52:43+05:30 Fix long-standing interaction between ticks and casts The code for Note [Eliminate Identity Cases] was simply wrong when ticks and casts interacted. This patch fixes the interaction. It was shown up when validating #26772, although it's not the exactly the bug that's reported by #26772. Nor is it easy to reproduce, hence no regression test. (cherry picked from commit b579dfdc614e288b0fd754ac69ae7ff723d808be) - - - - - bbe53332 by sheaf at 2026-03-04T10:52:43+05:30 NamedDefaults: require the class to be standard We now only default type variables if they only appear in constraints of the form `C v`, where `C` is either a standard class or a class with an in-scope default declaration. This rectifies an oversight in the original implementation of the NamedDefault extensions that was remarked in #25775; that implementation allowed type variables to appear in unary constraints which had arbitrary classes at the head. See the rewritten Note [How type-class constraints are defaulted] for details of the implementation. Fixes #25775 Fixes #25778 (cherry picked from commit f1acdd2c2b664ad0bdcaae4064b50e84aa7bc599) - - - - - b9826bf5 by Rodrigo Mesquita at 2026-03-04T10:52:43+05:30 bytecode: Use 32bits for breakpoint index Fixes #26325 (cherry picked from commit e368e24779f8a7bf110a025383db23521b313407) - - - - - 9930dbc4 by Zubin Duggal at 2026-03-04T10:52:43+05:30 Prepare release 9.12.4 - - - - - 35 changed files: - compiler/GHC/ByteCode/Asm.hs - compiler/GHC/Core/Opt/Simplify/Iteration.hs - compiler/GHC/Core/Opt/Simplify/Utils.hs - compiler/GHC/Core/Type.hs - compiler/GHC/Core/Utils.hs - compiler/GHC/HsToCore/Pmc/Solver.hs - compiler/GHC/Tc/Errors.hs - compiler/GHC/Tc/Instance/Class.hs - compiler/GHC/Tc/Solver.hs - compiler/GHC/Tc/Solver/Dict.hs - compiler/GHC/Tc/Types/Constraint.hs - compiler/GHC/Tc/Types/Evidence.hs - compiler/GHC/Tc/Utils/TcType.hs - compiler/GHC/Types/DefaultEnv.hs - + docs/users_guide/9.12.4-notes.rst - docs/users_guide/release-notes.rst - libraries/base/base.cabal.in - libraries/base/changelog.md - rts/Disassembler.c - rts/Interpreter.c - + testsuite/tests/default/T25775.hs - + testsuite/tests/default/T25775.stderr - testsuite/tests/default/all.T - + testsuite/tests/typecheck/should_compile/T26451.hs - testsuite/tests/typecheck/should_compile/all.T - testsuite/tests/typecheck/should_fail/T12921.stderr - testsuite/tests/typecheck/should_fail/T18851.hs - + testsuite/tests/typecheck/should_fail/T26255a.hs - + testsuite/tests/typecheck/should_fail/T26255a.stderr - + testsuite/tests/typecheck/should_fail/T26255b.hs - + testsuite/tests/typecheck/should_fail/T26255b.stderr - + testsuite/tests/typecheck/should_fail/T26255c.hs - + testsuite/tests/typecheck/should_fail/T26255c.stderr - testsuite/tests/typecheck/should_fail/UnliftedNewtypesFamilyKindFail2.stderr - testsuite/tests/typecheck/should_fail/all.T The diff was not included because it is too large. View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/538ea5698b993e8f8ae5e40ec276940... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/538ea5698b993e8f8ae5e40ec276940... You're receiving this email because of your account on gitlab.haskell.org.
participants (1)
-
Zubin (@wz1000)