Zubin pushed to branch ghc-10.0 at Glasgow Haskell Compiler / GHC

Commits:

10 changed files:

Changes:

  • compiler/GHC/Driver/Flags.hs
    ... ... @@ -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,
    

  • docs/users_guide/debug-info.rst
    ... ... @@ -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
    

  • docs/users_guide/exts/explicit_namespaces.rst
    ... ... @@ -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: ::
    

  • docs/users_guide/exts/linear_types.rst
    ... ... @@ -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
     
    

  • docs/users_guide/exts/modifiers.rst
    ... ... @@ -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``.

  • docs/users_guide/exts/qualified_strings.rst
    ... ... @@ -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
     
    

  • docs/users_guide/exts/required_type_arguments.rst
    ... ... @@ -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.
    

  • docs/users_guide/using-warnings.rst
    ... ... @@ -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
     
    

  • docs/users_guide/using.rst
    ... ... @@ -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.
    

  • testsuite/tests/typecheck/should_fail/all.T
    ... ... @@ -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, [''])