
Marge Bot pushed to branch wip/marge_bot_batch_merge_job at Glasgow Haskell Compiler / GHC Commits: bed38773 by Vladislav Zavialov at 2025-04-20T06:23:15-04:00 Add name for -Wunusable-unpack-pragmas This warning had no name or flag and was triggered unconditionally. Now it is part of -Wdefault. In GHC.Tc.TyCl.tcTyClGroupsPass's strict mode, we now have to force-enable this warning to ensure that detection of flawed groups continues to work even if the user disables the warning with the -Wno-unusable-unpack-pragmas option. Test case: T3990c Also, the misnamed BackpackUnpackAbstractType is now called UnusableUnpackPragma. - - - - - 47aaf40c by Adam Gundry at 2025-04-20T06:23:17-04:00 Fix specialisation of incoherent instances (fixes #25883) GHC normally assumes that class constraints are canonical, meaning that the specialiser is allowed to replace one dictionary argument with another provided that they have the same type. The `-fno-specialise-incoherents` flag alters INCOHERENT instance definitions so that they will prevent specialisation in some cases, by inserting `nospec`. This commit fixes a bug in 7124e4ad76d98f1fc246ada4fd7bf64413ff2f2e, which treated some INCOHERENT instance matches as if `-fno-specialise-incoherents` was in effect, thereby unnecessarily preventing specialisation. In addition it updates the relevant `Note [Rules for instance lookup]` and adds a new `Note [Canonicity for incoherent matches]`. - - - - - e8878442 by Adam Gundry at 2025-04-20T06:23:18-04:00 Add regression test for #23429 - - - - - b8f2a43e by Adam Gundry at 2025-04-20T06:23:18-04:00 user's guide: update specification of overlapping/incoherent instances The description of the instance resolution algorithm in the user's guide was slightly out of date, because it mentioned in-scope given constraints only at the end, whereas the implementation checks for their presence before any of the other steps. This also adds a warning to the user's guide about the impact of incoherent instances on specialisation, and more clearly documents some of the other effects of `-XIncoherentInstances`. - - - - - aece199c by Matthew Craven at 2025-04-20T06:23:18-04:00 Fix bytecode generation for `tagToEnum# <LITERAL>` Fixes #25975. - - - - - 40 changed files: - compiler/GHC/Core/InstEnv.hs - compiler/GHC/Driver/Flags.hs - compiler/GHC/Driver/Session.hs - compiler/GHC/StgToByteCode.hs - compiler/GHC/Tc/Errors/Ppr.hs - compiler/GHC/Tc/Errors/Types.hs - compiler/GHC/Tc/Solver/Dict.hs - compiler/GHC/Tc/TyCl.hs - compiler/GHC/Tc/Utils/Monad.hs - compiler/GHC/Types/Error/Codes.hs - docs/users_guide/9.14.1-notes.rst - docs/users_guide/exts/instances.rst - docs/users_guide/using-warnings.rst - + testsuite/tests/bytecode/T25975.hs - + testsuite/tests/bytecode/T25975.stdout - testsuite/tests/bytecode/all.T - testsuite/tests/simplCore/should_compile/Makefile - testsuite/tests/simplCore/should_compile/T23307c.stderr - + testsuite/tests/simplCore/should_compile/T25883.hs - + testsuite/tests/simplCore/should_compile/T25883.substr-simpl - + testsuite/tests/simplCore/should_compile/T25883b.hs - + testsuite/tests/simplCore/should_compile/T25883b.substr-simpl - + testsuite/tests/simplCore/should_compile/T25883c.hs - + testsuite/tests/simplCore/should_compile/T25883c.substr-simpl - + testsuite/tests/simplCore/should_compile/T25883d.hs - + testsuite/tests/simplCore/should_compile/T25883d.stderr - + testsuite/tests/simplCore/should_compile/T25883d_import.hs - + testsuite/tests/simplCore/should_compile/T3990c.hs - + testsuite/tests/simplCore/should_compile/T3990c.stdout - testsuite/tests/simplCore/should_compile/all.T - testsuite/tests/simplCore/should_fail/T25672.stderr - + testsuite/tests/simplCore/should_run/T23429.hs - + testsuite/tests/simplCore/should_run/T23429.stdout - testsuite/tests/simplCore/should_run/all.T - testsuite/tests/typecheck/should_compile/T7050.stderr - testsuite/tests/typecheck/should_fail/T3966.stderr - + testsuite/tests/typecheck/should_fail/T3966b.hs - + testsuite/tests/typecheck/should_fail/T3966b.stderr - testsuite/tests/typecheck/should_fail/all.T - testsuite/tests/unboxedsums/unpack_sums_5.stderr The diff was not included because it is too large. View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/f0206e27434bfdd8151666d39417cbd... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/f0206e27434bfdd8151666d39417cbd... You're receiving this email because of your account on gitlab.haskell.org.