[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