[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 9 commits: compiler,ghci: error codes link to HF error index
Marge Bot (@marge-bot)
gitlab at gitlab.haskell.org
Tue Sep 19 19:18:15 UTC 2023
Marge Bot pushed to branch wip/marge_bot_batch_merge_job at Glasgow Haskell Compiler / GHC
Commits:
1e3dff9f by doyougnu at 2023-09-19T15:17:53-04:00
compiler,ghci: error codes link to HF error index
closes: #23259
- adds -fprint-error-index-links={auto|always|never} flag
- - - - -
e246c522 by sheaf at 2023-09-19T15:18:00-04:00
Pass quantified tyvars in tcDefaultAssocDecl
This commit passes the correct set of quantified type variables written
by the user in associated type default declarations for validity
checking. This ensures that validity checking of associated type defaults
mirrors that of standalone type family instances.
Fixes #23768 (see testcase T23734 in subsequent commit)
- - - - -
9618866e by sheaf at 2023-09-19T15:18:00-04:00
Avoid panic in mkGADTVars
This commit avoids panicking in mkGADTVars when we encounter
a type variable as in #23784 that is bound by a user-written
forall but not actually used.
Fixes #23784
- - - - -
427791ec by sheaf at 2023-09-19T15:18:00-04:00
Adjust reporting of unused tyvars in data FamInsts
This commit adjusts the validity checking of data family
instances to improve the reporting of unused type variables.
See Note [Out of scope tvs in data family instances] in GHC.Tc.Validity.
The problem was that, in a situation such as
data family D :: Type
data instance forall (d :: Type). D = MkD
the RHS passed to 'checkFamPatBinders' would be the TyCon app
R:D d
which mentions the type variable 'd' quantified in the user-written
forall. Thus, when computing the set of unused type variables in
the RHS of the data family instance, we would find that 'd' is used,
and report a strange error message that would say that 'd' is not
bound on the LHS.
To fix this, we special-case the data-family instance case,
manually extracting all the type variables that appear in the
arguments of all the data constructores of the data family instance.
Fixes #23778
- - - - -
37163ad2 by sheaf at 2023-09-19T15:18:00-04:00
Unused tyvars in FamInst: only report user tyvars
This commit changes how we perform some validity checking for
coercion axioms to mirror how we handle default declarations for
associated type families. This allows us to keep track of whether
type variables in type and data family instances were user-written
or not, in order to only report the user-written ones in
"unused type variable" error messages.
Consider for example:
{-# LANGUAGE PolyKinds #-}
type family F
type instance forall a. F = ()
In this case, we get two quantified type variables,
(k :: Type) and (a :: k); the second being user-written, but the first
is introduced by the typechecker. We should only report 'a' as being
unused, as the user has no idea what 'k' is.
Fixes #23734
- - - - -
53000d00 by sheaf at 2023-09-19T15:18:00-04:00
Validity: refactor treatment of data families
This commit refactors the reporting of unused type variables in type
and data family instances to be more principled. This avoids ad-hoc
logic in the treatment of data family instances.
- - - - -
8e844ba7 by John Ericson at 2023-09-19T15:18:01-04:00
Remove `ghc-cabal`
It is dead code since the Make build system was removed.
I tried to go over every match of `git grep -i ghc-cabal` to find other
stray bits. Some of those might be workarounds that can be further
removed.
- - - - -
696a815a by John Paul Adrian Glaubitz at 2023-09-19T15:18:04-04:00
Re-add unregisterised build support for sparc and sparc64
Closes #23959
- - - - -
865ccf04 by Matthew Pickering at 2023-09-19T15:18:05-04:00
Bump ci-images to use updated version of Alex
Fixes #23977
- - - - -
30 changed files:
- .gitlab-ci.yml
- compiler/GHC/Core/Class.hs
- compiler/GHC/Core/Coercion/Axiom.hs
- compiler/GHC/Driver/DynFlags.hs
- compiler/GHC/Driver/Session.hs
- compiler/GHC/IfaceToCore.hs
- compiler/GHC/Rename/Module.hs
- compiler/GHC/Tc/Deriv/Generate.hs
- compiler/GHC/Tc/Errors/Ppr.hs
- compiler/GHC/Tc/Errors/Types.hs
- compiler/GHC/Tc/TyCl.hs
- compiler/GHC/Tc/TyCl/Build.hs
- compiler/GHC/Tc/TyCl/Instance.hs
- compiler/GHC/Tc/Validity.hs
- compiler/GHC/Tc/Zonk/Type.hs
- compiler/GHC/Types/Error.hs
- compiler/GHC/Unit/Info.hs
- compiler/GHC/Utils/Outputable.hs
- docs/users_guide/expected-undocumented-flags.txt
- docs/users_guide/using.rst
- hadrian/doc/debugging.md
- hadrian/src/Rules/Documentation.hs
- hadrian/src/Rules/Test.hs
- hadrian/src/Settings/Builders/RunTest.hs
- m4/fp_prog_ar_needs_ranlib.m4
- m4/fptools_set_haskell_platform_vars.m4
- m4/ghc_convert_cpu.m4
- testsuite/mk/test.mk
- testsuite/tests/ghc-api/target-contents/TargetContents.hs
- + testsuite/tests/ghci/should_fail/GHCiErrorIndexLinks.script
The diff was not included because it is too large.
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/609016e5a228c245cff512358714efadbb61d6b7...865ccf0415e8145d0749d8e749429bf488c26ec4
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/609016e5a228c245cff512358714efadbb61d6b7...865ccf0415e8145d0749d8e749429bf488c26ec4
You're receiving this email because of your account on gitlab.haskell.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20230919/a136413f/attachment.html>
More information about the ghc-commits
mailing list