[Git][ghc/ghc][wip/ghc-9.8] 8 commits: Add support for deprecating exported items (proposal #134)

Ben Gamari (@bgamari) gitlab at gitlab.haskell.org
Fri Jul 7 00:12:18 UTC 2023



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


Commits:
711b1d24 by Bartłomiej Cieślar at 2023-06-21T12:59:27-04:00
Add support for deprecating exported items (proposal #134)

This is an implementation of the deprecated exports proposal #134.
The proposal introduces an ability to introduce warnings to exports.
This allows for deprecating a name only when it is exported from a specific
module, rather than always depreacting its usage. In this example:

    module A ({-# DEPRECATED "do not use" #-} x) where
    x = undefined
    ---
    module B where
    import A(x)

`x` will emit a warning when it is explicitly imported.

Like the declaration warnings, export warnings are first accumulated within
the `Warnings` struct, then passed into the ModIface, from which they are
then looked up and warned about in the importing module in the `lookup_ie`
helpers of the `filterImports` function (for the explicitly imported names)
and in the `addUsedGRE(s)` functions where they warn about regular usages
of the imported name.

In terms of the AST information, the custom warning is stored in the
extension field of the variants of the `IE` type (see Trees that Grow for
more information).

The commit includes a bump to the haddock submodule added in MR #28

Signed-off-by: Bartłomiej Cieślar <bcieslar2001 at gmail.com>

- - - - -
c1865854 by Ben Gamari at 2023-06-21T12:59:30-04:00
configure: Bump version to 9.8

Bumps Haddock submodule

- - - - -
afbdcbb7 by Ben Gamari at 2023-07-01T17:47:10-04:00
Bump deepseq bound to allow 1.5

- - - - -
b66c4692 by Ben Gamari at 2023-07-05T09:26:15-04:00
base: Bump version to 4.19

Updates all boot library submodules.

- - - - -
692afb12 by Ben Gamari at 2023-07-05T09:26:32-04:00
configure: Bump minimal boot GHC version to 9.4

- - - - -
39706ce9 by Ben Gamari at 2023-07-06T20:08:18-04:00
template-haskell: Bump version to 2.21.0.0

- - - - -
5a35933b by Matthew Pickering at 2023-07-06T20:08:19-04:00
ghcup-metadata: Use dynamically linked alpine bindists

In theory these will work much better on alpine to allow people to build
statically linked applications there. We don't need to distribute a
statically linked application ourselves in order to allow that.

Fixes #23602

(cherry picked from commit 6295416ba0bc3e729b1f3dea56ef5d722f98ee9d)

- - - - -
d7ed0ae9 by Matthew Pickering at 2023-07-06T20:08:19-04:00
ghcup-metadata: Also updates ghcup-nightlies-0.0.7.yaml file

Fixes #23600

(cherry picked from commit 75b8b39a860a643b78405787bac582ba7cc3cb21)

- - - - -


30 changed files:

- .gitlab-ci.yml
- .gitlab/gen_ci.hs
- compiler/GHC.hs
- compiler/GHC/Driver/Flags.hs
- compiler/GHC/Driver/Session.hs
- compiler/GHC/Hs/ImpExp.hs
- compiler/GHC/Iface/Make.hs
- compiler/GHC/Iface/Recomp.hs
- compiler/GHC/Iface/Syntax.hs
- compiler/GHC/Parser.y
- compiler/GHC/Parser/PostProcess.hs
- compiler/GHC/Rename/Env.hs
- compiler/GHC/Rename/Module.hs
- compiler/GHC/Rename/Names.hs
- compiler/GHC/Rename/Pat.hs
- compiler/GHC/Runtime/Loader.hs
- compiler/GHC/Tc/Errors/Ppr.hs
- compiler/GHC/Tc/Errors/Types.hs
- compiler/GHC/Tc/Gen/Export.hs
- compiler/GHC/Tc/Gen/Expr.hs
- compiler/GHC/Tc/Instance/Class.hs
- compiler/GHC/Tc/Module.hs
- compiler/GHC/Tc/Solver/Monad.hs
- compiler/GHC/Tc/Utils/Backpack.hs
- compiler/GHC/Tc/Utils/Monad.hs
- compiler/GHC/Types/Error/Codes.hs
- compiler/GHC/Types/Hint/Ppr.hs
- compiler/GHC/Types/Name/Env.hs
- compiler/GHC/Types/Name/Reader.hs
- compiler/GHC/Unit/Module/ModIface.hs


The diff was not included because it is too large.


View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/c4162591821d661929db3d54d119b2d4ca15e834...d7ed0ae9f41153f8a1158f64c14f29f49fb4ac02

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/c4162591821d661929db3d54d119b2d4ca15e834...d7ed0ae9f41153f8a1158f64c14f29f49fb4ac02
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/20230706/875e34b4/attachment.html>


More information about the ghc-commits mailing list