[Git][ghc/ghc][wip/backports-9.8] 20 commits: Remove ScopedTypeVariables => TypeAbstractions

Ben Gamari (@bgamari) gitlab at gitlab.haskell.org
Sat Sep 16 13:47:18 UTC 2023



Ben Gamari pushed to branch wip/backports-9.8 at Glasgow Haskell Compiler / GHC


Commits:
5e2afb86 by sheaf at 2023-09-14T18:19:39-04:00
Remove ScopedTypeVariables => TypeAbstractions

This commit implements [amendment 604](https://github.com/ghc-proposals/ghc-proposals/pull/604/)
to [GHC proposal 448](https://github.com/ghc-proposals/ghc-proposals/pull/448)
by removing the implication of language extensions

  ScopedTypeVariables => TypeAbstractions

To limit breakage, we now allow type arguments in constructor patterns
when both ScopedTypeVariables and TypeApplications are enabled, but
we emit a warning notifying the user that this is deprecated behaviour
that will go away starting in GHC 9.12.

Fixes #23776

(cherry picked from commit 9eecdf33864ddfaa4a6489227ea29a16f7ffdd44)

- - - - -
7607fd7d by sheaf at 2023-09-14T23:26:21-04:00
.stderr: ScopedTypeVariables =/> TypeAbstractions

This commit accepts testsuite changes for the changes in the previous
commit, which mean that TypeAbstractions is no longer implied by
ScopedTypeVariables.

(cherry picked from commit fadd5b4dcf6fc05e8e7af6716a39f331495e011a)

- - - - -
6f6e605c by sheaf at 2023-09-14T23:26:21-04:00
Export setInertSet from GHC.Tc.Solver.Monad

We used to export getTcSInerts and setTcSInerts from GHC.Tc.Solver.Monad.
These got renamed to getInertSet/setInertSet in e1590ddc. That commit also removed
the export of setInertSet, but that function is useful for the GHC API.

(cherry picked from commit e542d590be63cf2611a9615f962a52ba974f6e24)

- - - - -
22e6a49b by Ben Gamari at 2023-09-14T23:26:21-04:00
rts: Fix invalid symbol type

I suspect this code is dead since we haven't observed this failing
despite the obviously incorrect macro name.

(cherry picked from commit 9861f787a8323d03311e30851b10fdf100717afb)

- - - - -
c3ddfa43 by Ben Gamari at 2023-09-14T23:26:21-04:00
testsuite: Add simple test exercising C11 atomics in GHCi

See #22012.

(cherry picked from commit 03ed6a9a634fd6c3ef35e9c5428b4a911e3f0add)

- - - - -
f60efaaf by Ben Gamari at 2023-09-14T23:26:21-04:00
rts/RtsSymbols: Add AArch64 outline atomic operations

Fixes #22012 by adding the symbols described in
https://github.com/llvm/llvm-project/blob/main/llvm/docs/Atomics.rst#libcalls-atomic.

Ultimately this would be better addressed by #22011, but this is a first
step in the right direction and fixes the immediate symptom.

Note that we dropped the `__arch64_cas16` operations as these provided
by all platforms's compilers. Also, we don't link directly against the
libgcc/compiler-rt definitions but rather provide our own wrappers to
work around broken toolchains (e.g. https://bugs.gentoo.org/868018).

Generated via https://gitlab.haskell.org/ghc/ghc/-/snippets/5733.

(cherry picked from commit 1aa5733a4480420fdc146322d86dd143321a3da6)

- - - - -
71a24afa by David Binder at 2023-09-14T23:26:21-04:00
Fix example in GHC user guide in SafeHaskell section

The example given in the SafeHaskell section uses an implementation of
Monad which no longer works. This MR removes the non-canonical return
instance and adds the necessary instances of Functor and Applicative.

(cherry picked from commit 5a2fe35a84cbcedc929f313e34c45d6f02d81607)

- - - - -
543bbe06 by Alan Zimmerman at 2023-09-14T23:26:21-04:00
EPA: Incorrect locations for UserTyVar with '@'

In T13343.hs, the location for the @ is not within the span of the
surrounding UserTyVar.

  type Bad @v = (forall (v1 :: RuntimeRep) (a1 :: TYPE v). a1) :: TYPE v

Widen it so it is captured.

Closes #23887

(cherry picked from commit b34f85865df279a7384dcccb767277d8265b375e)

- - - - -
b21be920 by Krzysztof Gogolewski at 2023-09-14T23:26:21-04:00
Fix wrong role in mkSelCo_maybe

In the Lint failure in #23938, we start with a coercion Refl :: T a ~R T a,
and call mkSelCo (SelTyCon 1 nominal) Refl.
The function incorrectly returned Refl :: a ~R a. The returned role
should be nominal, according to the SelCo rule:

      co : (T s1..sn) ~r0 (T t1..tn)
      r = tyConRole tc r0 i
      ----------------------------------
      SelCo (SelTyCon i r) : si ~r ti

In this test case, r is nominal while r0 is representational.

(cherry picked from commit e0aa8c6e3a8b6004eca9349e5b705b8a767050aa)

- - - - -
a4a750a2 by Gergő Érdi at 2023-09-14T23:26:21-04:00
If we have multiple defaulting plugins, then we should zonk in between them

after any defaulting has taken place, to avoid a defaulting plugin seeing
a metavariable that has already been filled.

Fixes #23821.

(cherry picked from commit 1d92f2dff6d1a170a44488d73cef81292591d120)

- - - - -
2e1d96cf by Gergő Érdi at 2023-09-14T23:26:21-04:00
Improvements to the documentation of defaulting plugins

Based on @simonpj's draft and comments in !11117

(cherry picked from commit eaee4d296a0782c1acfde610ed3f0a7c7668c06c)

- - - - -
773d45ad by Krzysztof Gogolewski at 2023-09-14T23:26:21-04:00
Valid hole fits: don't suggest unsafeCoerce (#17940)

(cherry picked from commit a0ccef7a44def216da92a0436249789c363a6f91)

- - - - -
39d5cacc by Matthew Pickering at 2023-09-14T23:26:21-04:00
darwin: Bump MAXOSX_DEPLOYMENT_TARGET to 10.13

This bumps the minumum supported version to 10.13 (High Sierra) which is
6 years old at this point.

Fixes #22938

(cherry picked from commit 261b6747d4dada6ccdfb409513417489a495938c)

- - - - -
beeb794f by Matthew Craven at 2023-09-14T23:26:21-04:00
Unarise: Split Rubbish literals in function args

Fixes #23914.  Also adds a check to STG lint that
these args are properly unary or nullary after unarisation

(cherry picked from commit da30f0beb9e1820500382da02ffce96da959fa84)

- - - - -
271cc0ad by Josh Meredith at 2023-09-15T08:28:01-04:00
JS: Implement missing C functions `rename`, `realpath`, and `getcwd` (#23806)

(cherry picked from commit d07080d260075f2c00ec9a3752dbeda4f67ce439)

- - - - -
683d68a0 by Matthew Pickering at 2023-09-15T08:28:01-04:00
Add -Winconsistent-flags warning

The warning fires when inconsistent command line flags are passed.

For example:

* -dynamic-too and -dynamic
* -dynamic-too on windows
* -O and --interactive
* etc

This is on by default and allows users to control whether the warning is
displayed and whether it should be an error or not.

Fixes #22572

(cherry picked from commit 21a906c28da497c2b8390de75270357a7f80e5a7)

- - - - -
8e6d6926 by Finley McIlwaine at 2023-09-15T08:28:01-04:00
Fix numa auto configure

(cherry picked from commit 9217950baf0665c9ec71bdd5aa59710de6d8b31d)

- - - - -
cea2c77a by Josh Meredith at 2023-09-16T09:46:13-04:00
JS: Implement missing C functions `rename`, `realpath`, and `getcwd` (#23806)

(cherry picked from commit d07080d260075f2c00ec9a3752dbeda4f67ce439)

- - - - -
fd068a4b by Ben Gamari at 2023-09-16T09:46:13-04:00
Bump text submodule to text-2.1

See #23758.

- - - - -
7793d9ae by Ben Gamari at 2023-09-16T09:46:13-04:00
Bump unix submodule to 2.8.2.0

- - - - -


30 changed files:

- .gitlab/gen_ci.hs
- .gitlab/jobs.yaml
- compiler/GHC/Core/Coercion.hs
- compiler/GHC/Driver/DynFlags.hs
- compiler/GHC/Driver/Errors/Ppr.hs
- compiler/GHC/Driver/Flags.hs
- compiler/GHC/Driver/Session.hs
- compiler/GHC/Hs/Type.hs
- compiler/GHC/Parser/Annotation.hs
- compiler/GHC/Parser/PostProcess.hs
- compiler/GHC/Rename/Pat.hs
- compiler/GHC/Stg/Lint.hs
- compiler/GHC/Stg/Unarise.hs
- compiler/GHC/Tc/Errors/Hole.hs
- compiler/GHC/Tc/Errors/Ppr.hs
- compiler/GHC/Tc/Errors/Types.hs
- compiler/GHC/Tc/Solver.hs
- compiler/GHC/Tc/Solver/Monad.hs
- compiler/GHC/Tc/Types.hs
- compiler/GHC/Types/Error/Codes.hs
- compiler/GHC/Types/Literal.hs
- compiler/GHC/Types/RepType.hs
- configure.ac
- docs/users_guide/9.8.1-notes.rst
- docs/users_guide/extending_ghc.rst
- docs/users_guide/exts/safe_haskell.rst
- docs/users_guide/using-warnings.rst
- libraries/base/jsbits/base.js
- libraries/text
- libraries/unix


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/5fb2d38a20e7d04626637055bd383f8e3f119b2d...7793d9aee768d5ff429991218dc1e0c4a756872f

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/5fb2d38a20e7d04626637055bd383f8e3f119b2d...7793d9aee768d5ff429991218dc1e0c4a756872f
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/20230916/8f75ea9d/attachment-0001.html>


More information about the ghc-commits mailing list