[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