[Git][ghc/ghc][ghc-9.8] 24 commits: rel-notes: Mention template variable matching proposal

Ben Gamari (@bgamari) gitlab at gitlab.haskell.org
Fri Sep 15 14:57:44 UTC 2023



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


Commits:
8291f29e by Ben Gamari at 2023-09-13T18:02:11-04:00
rel-notes: Mention template variable matching proposal

- - - - -
eee6be40 by Ben Gamari at 2023-09-13T18:02:11-04:00
base: Advertise linear time of readFloat

As noted in #23538, `readFloat` has runtime that scales nonlinearly in
the size of its input. Consequently, its use on untrusted input can
be exploited as a denial-of-service vector. Point this out and suggest
use of `read` instead.

See #23538.

- - - - -
ae38fa41 by Krzysztof Gogolewski at 2023-09-13T18:04:04-04:00
Fix MultiWayIf linearity checking (#23814)

Co-authored-by: Thomas BAGREL <thomas.bagrel at tweag.io>
(cherry picked from commit edd8bc43566b3f002758e5d08c399b6f4c3d7443)

- - - - -
89f6bc6d by Ben Gamari at 2023-09-13T18:05:35-04:00
base: Don't use Data.ByteString.Internals.memcpy

This function is now deprecated from `bytestring`. Use
`Foreign.Marshal.Utils.copyBytes` instead.

Fixes #23880.

(cherry picked from commit 6ccd9d657b33bc6237d8e046ca3b07c803645130)

- - - - -
da5121f6 by Alexander Esgen at 2023-09-13T18:05:59-04:00
users-guide: remove note about fatal Haddock parse failures

(cherry picked from commit a05cdaf018688491625066c0041a4686301d4bc2)

- - - - -
5559e59e by Ben Gamari at 2023-09-13T18:36:33-04:00
Introduce GHC.Rename.Utils.delLocalNames

- - - - -
00dcc7d9 by Ben Gamari at 2023-09-13T18:36:33-04:00
Introduce GHC.Types.Name.Reader.minusLocalRdrEnvList

- - - - -
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)

- - - - -


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/Rename/Utils.hs
- compiler/GHC/Stg/Lint.hs
- compiler/GHC/Stg/Unarise.hs
- compiler/GHC/StgToCmm/InfoTableProv.hs
- compiler/GHC/Tc/Errors/Hole.hs
- compiler/GHC/Tc/Errors/Ppr.hs
- compiler/GHC/Tc/Errors/Types.hs
- compiler/GHC/Tc/Gen/Expr.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/Name/Reader.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


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/364142c372d5ab91b2579d0a3c21d8311139cb10...8e6d6926a18cdd82ba58a2f0461305301aa0d4d8

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/364142c372d5ab91b2579d0a3c21d8311139cb10...8e6d6926a18cdd82ba58a2f0461305301aa0d4d8
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/20230915/64955162/attachment-0001.html>


More information about the ghc-commits mailing list