Simon Peyton Jones pushed to branch wip/T23162-spj at Glasgow Haskell Compiler / GHC
Commits:
-
41c46970
by Simon Peyton Jones at 2025-10-27T11:00:31+00:00
10 changed files:
- testsuite/tests/count-deps/CountDepsAst.stdout
- testsuite/tests/count-deps/CountDepsParser.stdout
- testsuite/tests/parser/should_fail/RecordDotSyntaxFail10.stderr
- testsuite/tests/parser/should_fail/RecordDotSyntaxFail13.stderr
- testsuite/tests/partial-sigs/should_fail/T14584a.stderr
- testsuite/tests/rep-poly/T13233.stderr
- testsuite/tests/rep-poly/T14561b.stderr
- testsuite/tests/rep-poly/T19709b.stderr
- testsuite/tests/rep-poly/T23903.stderr
- testsuite/tests/typecheck/should_compile/T25266a.stderr
Changes:
| ... | ... | @@ -212,6 +212,7 @@ GHC.Utils.CliOption |
| 212 | 212 | GHC.Utils.Constants
|
| 213 | 213 | GHC.Utils.Containers.Internal.BitUtil
|
| 214 | 214 | GHC.Utils.Containers.Internal.StrictPair
|
| 215 | +GHC.Utils.EndoOS
|
|
| 215 | 216 | GHC.Utils.Error
|
| 216 | 217 | GHC.Utils.Exception
|
| 217 | 218 | GHC.Utils.FV
|
| ... | ... | @@ -241,6 +241,7 @@ GHC.Utils.CliOption |
| 241 | 241 | GHC.Utils.Constants
|
| 242 | 242 | GHC.Utils.Containers.Internal.BitUtil
|
| 243 | 243 | GHC.Utils.Containers.Internal.StrictPair
|
| 244 | +GHC.Utils.EndoOS
|
|
| 244 | 245 | GHC.Utils.Error
|
| 245 | 246 | GHC.Utils.Exception
|
| 246 | 247 | GHC.Utils.FV
|
| 1 | 1 | RecordDotSyntaxFail10.hs:40:11: error: [GHC-39999]
|
| 2 | 2 | • No instance for ‘HasField "quux" Quux String’
|
| 3 | + NB: ‘HasField’ is not the built-in ‘GHC.Internal.Records.HasField’ class.
|
|
| 3 | 4 | • In the second argument of ‘($)’, namely ‘a {foo.bar.baz.quux}’
|
| 4 | 5 | In a stmt of a 'do' block: print $ a {foo.bar.baz.quux}
|
| 5 | 6 | In the expression:
|
| 1 | 1 | RecordDotSyntaxFail13.hs:26:11: error: [GHC-39999]
|
| 2 | 2 | • No instance for ‘HasField "foo" Foo (Foo -> Int)’
|
| 3 | 3 | arising from a record update
|
| 4 | - (maybe you haven't applied a function to enough arguments?)
|
|
| 4 | + NB: ‘HasField’ is not the built-in ‘GHC.Internal.Records.HasField’ class.
|
|
| 5 | 5 | • In the second argument of ‘($)’, namely ‘a {foo}’
|
| 6 | 6 | In a stmt of a 'do' block: print $ a {foo}
|
| 7 | 7 | In the expression:
|
| 1 | - |
|
| 2 | 1 | T14584a.hs:12:5: warning: [GHC-83865] [-Wdeferred-type-errors (in -Wdefault)]
|
| 3 | 2 | • Couldn't match expected type ‘()’ with actual type ‘m -> m’
|
| 4 | 3 | • Probable cause: ‘id @m :: _’ is applied to too few arguments
|
| ... | ... | @@ -17,7 +16,7 @@ T14584a.hs:12:9: warning: [GHC-25897] [-Wdeferred-type-errors (in -Wdefault)] |
| 17 | 16 | |
| 18 | 17 | T14584a.hs:12:14: warning: [GHC-88464] [-Wpartial-type-signatures (in -Wdefault)]
|
| 19 | 18 | • Found type wildcard ‘_’ standing for ‘m -> m’
|
| 20 | - Where: ‘m’, ‘k’ are rigid type variables bound by
|
|
| 19 | + Where: ‘k’, ‘m’ are rigid type variables bound by
|
|
| 21 | 20 | the type signature for:
|
| 22 | 21 | f :: forall {k} (m :: k). ()
|
| 23 | 22 | at T14584a.hs:11:1-17
|
| ... | ... | @@ -44,3 +43,4 @@ T14584a.hs:16:8: warning: [GHC-83865] [-Wdeferred-type-errors (in -Wdefault)] |
| 44 | 43 | In the expression: let h = id @m in h
|
| 45 | 44 | In an equation for ‘g’: g = let h = id @m in h
|
| 46 | 45 | • Relevant bindings include h :: m -> m (bound at T14584a.hs:15:9)
|
| 46 | + |
| ... | ... | @@ -2,20 +2,20 @@ T13233.hs:14:11: error: [GHC-55287] |
| 2 | 2 | • • The first component of the unboxed tuple
|
| 3 | 3 | does not have a fixed runtime representation.
|
| 4 | 4 | Its type is:
|
| 5 | - a1 :: TYPE k2
|
|
| 5 | + a1 :: TYPE k1
|
|
| 6 | 6 | When unifying:
|
| 7 | 7 | • a1 -> b1 -> (# a1, b1 #)
|
| 8 | 8 | • a -> a -> (# a, a #)
|
| 9 | - Cannot unify ‘rep’ with the type variable ‘k2’
|
|
| 9 | + Cannot unify ‘rep’ with the type variable ‘k1’
|
|
| 10 | 10 | because the former is not a concrete ‘RuntimeRep’.
|
| 11 | 11 | • The second component of the unboxed tuple
|
| 12 | 12 | does not have a fixed runtime representation.
|
| 13 | 13 | Its type is:
|
| 14 | - b1 :: TYPE k1
|
|
| 14 | + b1 :: TYPE k2
|
|
| 15 | 15 | When unifying:
|
| 16 | 16 | • a1 -> b1 -> (# a1, b1 #)
|
| 17 | 17 | • a -> a -> (# a, a #)
|
| 18 | - Cannot unify ‘rep’ with the type variable ‘k1’
|
|
| 18 | + Cannot unify ‘rep’ with the type variable ‘k2’
|
|
| 19 | 19 | because the former is not a concrete ‘RuntimeRep’.
|
| 20 | 20 | • In the first argument of ‘bar’, namely ‘(#,#)’
|
| 21 | 21 | In the expression: bar (#,#)
|
| ... | ... | @@ -2,9 +2,9 @@ T14561b.hs:12:9: error: [GHC-55287] |
| 2 | 2 | • The first argument of ‘coerce’
|
| 3 | 3 | does not have a fixed runtime representation.
|
| 4 | 4 | Its type is:
|
| 5 | - b0 :: TYPE k0
|
|
| 5 | + a0 :: TYPE k0
|
|
| 6 | 6 | When unifying:
|
| 7 | - • b0 -> b0
|
|
| 7 | + • a0 -> b0
|
|
| 8 | 8 | • a -> a
|
| 9 | 9 | Cannot unify ‘r’ with the type variable ‘k0’
|
| 10 | 10 | because the former is not a concrete ‘RuntimeRep’.
|
| ... | ... | @@ -2,7 +2,7 @@ T19709b.hs:11:15: error: [GHC-55287] |
| 2 | 2 | • The argument ‘(error @Any "e2")’ of ‘levfun’
|
| 3 | 3 | does not have a fixed runtime representation.
|
| 4 | 4 | Its type is:
|
| 5 | - a1 :: TYPE c0
|
|
| 5 | + a0 :: TYPE c0
|
|
| 6 | 6 | Cannot unify ‘Any’ with the type variable ‘c0’
|
| 7 | 7 | because the former is not a concrete ‘RuntimeRep’.
|
| 8 | 8 | • In the first argument of ‘levfun’, namely ‘(error @Any "e2")’
|
| ... | ... | @@ -2,7 +2,7 @@ T23903.hs:21:1: error: [GHC-55287] |
| 2 | 2 | • The first pattern in the equation for ‘f’
|
| 3 | 3 | does not have a fixed runtime representation.
|
| 4 | 4 | Its type is:
|
| 5 | - t0 :: TYPE c0
|
|
| 5 | + Unbox a :: TYPE c0
|
|
| 6 | 6 | Cannot unify ‘Rep a’ with the type variable ‘c0’
|
| 7 | 7 | because the former is not a concrete ‘RuntimeRep’.
|
| 8 | 8 | • The equation for ‘f’ has one visible argument,
|
| 1 | -T25266a.hs:10:39: error: [GHC-25897]
|
|
| 1 | +T25266a.hs:10:41: error: [GHC-25897]
|
|
| 2 | 2 | • Could not deduce ‘p2 ~ p1’
|
| 3 | 3 | from the context: a ~ Int
|
| 4 | 4 | bound by a pattern with constructor: T1 :: T Int,
|
| ... | ... | @@ -10,7 +10,7 @@ T25266a.hs:10:39: error: [GHC-25897] |
| 10 | 10 | ‘p1’ is a rigid type variable bound by
|
| 11 | 11 | the inferred type of f :: p1 -> p2 -> T a -> Int
|
| 12 | 12 | at T25266a.hs:(9,1)-(11,40)
|
| 13 | - • In the expression: x
|
|
| 13 | + • In the expression: y
|
|
| 14 | 14 | In the first argument of ‘length’, namely ‘[x, y]’
|
| 15 | 15 | In the expression: length [x, y]
|
| 16 | 16 | • Relevant bindings include
|