[Git][ghc/ghc][wip/9.4.8-backports] 3 commits: Add missing int64/word64-to-double/float rules (#23907)

Zubin (@wz1000) gitlab at gitlab.haskell.org
Tue Nov 7 11:41:48 UTC 2023



Zubin pushed to branch wip/9.4.8-backports at Glasgow Haskell Compiler / GHC


Commits:
0d758dc3 by Sylvain Henry at 2023-11-07T17:11:37+05:30
Add missing int64/word64-to-double/float rules (#23907)

CLC proposal: https://github.com/haskell/core-libraries-committee/issues/203

(cherry picked from commit 5126a2fef0385e206643b6af0543d10ff0c219d8)

- - - - -
9c4e994b by Simon Peyton Jones at 2023-11-07T17:11:37+05:30
Fix eta reduction

Issue #23922 showed that GHC was bogusly eta-reducing a join point.
We should never eta-reduce (\x -> j x) to j, if j is a join point.

It is extremly difficult to trigger this bug.  It took me 45 mins of
trying to make a small tests case, here immortalised as T23922a.

(cherry picked from commit 6840012e5bb8f5c13e4bf7a4e4cbba0b06420aaa)

- - - - -
002b54bf by Zubin Duggal at 2023-11-07T17:11:37+05:30
Prepare release 9.4.8

- - - - -


29 changed files:

- compiler/GHC/Core/Utils.hs
- configure.ac
- docs/users_guide/9.4.7-notes.rst
- + docs/users_guide/9.4.8-notes.rst
- docs/users_guide/release-notes.rst
- libraries/base/GHC/Float.hs
- libraries/base/base.cabal
- libraries/base/changelog.md
- testsuite/tests/backpack/cabal/bkpcabal02/bkpcabal02.stdout
- testsuite/tests/cabal/t18567/T18567.stderr
- testsuite/tests/dependent/should_compile/T14729.stderr
- testsuite/tests/dependent/should_compile/T15743.stderr
- testsuite/tests/dependent/should_compile/T15743e.stderr
- testsuite/tests/indexed-types/should_compile/T15711.stderr
- testsuite/tests/indexed-types/should_compile/T15852.stderr
- + testsuite/tests/numeric/should_compile/T23907.hs
- + testsuite/tests/numeric/should_compile/T23907.stderr
- testsuite/tests/numeric/should_compile/all.T
- testsuite/tests/polykinds/T15592.stderr
- testsuite/tests/polykinds/T15592b.stderr
- testsuite/tests/printer/T18052a.stderr
- + testsuite/tests/simplCore/should_compile/T23922a.hs
- testsuite/tests/simplCore/should_compile/all.T
- testsuite/tests/th/T21547.stderr
- testsuite/tests/typecheck/should_compile/T12763.stderr
- testsuite/tests/typecheck/should_compile/T18406b.stderr
- testsuite/tests/typecheck/should_compile/T18529.stderr
- testsuite/tests/typecheck/should_compile/T21023.stderr
- testsuite/tests/typecheck/should_compile/subsumption_sort_hole_fits.stderr


Changes:

=====================================
compiler/GHC/Core/Utils.hs
=====================================
@@ -2464,17 +2464,22 @@ tryEtaReduce rec_ids bndrs body
     ok_fun (App fun (Type {})) = ok_fun fun
     ok_fun (Cast fun _)        = ok_fun fun
     ok_fun (Tick _ expr)       = ok_fun expr
-    ok_fun (Var fun_id)        = ok_fun_id fun_id || all ok_lam bndrs
+    ok_fun (Var fun_id)        = ok_fun_id fun_id
     ok_fun _fun                = False
 
     ---------------
-    ok_fun_id fun =
-      -- Don't eta-reduce in fun in its own recursive RHSs
-      not (fun `elemUnVarSet` rec_ids) &&            -- criterion (R)
-      -- There are arguments to reduce...
-      fun_arity fun >= incoming_arity &&
-      -- ... and the function can be eta reduced to arity 0
-      canEtaReduceToArity fun 0 0
+    ok_fun_id fun
+      | fun `elemUnVarSet` rec_ids          -- Criterion (R)
+      = False -- Don't eta-reduce in fun in its own recursive RHSs
+
+      | canEtaReduceToArity fun 0 0         -- Criteria (L), (J), (W), (B)
+      = False -- Function can't be eta reduced to arity 0
+              -- without violating invariants of Core and GHC
+      | otherwise
+      = -- Check that eta-reduction won't make the program stricter...
+        fun_arity fun >= incoming_arity          -- Criterion (A) and (E)
+        || all ok_lam bndrs                      -- Criterion (T)
+
     ---------------
     fun_arity fun             -- See Note [Arity care]
        | arity > 0                           = arity


=====================================
configure.ac
=====================================
@@ -13,7 +13,7 @@ dnl
 # see what flags are available. (Better yet, read the documentation!)
 #
 
-AC_INIT([The Glorious Glasgow Haskell Compilation System], [9.4.7], [glasgow-haskell-bugs at haskell.org], [ghc-AC_PACKAGE_VERSION])
+AC_INIT([The Glorious Glasgow Haskell Compilation System], [9.4.8], [glasgow-haskell-bugs at haskell.org], [ghc-AC_PACKAGE_VERSION])
     # Version on master must be X.Y (not X.Y.Z) for ProjectVersionMunged variable
     # to be useful (cf #19058). However, the version must have three components
     # (X.Y.Z) on stable branches (e.g. ghc-9.2) to ensure that pre-releases are


=====================================
docs/users_guide/9.4.7-notes.rst
=====================================
@@ -1,4 +1,4 @@
-.. _release-9-4-6:
+.. _release-9-4-7:
 
 Version 9.4.7
 ==============


=====================================
docs/users_guide/9.4.8-notes.rst
=====================================
@@ -0,0 +1,99 @@
+.. _release-9-4-8:
+
+Version 9.4.8
+==============
+
+The significant changes to the various parts of the compiler are listed in the
+following sections.
+
+The :ghc-flag:`LLVM backend <-fllvm>` of this release is to be used with LLVM
+10, 11, 12, 13, or 14.
+
+Significant Changes
+~~~~~~~~~~~~~~~~~~~~
+
+Issues fixed in this release include:
+
+Compiler
+--------
+
+- Fix a recompilation checking bug where GHC may miss changes in transitive
+  dependencies when deciding to relink a program (:ghc-ticket:`23724`).
+- Fix a compiler panic resulting from incorrect eta-reduction of join points
+  (:ghc-ticket:`23922`).
+- Fix a code generator bug on AArch64 platforms resulting in invalid conditional
+  jumps (:ghc-ticket:`23746`).
+- Improve STG code generation in certain scenarios (:ghc-ticket:`23783`).
+- Fix a bug where we could silently truncate 64 bit values to 32 bit on
+  32 bit architectures.
+- Fix ``-split-sections`` on Windows (:ghc-ticket:`22834`).
+
+Runtime system
+--------------
+
+- Remove an assertion prone to race conditions (:ghc-ticket:`22563`).
+- Fix some crashes and loops with the non-moving GC (:ghc-ticket:`24042, :ghc-ticket:`23003`).
+- Properly escape characters when writing JSON profiles (``-pJ``) (:ghc-ticket:`23924`).
+
+Build system and packaging
+--------------------------
+
+- Ensure ``-split-sections`` is enabled while building binary distributions for
+  all platforms where this is supported (:ghc-ticket:`21135`).
+- Make the configure script use ``AC_PATH_TOOL`` instead of ``AC_PATH_PROG`` to
+  detect tools, making cross-compilation easier (:ghc-ticket:`21601`).
+- Fix a bug where ``-DNOSMP`` wasn't being passed to the C compiler even if the
+  target doesn't support SMP (:ghc-ticket:`24082`).
+
+Core libraries
+--------------
+
+- Bump ``base`` to 4.17.2.1
+- Bump ``bytestring`` to 0.11.5.3
+- Bump ``process`` to 1.6.18.0
+
+Included libraries
+------------------
+
+The package database provided with this distribution also contains a number of
+packages other than GHC itself. See the changelogs provided with these packages
+for further change information.
+
+.. ghc-package-list::
+
+    libraries/array/array.cabal:             Dependency of ``ghc`` library
+    libraries/base/base.cabal:               Core library
+    libraries/binary/binary.cabal:           Dependency of ``ghc`` library
+    libraries/bytestring/bytestring.cabal:   Dependency of ``ghc`` library
+    libraries/Cabal/Cabal/Cabal.cabal:       Dependency of ``ghc-pkg`` utility
+    libraries/Cabal/Cabal-syntax/Cabal-syntax.cabal:  Dependency of ``ghc-pkg`` utility
+    libraries/containers/containers/containers.cabal: Dependency of ``ghc`` library
+    libraries/deepseq/deepseq.cabal:         Dependency of ``ghc`` library
+    libraries/directory/directory.cabal:     Dependency of ``ghc`` library
+    libraries/exceptions/exceptions.cabal:   Dependency of ``ghc`` and ``haskeline`` library
+    libraries/filepath/filepath.cabal:       Dependency of ``ghc`` library
+    compiler/ghc.cabal:                      The compiler itself
+    libraries/ghci/ghci.cabal:               The REPL interface
+    libraries/ghc-boot/ghc-boot.cabal:       Internal compiler library
+    libraries/ghc-boot-th/ghc-boot-th.cabal: Internal compiler library
+    libraries/ghc-compact/ghc-compact.cabal: Core library
+    libraries/ghc-heap/ghc-heap.cabal:       GHC heap-walking library
+    libraries/ghc-prim/ghc-prim.cabal:       Core library
+    libraries/haskeline/haskeline.cabal:     Dependency of ``ghci`` executable
+    libraries/hpc/hpc.cabal:                 Dependency of ``hpc`` executable
+    libraries/integer-gmp/integer-gmp.cabal: Core library
+    libraries/libiserv/libiserv.cabal:       Internal compiler library
+    libraries/mtl/mtl.cabal:                 Dependency of ``Cabal`` library
+    libraries/parsec/parsec.cabal:           Dependency of ``Cabal`` library
+    libraries/pretty/pretty.cabal:           Dependency of ``ghc`` library
+    libraries/process/process.cabal:         Dependency of ``ghc`` library
+    libraries/stm/stm.cabal:                 Dependency of ``haskeline`` library
+    libraries/template-haskell/template-haskell.cabal: Core library
+    libraries/terminfo/terminfo.cabal:       Dependency of ``haskeline`` library
+    libraries/text/text.cabal:               Dependency of ``Cabal`` library
+    libraries/time/time.cabal:               Dependency of ``ghc`` library
+    libraries/transformers/transformers.cabal: Dependency of ``ghc`` library
+    libraries/unix/unix.cabal:               Dependency of ``ghc`` library
+    libraries/Win32/Win32.cabal:             Dependency of ``ghc`` library
+    libraries/xhtml/xhtml.cabal:             Dependency of ``haddock`` executable
+


=====================================
docs/users_guide/release-notes.rst
=====================================
@@ -4,6 +4,7 @@ Release notes
 .. toctree::
    :maxdepth: 1
 
+   9.4.8-notes
    9.4.7-notes
    9.4.6-notes
    9.4.5-notes


=====================================
libraries/base/GHC/Float.hs
=====================================
@@ -1613,3 +1613,22 @@ foreign import prim "stg_doubleToWord64zh"
 
 "Word# -> Natural -> Double#"
   forall x. naturalToDouble# (NS x) = word2Double# x #-}
+
+-- We don't have word64ToFloat/word64ToDouble primops (#23908), only
+-- word2Float/word2Double, so we can only perform these transformations when
+-- word-size is 64-bit.
+#if WORD_SIZE_IN_BITS == 64
+{-# RULES
+
+"Int64# -> Integer -> Float#"
+  forall x. integerToFloat# (integerFromInt64# x) = int2Float# (int64ToInt# x)
+
+"Int64# -> Integer -> Double#"
+  forall x. integerToDouble# (integerFromInt64# x) = int2Double# (int64ToInt# x)
+
+"Word64# -> Integer -> Float#"
+  forall x. integerToFloat# (integerFromWord64# x) = word2Float# (word64ToWord# x)
+
+"Word64# -> Integer -> Double#"
+  forall x. integerToDouble# (integerFromWord64# x) = word2Double# (word64ToWord# x) #-}
+#endif


=====================================
libraries/base/base.cabal
=====================================
@@ -1,6 +1,6 @@
 cabal-version:  3.0
 name:           base
-version:        4.17.2.0
+version:        4.17.2.1
 -- NOTE: Don't forget to update ./changelog.md
 
 license:        BSD-3-Clause


=====================================
libraries/base/changelog.md
=====================================
@@ -1,5 +1,11 @@
 # Changelog for [`base` package](http://hackage.haskell.org/package/base)
 
+## 4.17.2.1 *November 2023*
+
+   * Add missing int64/word64-to-double/float rules ([CLC Proposal #203](https://github.com/haskell/core-libraries-committee/issues/203))
+
+   * Improve String & IsString documentation.
+
 ## 4.17.2.0 *August 2023*
 
    * Restore `mingwex` dependency on Windows (#23309).


=====================================
testsuite/tests/backpack/cabal/bkpcabal02/bkpcabal02.stdout
=====================================
@@ -4,4 +4,4 @@ for bkpcabal01-0.1.0.0..
 Preprocessing library 'q' for bkpcabal01-0.1.0.0..
 Building library 'q' instantiated with H = <H>
 for bkpcabal01-0.1.0.0..
-[2 of 2] Instantiating bkpcabal01-0.1.0.0-9EeElPXCwbT1H2r14ZWyw3-p
+[2 of 2] Instantiating bkpcabal01-0.1.0.0-CEUpXjWCty3JAbUU0c8zyO-p


=====================================
testsuite/tests/cabal/t18567/T18567.stderr
=====================================
@@ -2,4 +2,4 @@
 <no location info>: warning: [-Wunused-packages]
     The following packages were specified via -package or -package-id flags,
     but were not needed for compilation:
-      - internal-lib-0.1.0.0 (exposed by flag -package-id internal-lib-0.1.0.0-6LFEauuQzmN1lhf9BsFCch-sublib-unused)
+      - internal-lib-0.1.0.0 (exposed by flag -package-id internal-lib-0.1.0.0-4pSe9cqTgej5hWlpsCk6Gx-sublib-unused)


=====================================
testsuite/tests/dependent/should_compile/T14729.stderr
=====================================
@@ -11,4 +11,4 @@ COERCION AXIOMS
 FAMILY INSTANCES
   type instance F Int = Bool -- Defined at T14729.hs:10:15
 Dependent modules: []
-Dependent packages: [base-4.17.2.0]
+Dependent packages: [base-4.17.2.1]


=====================================
testsuite/tests/dependent/should_compile/T15743.stderr
=====================================
@@ -3,4 +3,4 @@ TYPE CONSTRUCTORS
     forall {k1} k2 (k3 :: k2). Proxy k3 -> k1 -> k2 -> *
     roles nominal nominal nominal phantom phantom phantom
 Dependent modules: []
-Dependent packages: [base-4.17.2.0]
+Dependent packages: [base-4.17.2.1]


=====================================
testsuite/tests/dependent/should_compile/T15743e.stderr
=====================================
@@ -54,4 +54,4 @@ DATA CONSTRUCTORS
                 (d :: Proxy k5) (e :: Proxy k7).
          f c -> T k8 a b f c d e
 Dependent modules: []
-Dependent packages: [base-4.17.2.0]
+Dependent packages: [base-4.17.2.1]


=====================================
testsuite/tests/indexed-types/should_compile/T15711.stderr
=====================================
@@ -3,4 +3,4 @@ TYPE CONSTRUCTORS
   associated type family F{2} :: forall a. Maybe a -> *
     roles nominal nominal
 Dependent modules: []
-Dependent packages: [base-4.17.2.0]
+Dependent packages: [base-4.17.2.1]


=====================================
testsuite/tests/indexed-types/should_compile/T15852.stderr
=====================================
@@ -9,4 +9,4 @@ FAMILY INSTANCES
   data instance forall {k1} {k2} {c :: k1} {j :: k2}.
                   DF (Proxy c) -- Defined at T15852.hs:10:15
 Dependent modules: []
-Dependent packages: [base-4.17.2.0]
+Dependent packages: [base-4.17.2.1]


=====================================
testsuite/tests/numeric/should_compile/T23907.hs
=====================================
@@ -0,0 +1,67 @@
+module T23907 (loop) where
+
+import Data.Word
+import Data.Bits
+
+{-# NOINLINE loop #-}
+loop :: Int -> Double -> SMGen -> (Double, SMGen)
+loop 0 !a !s = (a, s)
+loop n !a !s = loop (n - 1) (a + b) t where (b, t) = nextDouble s
+
+mix64 :: Word64 -> Word64
+mix64 z0 =
+   -- MurmurHash3Mixer
+    let z1 = shiftXorMultiply 33 0xff51afd7ed558ccd z0
+        z2 = shiftXorMultiply 33 0xc4ceb9fe1a85ec53 z1
+        z3 = shiftXor 33 z2
+    in z3
+
+shiftXor :: Int -> Word64 -> Word64
+shiftXor n w = w `xor` (w `shiftR` n)
+
+shiftXorMultiply :: Int -> Word64 -> Word64 -> Word64
+shiftXorMultiply n k w = shiftXor n w * k
+
+nextWord64 :: SMGen -> (Word64, SMGen)
+nextWord64 (SMGen seed gamma) = (mix64 seed', SMGen seed' gamma)
+  where
+    seed' = seed + gamma
+
+nextDouble :: SMGen -> (Double, SMGen)
+nextDouble g = case nextWord64 g of
+    (w64, g') -> (fromIntegral (w64 `shiftR` 11) * doubleUlp, g')
+
+data SMGen = SMGen !Word64 !Word64 -- seed and gamma; gamma is odd
+
+mkSMGen :: Word64 -> SMGen
+mkSMGen s = SMGen (mix64 s) (mixGamma (s + goldenGamma))
+
+goldenGamma :: Word64
+goldenGamma = 0x9e3779b97f4a7c15
+
+floatUlp :: Float
+floatUlp =  1.0 / fromIntegral (1 `shiftL` 24 :: Word32)
+
+doubleUlp :: Double
+doubleUlp =  1.0 / fromIntegral (1 `shiftL` 53 :: Word64)
+
+mix64variant13 :: Word64 -> Word64
+mix64variant13 z0 =
+   -- Better Bit Mixing - Improving on MurmurHash3's 64-bit Finalizer
+   -- http://zimbry.blogspot.fi/2011/09/better-bit-mixing-improving-on.html
+   --
+   -- Stafford's Mix13
+    let z1 = shiftXorMultiply 30 0xbf58476d1ce4e5b9 z0 -- MurmurHash3 mix constants
+        z2 = shiftXorMultiply 27 0x94d049bb133111eb z1
+        z3 = shiftXor 31 z2
+    in z3
+
+mixGamma :: Word64 -> Word64
+mixGamma z0 =
+    let z1 = mix64variant13 z0 .|. 1             -- force to be odd
+        n  = popCount (z1 `xor` (z1 `shiftR` 1))
+    -- see: http://www.pcg-random.org/posts/bugs-in-splitmix.html
+    -- let's trust the text of the paper, not the code.
+    in if n >= 24
+        then z1
+        else z1 `xor` 0xaaaaaaaaaaaaaaaa


=====================================
testsuite/tests/numeric/should_compile/T23907.stderr
=====================================
@@ -0,0 +1,57 @@
+
+==================== Tidy Core ====================
+Result size of Tidy Core
+  = {terms: 90, types: 62, coercions: 0, joins: 0/3}
+
+$WSMGen
+  = \ conrep conrep ->
+      case conrep of { W64# unbx ->
+      case conrep of { W64# unbx -> SMGen unbx unbx }
+      }
+
+Rec {
+$wloop
+  = \ ww ww1 ww2 ww3 ->
+      case ww of ds {
+        __DEFAULT ->
+          let { seed' = plusWord64# ww2 ww3 } in
+          let {
+            x#
+              = timesWord64#
+                  (xor64# seed' (uncheckedShiftRL64# seed' 33#))
+                  18397679294719823053##64 } in
+          let {
+            x#1
+              = timesWord64#
+                  (xor64# x# (uncheckedShiftRL64# x# 33#))
+                  14181476777654086739##64 } in
+          $wloop
+            (-# ds 1#)
+            (+##
+               ww1
+               (*##
+                  (word2Double#
+                     (word64ToWord#
+                        (uncheckedShiftRL64#
+                           (xor64# x#1 (uncheckedShiftRL64# x#1 33#)) 11#)))
+                  1.1102230246251565e-16##))
+            seed'
+            ww3;
+        0# -> (# ww1, ww2, ww3 #)
+      }
+end Rec }
+
+loop
+  = \ ds a s ->
+      case ds of { I# ww ->
+      case a of { D# ww1 ->
+      case s of { SMGen ww2 ww3 ->
+      case $wloop ww ww1 ww2 ww3 of { (# ww4, ww5, ww6 #) ->
+      (D# ww4, SMGen ww5 ww6)
+      }
+      }
+      }
+      }
+
+
+


=====================================
testsuite/tests/numeric/should_compile/all.T
=====================================
@@ -20,3 +20,4 @@ test('T20448', normal, compile, ['-ddump-simpl -O -dsuppress-all -dno-typeable-b
 test('T19641', normal, compile, ['-ddump-simpl -O -dsuppress-all -dno-typeable-binds -dsuppress-uniques'])
 test('T15547', normal, compile, ['-ddump-simpl -O -dsuppress-all -dno-typeable-binds -dsuppress-uniques'])
 test('T23019', normal, compile, ['-O'])
+test('T23907', [ when(wordsize(32), expect_broken(23908))], compile, ['-ddump-simpl -O2 -dsuppress-all -dno-typeable-binds -dsuppress-uniques'])


=====================================
testsuite/tests/polykinds/T15592.stderr
=====================================
@@ -5,4 +5,4 @@ DATA CONSTRUCTORS
   MkT :: forall {k} k1 (f :: k1 -> k -> *) (a :: k1) (b :: k).
          f a b -> T f a b -> T f a b
 Dependent modules: []
-Dependent packages: [base-4.17.2.0]
+Dependent packages: [base-4.17.2.1]


=====================================
testsuite/tests/polykinds/T15592b.stderr
=====================================
@@ -4,4 +4,4 @@ TYPE CONSTRUCTORS
     forall k (f :: k -> *) (a :: k). f a -> *
     roles nominal nominal nominal nominal
 Dependent modules: []
-Dependent packages: [base-4.17.2.0]
+Dependent packages: [base-4.17.2.1]


=====================================
testsuite/tests/printer/T18052a.stderr
=====================================
@@ -6,7 +6,7 @@ TYPE CONSTRUCTORS
 PATTERN SYNONYMS
   (:||:) :: forall {a} {b}. a -> b -> (a, b)
 Dependent modules: []
-Dependent packages: [base-4.17.2.0]
+Dependent packages: [base-4.17.2.1]
 
 ==================== Tidy Core ====================
 Result size of Tidy Core


=====================================
testsuite/tests/simplCore/should_compile/T23922a.hs
=====================================
@@ -0,0 +1,19 @@
+{-# OPTIONS_GHC -O -fworker-wrapper-cbv -dcore-lint -Wno-simplifiable-class-constraints #-}
+{-# LANGUAGE ScopedTypeVariables #-}
+
+-- It is very tricky to tickle this bug in 9.6/9.8!
+-- (It came up in a complicated program due to Mikolaj.)
+--
+-- We need a join point, with only dictionary arguments
+-- whose RHS is just another join-point application, which
+-- can be eta-reduced.
+--
+-- The -fworker-wrapper-cbv makes a wrapper whose RHS looks eta-reducible.
+
+module T23922a where
+
+f :: forall a. Eq a => [a] -> Bool
+f x = let {-# NOINLINE j #-}
+          j :: Eq [a] => Bool
+          j = x==x
+      in j


=====================================
testsuite/tests/simplCore/should_compile/all.T
=====================================
@@ -403,3 +403,4 @@ test('T23012', normal, compile, ['-O'])
 test('T21391', normal, compile, ['-O -dcore-lint'])
 test('T21391a', normal, compile, ['-O -dcore-lint'])
 test('T21689', [extra_files(['T21689a.hs'])], multimod_compile, ['T21689', '-v0 -O'])
+test('T23922a', normal, compile, ['-O'])


=====================================
testsuite/tests/th/T21547.stderr
=====================================
@@ -1,7 +1,7 @@
 
 T21547.hs:9:14: error:
     • GHC stage restriction:
-        instance for ‘base-4.17.2.0:Data.Typeable.Internal.Typeable
+        instance for ‘base-4.17.2.1:Data.Typeable.Internal.Typeable
                         T’ is used in a top-level splice, quasi-quote, or annotation,
         and must be imported, not defined locally
     • In the expression: foo [|| T () ||]


=====================================
testsuite/tests/typecheck/should_compile/T12763.stderr
=====================================
@@ -8,4 +8,4 @@ COERCION AXIOMS
 CLASS INSTANCES
   instance C Int -- Defined at T12763.hs:9:10
 Dependent modules: []
-Dependent packages: [base-4.17.2.0]
+Dependent packages: [base-4.17.2.1]


=====================================
testsuite/tests/typecheck/should_compile/T18406b.stderr
=====================================
@@ -6,7 +6,7 @@ TYPE CONSTRUCTORS
 COERCION AXIOMS
   axiom Bug.N:C :: forall a b. C a b = a -> a
 Dependent modules: []
-Dependent packages: [base-4.17.2.0]
+Dependent packages: [base-4.17.2.1]
 
 ==================== Typechecker ====================
 Bug.$tcC


=====================================
testsuite/tests/typecheck/should_compile/T18529.stderr
=====================================
@@ -6,7 +6,7 @@ TYPE CONSTRUCTORS
 COERCION AXIOMS
   axiom Bug.N:C :: forall a b. C a b = a -> b -> ()
 Dependent modules: []
-Dependent packages: [base-4.17.2.0]
+Dependent packages: [base-4.17.2.1]
 
 ==================== Typechecker ====================
 Bug.$tcC


=====================================
testsuite/tests/typecheck/should_compile/T21023.stderr
=====================================
@@ -2,4 +2,4 @@ TYPE SIGNATURES
   f :: forall {a}. a -> (a, Integer)
   x :: Integer
 Dependent modules: []
-Dependent packages: [base-4.17.2.0]
+Dependent packages: [base-4.17.2.1]


=====================================
testsuite/tests/typecheck/should_compile/subsumption_sort_hole_fits.stderr
=====================================
@@ -8,10 +8,10 @@ subsumption_sort_hole_fits.hs:2:5: warning: [-Wtyped-holes (in -Wdefault)]
       Valid hole fits include
         lines :: String -> [String]
           (imported from ‘Prelude’ at subsumption_sort_hole_fits.hs:1:1
-           (and originally defined in ‘base-4.17.2.0:Data.OldList’))
+           (and originally defined in ‘base-4.17.2.1:Data.OldList’))
         words :: String -> [String]
           (imported from ‘Prelude’ at subsumption_sort_hole_fits.hs:1:1
-           (and originally defined in ‘base-4.17.2.0:Data.OldList’))
+           (and originally defined in ‘base-4.17.2.1:Data.OldList’))
         read :: forall a. Read a => String -> a
           with read @[String]
           (imported from ‘Prelude’ at subsumption_sort_hole_fits.hs:1:1



View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/95e59db73eaa8a555dfc17610311b13fa784217a...002b54bf0fc660827ff9ab6a4e5c51c0135f814f

-- 
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/95e59db73eaa8a555dfc17610311b13fa784217a...002b54bf0fc660827ff9ab6a4e5c51c0135f814f
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/20231107/2b2bf192/attachment-0001.html>


More information about the ghc-commits mailing list