Florian Ragwitz pushed to branch wip/rafl/fix-changelog at Glasgow Haskell Compiler / GHC
Commits:
-
65a27cce
by Florian Ragwitz at 2026-10-08T17:31:44-07:00
-
50ff2c14
by Florian Ragwitz at 2026-10-08T17:31:44-07:00
6 changed files:
- changelog.d/26616
- changelog.d/T27329
- changelog.d/boxing-family
- changelog.d/tcplugin_init.md
- changelog.d/unit-index
- docs/users_guide/exts/literals.rst
Changes:
| ... | ... | @@ -3,6 +3,7 @@ synopsis: Fix the interaction of ExplicitLevelImports with qualified imports |
| 3 | 3 | description:
|
| 4 | 4 | GHC now properly considers module qualification when tracking the levels that an identifier
|
| 5 | 5 | is imported at:
|
| 6 | + |
|
| 6 | 7 | - A qualified occurrence must be bound in a corresponding qualified import of the right level.
|
| 7 | 8 | - The level error message now correctly reports the user-written qualification.
|
| 8 | 9 | mrs: !16195
|
| ... | ... | @@ -7,9 +7,9 @@ description: { |
| 7 | 7 | The following language extensions have been marked as deprecated,
|
| 8 | 8 | meaning they will now issue a warning with :ghc-flag:`-Wdeprecated-flags`:
|
| 9 | 9 | |
| 10 | - - :extension:`AlternativeLayoutRule`
|
|
| 11 | - - :extension:`AlternativeLayoutRuleTransitional`
|
|
| 12 | - - :extension:`ParallelArrays`
|
|
| 10 | + - ``AlternativeLayoutRule``
|
|
| 11 | + - ``AlternativeLayoutRuleTransitional``
|
|
| 12 | + - ``ParallelArrays``
|
|
| 13 | 13 | - :extension:`PolymorphicComponents`
|
| 14 | 14 | - :extension:`Rank2Types`
|
| 15 | 15 | } |
| ... | ... | @@ -14,6 +14,6 @@ description: |
| 14 | 14 | comprehensions). The main two issues fixed are:
|
| 15 | 15 | |
| 16 | 16 | - GHC can now box types of any representation, including unboxed tuples,
|
| 17 | - unboxed sums, ``AddrRep`` and all ``VecRep``s. This fixes #20864.
|
|
| 17 | + unboxed sums, ``AddrRep`` and all ``VecRep``\s. This fixes #20864.
|
|
| 18 | 18 | - GHC can now box in the middle of typechecking, before the representation
|
| 19 | 19 | of the value to box has even been determined. This fixes #25065. |
| ... | ... | @@ -12,13 +12,13 @@ description: |
| 12 | 12 | The fields ``tcPluginStop :: s -> TcPluginM ()`` and ``dePluginStop :: s -> TcPluginM ()``
|
| 13 | 13 | are replaced by the two fields::
|
| 14 | 14 | |
| 15 | - tcPluginPostTc :: s -> TcPluginM ()
|
|
| 16 | - tcPluginShutdown :: s -> IO ()
|
|
| 15 | + tcPluginPostTc :: s -> TcPluginM ()
|
|
| 16 | + tcPluginShutdown :: s -> IO ()
|
|
| 17 | 17 | |
| 18 | 18 | respectively::
|
| 19 | 19 | |
| 20 | - dePluginPostTc :: s -> TcPluginM ()
|
|
| 21 | - dePluginShutdown :: s -> IO ()
|
|
| 20 | + dePluginPostTc :: s -> TcPluginM ()
|
|
| 21 | + dePluginShutdown :: s -> IO ()
|
|
| 22 | 22 | |
| 23 | 23 | The "post-tc" actions are run at the end of typechecking, and can be used to
|
| 24 | 24 | inspect the final ``TcGblEnv``/``TcLclEnv`` of the module being typechecker.
|
| 1 | 1 | section: compiler
|
| 2 | -synopsis: Use global ``UnitIndex`` to deduplicate ``UnitInfo``s over multiple home units
|
|
| 2 | +synopsis: Use global ``UnitIndex`` to deduplicate ``UnitInfo``\s over multiple home units
|
|
| 3 | 3 | issues: #27500 #26423 #27748 #27834 #27835
|
| 4 | 4 | mrs: !16115 !16598 !16743 !16748
|
| 5 | 5 | |
| 6 | 6 | description: {
|
| 7 | - The ``UnitState`` used to be duplicated for all ``HomeUnitEnv``, not sharing any of the ``UnitInfo``s.
|
|
| 7 | + The ``UnitState`` used to be duplicated for all ``HomeUnitEnv``, not sharing any of the ``UnitInfo``\s.
|
|
| 8 | 8 | This can lead to excessive memory usage with multiple home units and large package databases.
|
| 9 | 9 | |
| 10 | - Our solution to this problem is deduplicating ``UnitInfo``s globally across the whole ``UnitEnv``.
|
|
| 11 | - We store this information in the ``UnitIndex`` which contains data global to all ``UnitState``s.
|
|
| 12 | - All processed ``UnitInfo``s and the ``WiredMap`` are stored in there, and in the future, we might
|
|
| 10 | + Our solution to this problem is deduplicating ``UnitInfo``\s xxx globally across the whole ``UnitEnv``.
|
|
| 11 | + We store this information in the ``UnitIndex`` which contains data global to all ``UnitState``\s.
|
|
| 12 | + All processed ``UnitInfo``\s and the ``WiredMap`` are stored in there, and in the future, we might
|
|
| 13 | 13 | move more fields from ``UnitState`` to ``UnitIndex``.
|
| 14 | 14 | } |
| ... | ... | @@ -15,3 +15,4 @@ Literals |
| 15 | 15 | overloaded_strings
|
| 16 | 16 | overloaded_labels
|
| 17 | 17 | multiline_strings
|
| 18 | + qualified_strings |