Zubin pushed to branch ghc-10.0 at Glasgow Haskell Compiler / GHC
Commits:
-
53fd9e34
by Vladislav Zavialov at 2026-04-27T22:00:02+03:00
10 changed files:
- compiler/GHC/Driver/Flags.hs
- docs/users_guide/debug-info.rst
- docs/users_guide/exts/explicit_namespaces.rst
- docs/users_guide/exts/linear_types.rst
- docs/users_guide/exts/modifiers.rst
- docs/users_guide/exts/qualified_strings.rst
- docs/users_guide/exts/required_type_arguments.rst
- docs/users_guide/using-warnings.rst
- docs/users_guide/using.rst
- testsuite/tests/typecheck/should_fail/all.T
Changes:
| ... | ... | @@ -1112,9 +1112,9 @@ data WarningFlag = |
| 1112 | 1112 | -- ^ @since 9.14, scheduled to be removed in 9.18
|
| 1113 | 1113 | --
|
| 1114 | 1114 | -- See Note [Quantifying over equalities in RULES] in GHC.Tc.Gen.Sig
|
| 1115 | - | Opt_WarnUnusableUnpackPragmas -- Since 9.14
|
|
| 1116 | - | Opt_WarnPatternNamespaceSpecifier -- Since 9.14
|
|
| 1117 | - | Opt_WarnUnrecognisedModifiers -- ^ @since 9.16
|
|
| 1115 | + | Opt_WarnUnusableUnpackPragmas -- ^ @since 9.14
|
|
| 1116 | + | Opt_WarnPatternNamespaceSpecifier -- ^ @since 9.14
|
|
| 1117 | + | Opt_WarnUnrecognisedModifiers -- ^ @since 10.0
|
|
| 1118 | 1118 | deriving (Eq, Ord, Show, Enum, Bounded)
|
| 1119 | 1119 | |
| 1120 | 1120 | -- | Return the names of a WarningFlag
|
| ... | ... | @@ -1377,7 +1377,7 @@ standardWarnings -- see Note [Documenting warning flags] |
| 1377 | 1377 | Opt_WarnTypeEqualityRequiresOperators,
|
| 1378 | 1378 | Opt_WarnInconsistentFlags,
|
| 1379 | 1379 | Opt_WarnTypeEqualityOutOfScope,
|
| 1380 | - Opt_WarnImplicitRhsQuantification, -- was in -Wcompat since 9.8, enabled by default since 9.14, to turn into a hard error in 9.16
|
|
| 1380 | + Opt_WarnImplicitRhsQuantification, -- was in -Wcompat since 9.8, enabled by default since 9.14, to turn into a hard error in 10.2 (#25911)
|
|
| 1381 | 1381 | Opt_WarnViewPatternSignatures,
|
| 1382 | 1382 | Opt_WarnUselessSpecialisations,
|
| 1383 | 1383 | Opt_WarnDeprecatedPragmas,
|
| ... | ... | @@ -478,7 +478,7 @@ to a source location. This lookup table is generated by using the ``-finfo-table |
| 478 | 478 | :type: dynamic
|
| 479 | 479 | :category: debugging
|
| 480 | 480 | |
| 481 | - :since: 9.16
|
|
| 481 | + :since: 10.0
|
|
| 482 | 482 | |
| 483 | 483 | Disable generation of distinct info tables for all constructors.
|
| 484 | 484 | |
| ... | ... | @@ -488,7 +488,7 @@ to a source location. This lookup table is generated by using the ``-finfo-table |
| 488 | 488 | :type: dynamic
|
| 489 | 489 | :category: debugging
|
| 490 | 490 | |
| 491 | - :since: 9.16
|
|
| 491 | + :since: 10.0
|
|
| 492 | 492 | |
| 493 | 493 | The entries in the info table map resulting from
|
| 494 | 494 | :ghc-flag:`-fdistinct-constructor-tables` flag may significantly
|
| ... | ... | @@ -121,7 +121,7 @@ there is a need to support older GHC versions. |
| 121 | 121 | Wildcards in import/export lists
|
| 122 | 122 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
| 123 | 123 | |
| 124 | -**Since:** GHC 9.16
|
|
| 124 | +**Since:** GHC 10.0
|
|
| 125 | 125 | |
| 126 | 126 | Namespace-specified wildcards ``type ..`` and ``data ..`` may be used to import
|
| 127 | 127 | all names in the corresponding namespace from a module: ::
|
| ... | ... | @@ -318,7 +318,7 @@ hidden; it is an essential part of the exposed interface.) |
| 318 | 318 | |
| 319 | 319 | Interaction with Modifiers
|
| 320 | 320 | --------------------------
|
| 321 | -Since GHC version 9.16, Linear types use :extension:`Modifiers` syntax, and by
|
|
| 321 | +Since GHC version 10.0, Linear types use :extension:`Modifiers` syntax, and by
|
|
| 322 | 322 | default enable that extension. In earlier versions, linear types used a more
|
| 323 | 323 | restricted variant of that syntax.
|
| 324 | 324 |
| ... | ... | @@ -6,7 +6,7 @@ Modifiers |
| 6 | 6 | .. extension:: Modifiers
|
| 7 | 7 | :shortdesc: Allow experimental modifier syntax.
|
| 8 | 8 | |
| 9 | - :since: 9.16
|
|
| 9 | + :since: 10.0
|
|
| 10 | 10 | :status: Experimental
|
| 11 | 11 | |
| 12 | 12 | Enable modifier syntax in various places, such as arrows (``a %m -> b``) and
|
| ... | ... | @@ -138,10 +138,10 @@ and limitations. |
| 138 | 138 | let %1 (Just x) = ... -- (2b)
|
| 139 | 139 | let %1 !(Just x) = ... -- (2c)
|
| 140 | 140 | |
| 141 | - In 9.14, (1a) and (2a) parsed as (1b) and (2b) respectively. From 9.16, (1a)
|
|
| 141 | + In 9.14, (1a) and (2a) parsed as (1b) and (2b) respectively. From 10.0, (1a)
|
|
| 142 | 142 | parses as (1d), and (2a) fails to parse.
|
| 143 | 143 | |
| 144 | - Note that linear bindings must be strict. (1c) and (2c) parse in 9.16 the same
|
|
| 144 | + Note that linear bindings must be strict. (1c) and (2c) parse in 10.0 the same
|
|
| 145 | 145 | as in 9.14. But with ``-XStrict`` enabled, (1a) and (2a) would previously have
|
| 146 | 146 | been accepted, and are now rejected, even with
|
| 147 | 147 | ``-XLinearTypes -XNoModifiers``. |
| ... | ... | @@ -6,7 +6,7 @@ Qualified string literals |
| 6 | 6 | .. extension:: QualifiedStrings
|
| 7 | 7 | :shortdesc: Enable qualified string literals.
|
| 8 | 8 | |
| 9 | - :since: 9.16.1
|
|
| 9 | + :since: 10.0.1
|
|
| 10 | 10 | |
| 11 | 11 | Enable qualified string literals.
|
| 12 | 12 |
| ... | ... | @@ -303,7 +303,7 @@ A few limitations apply: |
| 303 | 303 | * In term syntax, in positions where ``*`` is a direct argument to ``->``, e.g.
|
| 304 | 304 | in ``f (* -> * -> *)`` and ``f (* -> Constraint)``, the ``*``\s stand for
|
| 305 | 305 | ``Type``, provided the :extension:`StarIsType` extension is enabled.
|
| 306 | - This is supported from GHC 9.16 onwards; earlier versions will produce
|
|
| 306 | + This is supported from GHC 10.0 onwards; earlier versions will produce
|
|
| 307 | 307 | a parse error.
|
| 308 | 308 | |
| 309 | 309 | What to do instead: use ``Type`` from the ``Data.Kind`` module.
|
| ... | ... | @@ -2711,7 +2711,7 @@ of ``-W(no-)*``. |
| 2711 | 2711 | :type: dynamic
|
| 2712 | 2712 | :reverse: -Wno-unrecognised-modifiers
|
| 2713 | 2713 | |
| 2714 | - :since: 9.16
|
|
| 2714 | + :since: 10.0
|
|
| 2715 | 2715 | |
| 2716 | 2716 | :default: on
|
| 2717 | 2717 |
| ... | ... | @@ -1618,7 +1618,7 @@ Some flags only make sense for particular target platforms. |
| 1618 | 1618 | :type: dynamic
|
| 1619 | 1619 | :category: platform-options
|
| 1620 | 1620 | |
| 1621 | - :since: 9.16.1
|
|
| 1621 | + :since: 10.0.1
|
|
| 1622 | 1622 | :implies: :ghc-flag:`-mavx512f`
|
| 1623 | 1623 | |
| 1624 | 1624 | (x86 only) This flag allows the code generator (whether the :ref:`native code generator <native-code-gen>`
|
| ... | ... | @@ -1639,7 +1639,7 @@ Some flags only make sense for particular target platforms. |
| 1639 | 1639 | :type: dynamic
|
| 1640 | 1640 | :category: platform-options
|
| 1641 | 1641 | |
| 1642 | - :since: 9.16.1
|
|
| 1642 | + :since: 10.0.1
|
|
| 1643 | 1643 | :implies: :ghc-flag:`-mavx512f`
|
| 1644 | 1644 | |
| 1645 | 1645 | (x86 only) This flag allows the code generator (whether the :ref:`native code generator <native-code-gen>`
|
| ... | ... | @@ -1684,7 +1684,7 @@ Some flags only make sense for particular target platforms. |
| 1684 | 1684 | :type: dynamic
|
| 1685 | 1685 | :category: platform-options
|
| 1686 | 1686 | |
| 1687 | - :since: 9.16.1
|
|
| 1687 | + :since: 10.0.1
|
|
| 1688 | 1688 | :implies: :ghc-flag:`-mavx512f`
|
| 1689 | 1689 | |
| 1690 | 1690 | (x86 only) This flag allows the code generator (whether the :ref:`native code generator <native-code-gen>`
|
| ... | ... | @@ -1823,7 +1823,7 @@ Some flags only make sense for particular target platforms. |
| 1823 | 1823 | :type: dynamic
|
| 1824 | 1824 | :category: platform-options
|
| 1825 | 1825 | |
| 1826 | - :since: 9.16.1
|
|
| 1826 | + :since: 10.0.1
|
|
| 1827 | 1827 | |
| 1828 | 1828 | (x86 only) This flag allows the code generator (whether the :ref:`native code generator <native-code-gen>`
|
| 1829 | 1829 | or the :ref:`LLVM backend <llvm-code-gen>`) to emit x86 GFNI instructions.
|
| ... | ... | @@ -720,7 +720,7 @@ test('T17940', normal, compile_fail, ['']) |
| 720 | 720 | test('ErrorIndexLinks', normal, compile_fail, ['-fprint-error-index-links=always'])
|
| 721 | 721 | test('T24064', normal, compile_fail, [''])
|
| 722 | 722 | test('T24090a', normal, compile_fail, [''])
|
| 723 | -test('T24090b', normal, compile, ['']) # scheduled to become an actual error in GHC 9.16
|
|
| 723 | +test('T24090b', normal, compile, ['']) # scheduled to become an actual error in GHC 10.2 (#25911)
|
|
| 724 | 724 | test('T24298', normal, compile_fail, [''])
|
| 725 | 725 | test('T24279', normal, compile, ['']) # Now accepted (Nov 2025)
|
| 726 | 726 | test('T24318', normal, compile_fail, [''])
|