summaryrefslogtreecommitdiff
path: root/testsuite
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/tests/driver/T11381.hs4
-rw-r--r--testsuite/tests/driver/T11381.stderr4
-rw-r--r--testsuite/tests/gadt/T14719.stderr2
-rw-r--r--testsuite/tests/gadt/gadt11.stderr2
-rw-r--r--testsuite/tests/gadt/gadtSyntaxFail001.stderr6
-rw-r--r--testsuite/tests/gadt/gadtSyntaxFail002.stderr6
-rw-r--r--testsuite/tests/gadt/gadtSyntaxFail003.stderr6
-rw-r--r--testsuite/tests/ghci/prog006/prog006.stderr6
-rw-r--r--testsuite/tests/ghci/scripts/T9293.stderr25
-rw-r--r--testsuite/tests/ghci/scripts/ghci057.stderr25
-rw-r--r--testsuite/tests/ghci/should_run/T7253.stderr2
-rw-r--r--testsuite/tests/indexed-types/should_fail/BadFamInstDecl.stderr2
-rw-r--r--testsuite/tests/indexed-types/should_fail/ClosedFam4.stderr2
-rw-r--r--testsuite/tests/indexed-types/should_fail/Overlap4.stderr2
-rw-r--r--testsuite/tests/indexed-types/should_fail/Overlap5.stderr2
-rw-r--r--testsuite/tests/indexed-types/should_fail/SimpleFail3a.stderr2
-rw-r--r--testsuite/tests/indexed-types/should_fail/T11136.stderr2
-rw-r--r--testsuite/tests/indexed-types/should_fail/T12867.stderr2
-rw-r--r--testsuite/tests/indexed-types/should_fail/T13571.stderr4
-rw-r--r--testsuite/tests/indexed-types/should_fail/T13571a.stderr4
-rw-r--r--testsuite/tests/indexed-types/should_fail/T2888.stderr2
-rw-r--r--testsuite/tests/indexed-types/should_fail/T9167.stderr2
-rw-r--r--testsuite/tests/indexed-types/should_fail/T9896.stderr2
-rw-r--r--testsuite/tests/indexed-types/should_fail/TyFamArity1.stderr2
-rw-r--r--testsuite/tests/indexed-types/should_fail/TyFamArity2.stderr2
-rw-r--r--testsuite/tests/module/mod39.stderr4
-rw-r--r--testsuite/tests/module/mod40.stderr8
-rw-r--r--testsuite/tests/overloadedrecflds/should_fail/DRFPartialFields.stderr2
-rw-r--r--testsuite/tests/parser/should_fail/readFail035.stderr5
-rw-r--r--testsuite/tests/parser/should_fail/readFail036.stderr6
-rw-r--r--testsuite/tests/parser/should_fail/readFail037.stderr4
-rw-r--r--testsuite/tests/parser/should_fail/readFail041.stderr4
-rw-r--r--testsuite/tests/patsyn/should_fail/T14112.stderr5
-rw-r--r--testsuite/tests/patsyn/should_fail/unidir.stderr5
-rw-r--r--testsuite/tests/polykinds/T14110.stderr2
-rw-r--r--testsuite/tests/rename/should_fail/T16002.stderr2
-rw-r--r--testsuite/tests/rename/should_fail/rnfail053.stderr6
-rw-r--r--testsuite/tests/roles/should_fail/Roles11.stderr2
-rw-r--r--testsuite/tests/roles/should_fail/Roles5.stderr19
-rw-r--r--testsuite/tests/roles/should_fail/Roles6.stderr2
-rw-r--r--testsuite/tests/roles/should_fail/T8773.stderr4
-rw-r--r--testsuite/tests/th/T15362.stderr2
-rw-r--r--testsuite/tests/th/TH_Roles1.stderr6
-rw-r--r--testsuite/tests/typecheck/should_compile/T7050.stderr2
-rw-r--r--testsuite/tests/typecheck/should_compile/T7169.stderr2
-rw-r--r--testsuite/tests/typecheck/should_compile/T7562.stderr2
-rw-r--r--testsuite/tests/typecheck/should_fail/AssocTyDef03.stderr2
-rw-r--r--testsuite/tests/typecheck/should_fail/AssocTyDef05.stderr2
-rw-r--r--testsuite/tests/typecheck/should_fail/AssocTyDef06.stderr2
-rw-r--r--testsuite/tests/typecheck/should_fail/CommonFieldResultTypeMismatch.hs5
-rw-r--r--testsuite/tests/typecheck/should_fail/CommonFieldResultTypeMismatch.stderr4
-rw-r--r--testsuite/tests/typecheck/should_fail/CommonFieldTypeMismatch.hs6
-rw-r--r--testsuite/tests/typecheck/should_fail/CommonFieldTypeMismatch.stderr3
-rw-r--r--testsuite/tests/typecheck/should_fail/GADTDataContext.stderr1
-rw-r--r--testsuite/tests/typecheck/should_fail/LazyFieldsDisabled.hs3
-rw-r--r--testsuite/tests/typecheck/should_fail/LazyFieldsDisabled.stderr6
-rw-r--r--testsuite/tests/typecheck/should_fail/MultiAssocDefaults.hs10
-rw-r--r--testsuite/tests/typecheck/should_fail/MultiAssocDefaults.stderr3
-rw-r--r--testsuite/tests/typecheck/should_fail/T11623.stderr2
-rw-r--r--testsuite/tests/typecheck/should_fail/T12083a.stderr6
-rw-r--r--testsuite/tests/typecheck/should_fail/T12151.stderr2
-rw-r--r--testsuite/tests/typecheck/should_fail/T12918a.stderr2
-rw-r--r--testsuite/tests/typecheck/should_fail/T12918b.stderr8
-rw-r--r--testsuite/tests/typecheck/should_fail/T13300.stderr2
-rw-r--r--testsuite/tests/typecheck/should_fail/T14761a.stderr6
-rw-r--r--testsuite/tests/typecheck/should_fail/T18357.stderr2
-rw-r--r--testsuite/tests/typecheck/should_fail/T18357b.stderr2
-rw-r--r--testsuite/tests/typecheck/should_fail/T20260.stderr2
-rw-r--r--testsuite/tests/typecheck/should_fail/T20873c.stderr6
-rw-r--r--testsuite/tests/typecheck/should_fail/T3966.stderr2
-rw-r--r--testsuite/tests/typecheck/should_fail/T7175.stderr4
-rw-r--r--testsuite/tests/typecheck/should_fail/T7437.stderr2
-rw-r--r--testsuite/tests/typecheck/should_fail/T9415.stderr8
-rw-r--r--testsuite/tests/typecheck/should_fail/T9739.stderr8
-rw-r--r--testsuite/tests/typecheck/should_fail/TcNoNullaryTC.stderr4
-rw-r--r--testsuite/tests/typecheck/should_fail/TyfamsDisabled.hs3
-rw-r--r--testsuite/tests/typecheck/should_fail/TyfamsDisabled.stderr4
-rw-r--r--testsuite/tests/typecheck/should_fail/all.T5
-rw-r--r--testsuite/tests/typecheck/should_fail/tcfail027.stderr8
-rw-r--r--testsuite/tests/typecheck/should_fail/tcfail150.stderr4
-rw-r--r--testsuite/tests/typecheck/should_fail/tcfail155.stderr2
-rw-r--r--testsuite/tests/typecheck/should_fail/tcfail176.stderr2
-rw-r--r--testsuite/tests/typecheck/should_fail/tcfail213.stderr4
-rw-r--r--testsuite/tests/typecheck/should_fail/tcfail216.stderr4
-rw-r--r--testsuite/tests/typecheck/should_fail/tcfail217.stderr4
-rw-r--r--testsuite/tests/unboxedsums/unpack_sums_5.stderr4
86 files changed, 236 insertions, 137 deletions
diff --git a/testsuite/tests/driver/T11381.hs b/testsuite/tests/driver/T11381.hs
index a2464ef0cf..378b007bce 100644
--- a/testsuite/tests/driver/T11381.hs
+++ b/testsuite/tests/driver/T11381.hs
@@ -5,5 +5,5 @@ module T11381 where
-- ensure that this code does not compile without TypeFamilyDependencies and that
-- injectivity error is not reported.
type family F a = r | r -> a
-type instance F Int = Bool
-type instance F Int = Char
+type instance F Bool = Int
+type instance F Char = Int
diff --git a/testsuite/tests/driver/T11381.stderr b/testsuite/tests/driver/T11381.stderr
index 7390ff64c6..aab437a66b 100644
--- a/testsuite/tests/driver/T11381.stderr
+++ b/testsuite/tests/driver/T11381.stderr
@@ -1,5 +1,5 @@
-T11381.hs:7:23:
+T11381.hs:7:23: [GHC-43991]
Illegal injectivity annotation
- Use TypeFamilyDependencies to allow this
In the type family declaration for ‘F’
+ Suggested fix: Perhaps you intended to use TypeFamilyDependencies
diff --git a/testsuite/tests/gadt/T14719.stderr b/testsuite/tests/gadt/T14719.stderr
index e71f0e78e5..0457817796 100644
--- a/testsuite/tests/gadt/T14719.stderr
+++ b/testsuite/tests/gadt/T14719.stderr
@@ -1,5 +1,5 @@
-T14719.hs:5:3: error:
+T14719.hs:5:3: error: [GHC-45219]
• Data constructor ‘MkFoo1’ returns type ‘Bool’
instead of an instance of its parent type ‘Foo1’
• In the definition of data constructor ‘MkFoo1’
diff --git a/testsuite/tests/gadt/gadt11.stderr b/testsuite/tests/gadt/gadt11.stderr
index 09c54d6e87..5303f5a57e 100644
--- a/testsuite/tests/gadt/gadt11.stderr
+++ b/testsuite/tests/gadt/gadt11.stderr
@@ -1,5 +1,5 @@
-gadt11.hs:12:3: error:
+gadt11.hs:12:3: error: [GHC-45219]
• Data constructor ‘L2’ returns type ‘T1 Bool’
instead of an instance of its parent type ‘T2 a’
• In the definition of data constructor ‘L2’
diff --git a/testsuite/tests/gadt/gadtSyntaxFail001.stderr b/testsuite/tests/gadt/gadtSyntaxFail001.stderr
index aad7b63e54..a8bb357efc 100644
--- a/testsuite/tests/gadt/gadtSyntaxFail001.stderr
+++ b/testsuite/tests/gadt/gadtSyntaxFail001.stderr
@@ -1,7 +1,9 @@
-gadtSyntaxFail001.hs:9:5: error:
+gadtSyntaxFail001.hs:9:5: error: [GHC-25709]
• Data constructor ‘C2’ has existential type variables, a context, or a specialised result type
C2 :: forall a. a -> Char -> Foo a Int
- (Enable ExistentialQuantification or GADTs to allow this)
• In the definition of data constructor ‘C2’
In the data type declaration for ‘Foo’
+ Suggested fixes:
+ Perhaps you intended to use ExistentialQuantification
+ Perhaps you intended to use GADTs
diff --git a/testsuite/tests/gadt/gadtSyntaxFail002.stderr b/testsuite/tests/gadt/gadtSyntaxFail002.stderr
index f144b2e247..8a75e9f358 100644
--- a/testsuite/tests/gadt/gadtSyntaxFail002.stderr
+++ b/testsuite/tests/gadt/gadtSyntaxFail002.stderr
@@ -1,7 +1,9 @@
-gadtSyntaxFail002.hs:9:5: error:
+gadtSyntaxFail002.hs:9:5: error: [GHC-25709]
• Data constructor ‘C2’ has existential type variables, a context, or a specialised result type
C2 :: forall a. a -> Char -> Foo a a
- (Enable ExistentialQuantification or GADTs to allow this)
• In the definition of data constructor ‘C2’
In the data type declaration for ‘Foo’
+ Suggested fixes:
+ Perhaps you intended to use ExistentialQuantification
+ Perhaps you intended to use GADTs
diff --git a/testsuite/tests/gadt/gadtSyntaxFail003.stderr b/testsuite/tests/gadt/gadtSyntaxFail003.stderr
index f5255aa4a2..589095c8d5 100644
--- a/testsuite/tests/gadt/gadtSyntaxFail003.stderr
+++ b/testsuite/tests/gadt/gadtSyntaxFail003.stderr
@@ -1,7 +1,9 @@
-gadtSyntaxFail003.hs:8:5: error:
+gadtSyntaxFail003.hs:8:5: error: [GHC-25709]
• Data constructor ‘C1’ has existential type variables, a context, or a specialised result type
C1 :: forall a c b. a -> Int -> c -> Foo b a
- (Enable ExistentialQuantification or GADTs to allow this)
• In the definition of data constructor ‘C1’
In the data type declaration for ‘Foo’
+ Suggested fixes:
+ Perhaps you intended to use ExistentialQuantification
+ Perhaps you intended to use GADTs
diff --git a/testsuite/tests/ghci/prog006/prog006.stderr b/testsuite/tests/ghci/prog006/prog006.stderr
index 8b23e548ed..d801e5221f 100644
--- a/testsuite/tests/ghci/prog006/prog006.stderr
+++ b/testsuite/tests/ghci/prog006/prog006.stderr
@@ -1,7 +1,9 @@
-Boot.hs:6:13: error:
+Boot.hs:6:13: error: [GHC-25709]
• Data constructor ‘D’ has existential type variables, a context, or a specialised result type
D :: forall n. Class n => n -> Data
- (Enable ExistentialQuantification or GADTs to allow this)
• In the definition of data constructor ‘D’
In the data type declaration for ‘Data’
+ Suggested fixes:
+ Perhaps you intended to use ExistentialQuantification
+ Perhaps you intended to use GADTs
diff --git a/testsuite/tests/ghci/scripts/T9293.stderr b/testsuite/tests/ghci/scripts/T9293.stderr
index 93925a5443..6dcd966d3d 100644
--- a/testsuite/tests/ghci/scripts/T9293.stderr
+++ b/testsuite/tests/ghci/scripts/T9293.stderr
@@ -1,19 +1,32 @@
-<interactive>:4:1: error:
+<interactive>:4:1: error: [GHC-23894]
• Illegal generalised algebraic data declaration for ‘T’
- (Enable the GADTs extension to allow this)
• In the data declaration for ‘T’
+ Suggested fix: Perhaps you intended to use GADTs
-ghci057.hs:4:3: error:
+<interactive>:4:16: [GHC-25709]
+ Data constructor ‘C’ has existential type variables, a context, or a specialised result type
+ C :: T Int
+ In the definition of data constructor ‘C’
+ In the data type declaration for ‘T’
+ Suggested fixes:
+ Perhaps you intended to use ExistentialQuantification
+ Perhaps you intended to use GADTs
+
+ghci057.hs:4:3: error: [GHC-25709]
• Data constructor ‘C’ has existential type variables, a context, or a specialised result type
C :: T Int
- (Enable ExistentialQuantification or GADTs to allow this)
• In the definition of data constructor ‘C’
In the data type declaration for ‘T’
+ Suggested fixes:
+ Perhaps you intended to use ExistentialQuantification
+ Perhaps you intended to use GADTs
-ghci057.hs:4:3: error:
+ghci057.hs:4:3: error: [GHC-25709]
• Data constructor ‘C’ has existential type variables, a context, or a specialised result type
C :: T Int
- (Enable ExistentialQuantification or GADTs to allow this)
• In the definition of data constructor ‘C’
In the data type declaration for ‘T’
+ Suggested fixes:
+ Perhaps you intended to use ExistentialQuantification
+ Perhaps you intended to use GADTs
diff --git a/testsuite/tests/ghci/scripts/ghci057.stderr b/testsuite/tests/ghci/scripts/ghci057.stderr
index 93925a5443..6dcd966d3d 100644
--- a/testsuite/tests/ghci/scripts/ghci057.stderr
+++ b/testsuite/tests/ghci/scripts/ghci057.stderr
@@ -1,19 +1,32 @@
-<interactive>:4:1: error:
+<interactive>:4:1: error: [GHC-23894]
• Illegal generalised algebraic data declaration for ‘T’
- (Enable the GADTs extension to allow this)
• In the data declaration for ‘T’
+ Suggested fix: Perhaps you intended to use GADTs
-ghci057.hs:4:3: error:
+<interactive>:4:16: [GHC-25709]
+ Data constructor ‘C’ has existential type variables, a context, or a specialised result type
+ C :: T Int
+ In the definition of data constructor ‘C’
+ In the data type declaration for ‘T’
+ Suggested fixes:
+ Perhaps you intended to use ExistentialQuantification
+ Perhaps you intended to use GADTs
+
+ghci057.hs:4:3: error: [GHC-25709]
• Data constructor ‘C’ has existential type variables, a context, or a specialised result type
C :: T Int
- (Enable ExistentialQuantification or GADTs to allow this)
• In the definition of data constructor ‘C’
In the data type declaration for ‘T’
+ Suggested fixes:
+ Perhaps you intended to use ExistentialQuantification
+ Perhaps you intended to use GADTs
-ghci057.hs:4:3: error:
+ghci057.hs:4:3: error: [GHC-25709]
• Data constructor ‘C’ has existential type variables, a context, or a specialised result type
C :: T Int
- (Enable ExistentialQuantification or GADTs to allow this)
• In the definition of data constructor ‘C’
In the data type declaration for ‘T’
+ Suggested fixes:
+ Perhaps you intended to use ExistentialQuantification
+ Perhaps you intended to use GADTs
diff --git a/testsuite/tests/ghci/should_run/T7253.stderr b/testsuite/tests/ghci/should_run/T7253.stderr
index 5478ad817f..0a386fe0f9 100644
--- a/testsuite/tests/ghci/should_run/T7253.stderr
+++ b/testsuite/tests/ghci/should_run/T7253.stderr
@@ -2,7 +2,7 @@
<interactive>:19:1: warning: [GHC-42044] [-Wunrecognised-pragmas (in -Wdefault)]
Unrecognised pragma: FOO
-<interactive>:61:1: error:
+<interactive>:61:1: error: [GHC-29178]
• Role mismatch on variable b:
Annotation says phantom but role representational is required
• while checking a role annotation for ‘T1’
diff --git a/testsuite/tests/indexed-types/should_fail/BadFamInstDecl.stderr b/testsuite/tests/indexed-types/should_fail/BadFamInstDecl.stderr
index 8b87a97cba..a0f6157ca5 100644
--- a/testsuite/tests/indexed-types/should_fail/BadFamInstDecl.stderr
+++ b/testsuite/tests/indexed-types/should_fail/BadFamInstDecl.stderr
@@ -2,6 +2,6 @@
[2 of 2] Compiling BadFamInstDecl ( BadFamInstDecl.hs, BadFamInstDecl.o )
BadFamInstDecl.hs:4:1: [GHC-06206]
- Illegal family instance for ‘T’
+ Illegal family instance for ‘T’
In the type instance declaration for ‘T’
Suggested fix: Perhaps you intended to use TypeFamilies
diff --git a/testsuite/tests/indexed-types/should_fail/ClosedFam4.stderr b/testsuite/tests/indexed-types/should_fail/ClosedFam4.stderr
index ac68f1acde..e586fe6b5b 100644
--- a/testsuite/tests/indexed-types/should_fail/ClosedFam4.stderr
+++ b/testsuite/tests/indexed-types/should_fail/ClosedFam4.stderr
@@ -1,5 +1,5 @@
-ClosedFam4.hs:5:1:
+ClosedFam4.hs:5:1: [GHC-60012]
You may define an abstract closed type family
only in a .hs-boot file
In the type family declaration for ‘Foo’
diff --git a/testsuite/tests/indexed-types/should_fail/Overlap4.stderr b/testsuite/tests/indexed-types/should_fail/Overlap4.stderr
index 53dc8b4ac0..027e943e61 100644
--- a/testsuite/tests/indexed-types/should_fail/Overlap4.stderr
+++ b/testsuite/tests/indexed-types/should_fail/Overlap4.stderr
@@ -1,4 +1,4 @@
-Overlap4.hs:7:3: error:
+Overlap4.hs:7:3: error: [GHC-12985]
• Number of parameters must match family declaration; expected 2
• In the type family declaration for ‘F’
diff --git a/testsuite/tests/indexed-types/should_fail/Overlap5.stderr b/testsuite/tests/indexed-types/should_fail/Overlap5.stderr
index f67549104b..8df01f2cbc 100644
--- a/testsuite/tests/indexed-types/should_fail/Overlap5.stderr
+++ b/testsuite/tests/indexed-types/should_fail/Overlap5.stderr
@@ -1,5 +1,5 @@
-Overlap5.hs:8:3: error:
+Overlap5.hs:8:3: error: [GHC-88221]
• Mismatched type name in type family instance.
Expected: F
Actual: G
diff --git a/testsuite/tests/indexed-types/should_fail/SimpleFail3a.stderr b/testsuite/tests/indexed-types/should_fail/SimpleFail3a.stderr
index 795188e922..7b9b42b269 100644
--- a/testsuite/tests/indexed-types/should_fail/SimpleFail3a.stderr
+++ b/testsuite/tests/indexed-types/should_fail/SimpleFail3a.stderr
@@ -1,5 +1,5 @@
-SimpleFail3a.hs:10:3:
+SimpleFail3a.hs:10:3: [GHC-52347]
Wrong category of family instance; declaration was for a data family
In the type instance declaration for ‘S1’
In the instance declaration for ‘C1 Int’
diff --git a/testsuite/tests/indexed-types/should_fail/T11136.stderr b/testsuite/tests/indexed-types/should_fail/T11136.stderr
index f90ef74149..8f5a3eefce 100644
--- a/testsuite/tests/indexed-types/should_fail/T11136.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T11136.stderr
@@ -1,5 +1,5 @@
-T11136.hs:7:3: error:
+T11136.hs:7:3: error: [GHC-12985]
• Number of parameters must match family declaration; expected 1
• In the default type instance declaration for ‘D’
In the class declaration for ‘C’
diff --git a/testsuite/tests/indexed-types/should_fail/T12867.stderr b/testsuite/tests/indexed-types/should_fail/T12867.stderr
index 892f9c9d76..ee229c55ca 100644
--- a/testsuite/tests/indexed-types/should_fail/T12867.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T12867.stderr
@@ -5,7 +5,7 @@ T12867.hs:8:21: error: [GHC-83865]
In the type ‘(Eq (TestM a))’
In the type declaration for ‘Test2’
-T12867.hs:10:1: error:
+T12867.hs:10:1: error: [GHC-55912]
• The associated type ‘TestM’
mentions none of the type or kind variables of the class ‘Test a’
• In the class declaration for ‘Test’
diff --git a/testsuite/tests/indexed-types/should_fail/T13571.stderr b/testsuite/tests/indexed-types/should_fail/T13571.stderr
index 482d6024a0..6723b19322 100644
--- a/testsuite/tests/indexed-types/should_fail/T13571.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T13571.stderr
@@ -1,5 +1,5 @@
-T13571.hs:5:1: error:
+T13571.hs:5:1: error: [GHC-44012]
• Illegal result type variable r for ‘F’
- Enable TypeFamilyDependencies to allow result variable names
• In the type family declaration for ‘F’
+ Suggested fix: Perhaps you intended to use TypeFamilyDependencies
diff --git a/testsuite/tests/indexed-types/should_fail/T13571a.stderr b/testsuite/tests/indexed-types/should_fail/T13571a.stderr
index f92e5a909a..a12c0ce594 100644
--- a/testsuite/tests/indexed-types/should_fail/T13571a.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T13571a.stderr
@@ -1,5 +1,5 @@
-T13571a.hs:7:1: error:
+T13571a.hs:7:1: error: [GHC-44012]
• Illegal result type variable (r :: Type) for ‘G’
- Enable TypeFamilyDependencies to allow result variable names
• In the type family declaration for ‘G’
+ Suggested fix: Perhaps you intended to use TypeFamilyDependencies
diff --git a/testsuite/tests/indexed-types/should_fail/T2888.stderr b/testsuite/tests/indexed-types/should_fail/T2888.stderr
index 068eab1d3d..3f227d7f9e 100644
--- a/testsuite/tests/indexed-types/should_fail/T2888.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T2888.stderr
@@ -1,5 +1,5 @@
-T2888.hs:7:1: error:
+T2888.hs:7:1: error: [GHC-55912]
• The associated type ‘D’
mentions none of the type or kind variables of the class ‘C w’
• In the class declaration for ‘C’
diff --git a/testsuite/tests/indexed-types/should_fail/T9167.stderr b/testsuite/tests/indexed-types/should_fail/T9167.stderr
index 8b08e4fddd..b4d539adec 100644
--- a/testsuite/tests/indexed-types/should_fail/T9167.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T9167.stderr
@@ -1,5 +1,5 @@
-T9167.hs:6:1: error:
+T9167.hs:6:1: error: [GHC-55912]
• The associated type ‘F b’
mentions none of the type or kind variables of the class ‘C a’
• In the class declaration for ‘C’
diff --git a/testsuite/tests/indexed-types/should_fail/T9896.stderr b/testsuite/tests/indexed-types/should_fail/T9896.stderr
index f46e406f03..27514ebbe9 100644
--- a/testsuite/tests/indexed-types/should_fail/T9896.stderr
+++ b/testsuite/tests/indexed-types/should_fail/T9896.stderr
@@ -1,5 +1,5 @@
-T9896.hs:8:3:
+T9896.hs:8:3: [GHC-52347]
Wrong category of family instance; declaration was for a type family
In the newtype instance declaration for ‘TestT’
In the instance declaration for ‘Test Bool’
diff --git a/testsuite/tests/indexed-types/should_fail/TyFamArity1.stderr b/testsuite/tests/indexed-types/should_fail/TyFamArity1.stderr
index 46521deeba..69af469b95 100644
--- a/testsuite/tests/indexed-types/should_fail/TyFamArity1.stderr
+++ b/testsuite/tests/indexed-types/should_fail/TyFamArity1.stderr
@@ -1,4 +1,4 @@
-TyFamArity1.hs:4:15: error:
+TyFamArity1.hs:4:15: error: [GHC-12985]
• Number of parameters must match family declaration; expected 2
• In the type instance declaration for ‘T’
diff --git a/testsuite/tests/indexed-types/should_fail/TyFamArity2.stderr b/testsuite/tests/indexed-types/should_fail/TyFamArity2.stderr
index 8d48921946..b5f36f6367 100644
--- a/testsuite/tests/indexed-types/should_fail/TyFamArity2.stderr
+++ b/testsuite/tests/indexed-types/should_fail/TyFamArity2.stderr
@@ -1,4 +1,4 @@
-TyFamArity2.hs:4:15: error:
+TyFamArity2.hs:4:15: error: [GHC-12985]
• Number of parameters must match family declaration; expected 1
• In the type instance declaration for ‘T’
diff --git a/testsuite/tests/module/mod39.stderr b/testsuite/tests/module/mod39.stderr
index d54a231152..2d093f36a4 100644
--- a/testsuite/tests/module/mod39.stderr
+++ b/testsuite/tests/module/mod39.stderr
@@ -1,7 +1,7 @@
-mod39.hs:4:17: error:
+mod39.hs:4:17: error: [GHC-25079]
• Constraint ‘Eq a’ in the type of ‘f’
constrains only the class type variables
- Enable ConstrainedClassMethods to allow it
• When checking the class method: f :: forall a. (C a, Eq a) => a
In the class declaration for ‘C’
+ Suggested fix: Perhaps you intended to use ConstrainedClassMethods
diff --git a/testsuite/tests/module/mod40.stderr b/testsuite/tests/module/mod40.stderr
index bd4fcf4bd9..b434d12761 100644
--- a/testsuite/tests/module/mod40.stderr
+++ b/testsuite/tests/module/mod40.stderr
@@ -1,14 +1,14 @@
-mod40.hs:3:1: error:
+mod40.hs:3:1: error: [GHC-29210]
• Superclass cycle for ‘C1’
one of whose superclasses is ‘C2’
one of whose superclasses is ‘C1’
- Use UndecidableSuperClasses to accept this
• In the class declaration for ‘C1’
+ Suggested fix: Perhaps you intended to use UndecidableSuperClasses
-mod40.hs:4:1: error:
+mod40.hs:4:1: error: [GHC-29210]
• Superclass cycle for ‘C2’
one of whose superclasses is ‘C1’
one of whose superclasses is ‘C2’
- Use UndecidableSuperClasses to accept this
• In the class declaration for ‘C2’
+ Suggested fix: Perhaps you intended to use UndecidableSuperClasses
diff --git a/testsuite/tests/overloadedrecflds/should_fail/DRFPartialFields.stderr b/testsuite/tests/overloadedrecflds/should_fail/DRFPartialFields.stderr
index f1801abd73..d40b994cb6 100644
--- a/testsuite/tests/overloadedrecflds/should_fail/DRFPartialFields.stderr
+++ b/testsuite/tests/overloadedrecflds/should_fail/DRFPartialFields.stderr
@@ -1,3 +1,3 @@
-DRFPartialFields.hs:4:17: error: [-Wpartial-fields, Werror=partial-fields]
+DRFPartialFields.hs:4:17: error: [GHC-82712] [-Wpartial-fields, Werror=partial-fields]
Use of partial record field selector: ‘foo’
diff --git a/testsuite/tests/parser/should_fail/readFail035.stderr b/testsuite/tests/parser/should_fail/readFail035.stderr
index 574cde49ab..e470427eae 100644
--- a/testsuite/tests/parser/should_fail/readFail035.stderr
+++ b/testsuite/tests/parser/should_fail/readFail035.stderr
@@ -1,4 +1,5 @@
-readFail035.hs:6:1:
- ‘Foo’ has no constructors (EmptyDataDecls permits this)
+readFail035.hs:6:1: [GHC-32478]
+ ‘Foo’ has no constructors
In the data declaration for ‘Foo’
+ Suggested fix: Perhaps you intended to use EmptyDataDecls
diff --git a/testsuite/tests/parser/should_fail/readFail036.stderr b/testsuite/tests/parser/should_fail/readFail036.stderr
index 469f5fb985..0a53a4be86 100644
--- a/testsuite/tests/parser/should_fail/readFail036.stderr
+++ b/testsuite/tests/parser/should_fail/readFail036.stderr
@@ -1,5 +1,5 @@
-readFail036.hs:6:16: error:
- Illegal kind signature: ‘Type’
- Perhaps you intended to use KindSignatures
+readFail036.hs:6:16: error: [GHC-49378]
+ Illegal kind signature ‘Type’
In the data type declaration for ‘Foo’
+ Suggested fix: Perhaps you intended to use KindSignatures
diff --git a/testsuite/tests/parser/should_fail/readFail037.stderr b/testsuite/tests/parser/should_fail/readFail037.stderr
index 27e36ab344..fd1ba5e14c 100644
--- a/testsuite/tests/parser/should_fail/readFail037.stderr
+++ b/testsuite/tests/parser/should_fail/readFail037.stderr
@@ -1,5 +1,5 @@
-readFail037.hs:5:1: error:
+readFail037.hs:5:1: error: [GHC-28349]
• Too many parameters for class ‘Foo’
- (Enable MultiParamTypeClasses to allow multi-parameter classes)
• In the class declaration for ‘Foo’
+ Suggested fix: Perhaps you intended to use MultiParamTypeClasses
diff --git a/testsuite/tests/parser/should_fail/readFail041.stderr b/testsuite/tests/parser/should_fail/readFail041.stderr
index 028b96510b..a41ffc8805 100644
--- a/testsuite/tests/parser/should_fail/readFail041.stderr
+++ b/testsuite/tests/parser/should_fail/readFail041.stderr
@@ -1,5 +1,5 @@
-readFail041.hs:6:1: error:
+readFail041.hs:6:1: error: [GHC-15708]
• Fundeps in class ‘Foo’
- (Enable FunctionalDependencies to allow fundeps)
• In the class declaration for ‘Foo’
+ Suggested fix: Perhaps you intended to use FunctionalDependencies
diff --git a/testsuite/tests/patsyn/should_fail/T14112.stderr b/testsuite/tests/patsyn/should_fail/T14112.stderr
index 833eee188b..32b584c5e1 100644
--- a/testsuite/tests/patsyn/should_fail/T14112.stderr
+++ b/testsuite/tests/patsyn/should_fail/T14112.stderr
@@ -2,6 +2,7 @@
T14112.hs:5:21: error: [GHC-69317]
Invalid right-hand side of bidirectional pattern synonym ‘MyJust1’:
Pattern ‘!a’ is not invertible
- Suggestion: instead use an explicitly bidirectional pattern synonym, e.g.
- pattern MyJust1 a <- Just !a where MyJust1 a = ...
RHS pattern: Just !a
+ Suggested fix:
+ Instead use an explicitly bidirectional pattern synonym, e.g.
+ pattern MyJust1 a <- Just !a where MyJust1 a = ...
diff --git a/testsuite/tests/patsyn/should_fail/unidir.stderr b/testsuite/tests/patsyn/should_fail/unidir.stderr
index 649dc9cf05..0a14283295 100644
--- a/testsuite/tests/patsyn/should_fail/unidir.stderr
+++ b/testsuite/tests/patsyn/should_fail/unidir.stderr
@@ -2,6 +2,7 @@
unidir.hs:4:18: error: [GHC-69317]
Invalid right-hand side of bidirectional pattern synonym ‘Head’:
Pattern ‘_’ is not invertible
- Suggestion: instead use an explicitly bidirectional pattern synonym, e.g.
- pattern Head x <- x : _ where Head x = ...
RHS pattern: x : _
+ Suggested fix:
+ Instead use an explicitly bidirectional pattern synonym, e.g.
+ pattern Head x <- x : _ where Head x = ...
diff --git a/testsuite/tests/polykinds/T14110.stderr b/testsuite/tests/polykinds/T14110.stderr
index aedfacb324..979a292193 100644
--- a/testsuite/tests/polykinds/T14110.stderr
+++ b/testsuite/tests/polykinds/T14110.stderr
@@ -1,5 +1,5 @@
-T14110.hs:9:8: error:
+T14110.hs:9:8: error: [GHC-12985]
• Number of parameters must match family declaration; expected 1
• In the type instance declaration for ‘R_’
In the instance declaration for ‘R Eq’
diff --git a/testsuite/tests/rename/should_fail/T16002.stderr b/testsuite/tests/rename/should_fail/T16002.stderr
index 91279ffeeb..1d75800952 100644
--- a/testsuite/tests/rename/should_fail/T16002.stderr
+++ b/testsuite/tests/rename/should_fail/T16002.stderr
@@ -1,5 +1,5 @@
-T16002.hs:6:3: error:
+T16002.hs:6:3: error: [GHC-88221]
• Mismatched type name in type family instance.
Expected: B
Actual: A
diff --git a/testsuite/tests/rename/should_fail/rnfail053.stderr b/testsuite/tests/rename/should_fail/rnfail053.stderr
index 4d438c3821..5f286374cb 100644
--- a/testsuite/tests/rename/should_fail/rnfail053.stderr
+++ b/testsuite/tests/rename/should_fail/rnfail053.stderr
@@ -1,7 +1,9 @@
-rnfail053.hs:6:10: error:
+rnfail053.hs:6:10: error: [GHC-25709]
• Data constructor ‘MkT’ has existential type variables, a context, or a specialised result type
MkT :: forall a. a -> T
- (Enable ExistentialQuantification or GADTs to allow this)
• In the definition of data constructor ‘MkT’
In the data type declaration for ‘T’
+ Suggested fixes:
+ Perhaps you intended to use ExistentialQuantification
+ Perhaps you intended to use GADTs
diff --git a/testsuite/tests/roles/should_fail/Roles11.stderr b/testsuite/tests/roles/should_fail/Roles11.stderr
index 1fa09997c5..16e1636553 100644
--- a/testsuite/tests/roles/should_fail/Roles11.stderr
+++ b/testsuite/tests/roles/should_fail/Roles11.stderr
@@ -1,5 +1,5 @@
-Roles11.hs:5:1:
+Roles11.hs:5:1: [GHC-29178]
Role mismatch on variable a:
Annotation says representational but role nominal is required
while checking a role annotation for ‘T2’
diff --git a/testsuite/tests/roles/should_fail/Roles5.stderr b/testsuite/tests/roles/should_fail/Roles5.stderr
index cb79845a55..052e2d3fa9 100644
--- a/testsuite/tests/roles/should_fail/Roles5.stderr
+++ b/testsuite/tests/roles/should_fail/Roles5.stderr
@@ -1,14 +1,19 @@
-Roles5.hs:7:1:
- Illegal role annotation for T;
- did you intend to use RoleAnnotations?
+Roles5.hs:7:1: [GHC-17779]
+ Illegal role annotation for T
while checking a role annotation for ‘T’
+ Suggested fix: Perhaps you intended to use RoleAnnotations
-Roles5.hs:8:1:
- Illegal role annotation for C;
- did you intend to use RoleAnnotations?
+Roles5.hs:8:1: [GHC-18273]
+ Roles other than ‘nominal’ for class parameters can lead to incoherence.
+ while checking a role annotation for ‘C’
+ Suggested fix: Perhaps you intended to use IncoherentInstances
+
+Roles5.hs:8:1: [GHC-17779]
+ Illegal role annotation for C
while checking a role annotation for ‘C’
+ Suggested fix: Perhaps you intended to use RoleAnnotations
-Roles5.hs:9:1:
+Roles5.hs:9:1: [GHC-77192]
Illegal role annotation for S;
they are allowed only for datatypes and classes.
diff --git a/testsuite/tests/roles/should_fail/Roles6.stderr b/testsuite/tests/roles/should_fail/Roles6.stderr
index 91bcce99c8..23f36fb29f 100644
--- a/testsuite/tests/roles/should_fail/Roles6.stderr
+++ b/testsuite/tests/roles/should_fail/Roles6.stderr
@@ -1,5 +1,5 @@
-Roles6.hs:7:1:
+Roles6.hs:7:1: [GHC-54298]
Wrong number of roles listed in role annotation;
Expected 2, got 3:
type role Foo nominal representational phantom
diff --git a/testsuite/tests/roles/should_fail/T8773.stderr b/testsuite/tests/roles/should_fail/T8773.stderr
index fac02f30d1..7cf09c4253 100644
--- a/testsuite/tests/roles/should_fail/T8773.stderr
+++ b/testsuite/tests/roles/should_fail/T8773.stderr
@@ -1,5 +1,5 @@
-T8773.hs:5:1:
+T8773.hs:5:1: [GHC-18273]
Roles other than ‘nominal’ for class parameters can lead to incoherence.
- Use IncoherentInstances to allow this; bad role found
while checking a role annotation for ‘C2’
+ Suggested fix: Perhaps you intended to use IncoherentInstances
diff --git a/testsuite/tests/th/T15362.stderr b/testsuite/tests/th/T15362.stderr
index b63cb3553e..8468d4319f 100644
--- a/testsuite/tests/th/T15362.stderr
+++ b/testsuite/tests/th/T15362.stderr
@@ -1,5 +1,5 @@
-T15362.hs:7:2: error:
+T15362.hs:7:2: error: [GHC-88221]
• Mismatched type name in type family instance.
Expected: +
Actual: Maybe
diff --git a/testsuite/tests/th/TH_Roles1.stderr b/testsuite/tests/th/TH_Roles1.stderr
index 2b665852ca..e7b138c2c6 100644
--- a/testsuite/tests/th/TH_Roles1.stderr
+++ b/testsuite/tests/th/TH_Roles1.stderr
@@ -1,5 +1,5 @@
-TH_Roles1.hs:7:2: error:
- • Illegal role annotation for T;
- did you intend to use RoleAnnotations?
+TH_Roles1.hs:7:2: error: [GHC-17779]
+ • Illegal role annotation for T
• while checking a role annotation for ‘T’
+ Suggested fix: Perhaps you intended to use RoleAnnotations
diff --git a/testsuite/tests/typecheck/should_compile/T7050.stderr b/testsuite/tests/typecheck/should_compile/T7050.stderr
index e115954bc8..3efb704434 100644
--- a/testsuite/tests/typecheck/should_compile/T7050.stderr
+++ b/testsuite/tests/typecheck/should_compile/T7050.stderr
@@ -1,5 +1,5 @@
-T7050.hs:3:14: warning:
+T7050.hs:3:14: warning: [GHC-40091]
• Ignoring unusable UNPACK pragma on the first argument of ‘Foo’
• In the definition of data constructor ‘Foo’
In the data type declaration for ‘Foo’
diff --git a/testsuite/tests/typecheck/should_compile/T7169.stderr b/testsuite/tests/typecheck/should_compile/T7169.stderr
index 0cc82e03cc..8fbe93c4e7 100644
--- a/testsuite/tests/typecheck/should_compile/T7169.stderr
+++ b/testsuite/tests/typecheck/should_compile/T7169.stderr
@@ -1,2 +1,2 @@
-T7169.hs:11:5: warning: [-Wpartial-fields]
+T7169.hs:11:5: warning: [GHC-82712] [-Wpartial-fields]
Use of partial record field selector: ‘m2’
diff --git a/testsuite/tests/typecheck/should_compile/T7562.stderr b/testsuite/tests/typecheck/should_compile/T7562.stderr
index 9c1b846b91..9aebdae6cf 100644
--- a/testsuite/tests/typecheck/should_compile/T7562.stderr
+++ b/testsuite/tests/typecheck/should_compile/T7562.stderr
@@ -1,5 +1,5 @@
-T7562.hs:3:14: warning:
+T7562.hs:3:14: warning: [GHC-10107]
• UNPACK pragma lacks '!' on the first argument of ‘Pair2’
• In the definition of data constructor ‘Pair2’
In the data type declaration for ‘Pair2’
diff --git a/testsuite/tests/typecheck/should_fail/AssocTyDef03.stderr b/testsuite/tests/typecheck/should_fail/AssocTyDef03.stderr
index 0f0c951a1d..68b289a0e6 100644
--- a/testsuite/tests/typecheck/should_fail/AssocTyDef03.stderr
+++ b/testsuite/tests/typecheck/should_fail/AssocTyDef03.stderr
@@ -1,5 +1,5 @@
-AssocTyDef03.hs:6:5:
+AssocTyDef03.hs:6:5: [GHC-52347]
Wrong category of family instance; declaration was for a data family
In the default type instance declaration for ‘Typ’
In the class declaration for ‘Cls’
diff --git a/testsuite/tests/typecheck/should_fail/AssocTyDef05.stderr b/testsuite/tests/typecheck/should_fail/AssocTyDef05.stderr
index 07812dc5fa..7065642eb0 100644
--- a/testsuite/tests/typecheck/should_fail/AssocTyDef05.stderr
+++ b/testsuite/tests/typecheck/should_fail/AssocTyDef05.stderr
@@ -1,5 +1,5 @@
-AssocTyDef05.hs:6:5: error:
+AssocTyDef05.hs:6:5: error: [GHC-12985]
• Number of parameters must match family declaration; expected 1
• In the default type instance declaration for ‘Typ’
In the class declaration for ‘Cls’
diff --git a/testsuite/tests/typecheck/should_fail/AssocTyDef06.stderr b/testsuite/tests/typecheck/should_fail/AssocTyDef06.stderr
index d51ce8ff6c..eb624b3bc7 100644
--- a/testsuite/tests/typecheck/should_fail/AssocTyDef06.stderr
+++ b/testsuite/tests/typecheck/should_fail/AssocTyDef06.stderr
@@ -1,5 +1,5 @@
-AssocTyDef06.hs:6:5:
+AssocTyDef06.hs:6:5: [GHC-12985]
Number of parameters must match family declaration; expected 1
In the default type instance declaration for ‘Typ’
In the class declaration for ‘Cls’
diff --git a/testsuite/tests/typecheck/should_fail/CommonFieldResultTypeMismatch.hs b/testsuite/tests/typecheck/should_fail/CommonFieldResultTypeMismatch.hs
new file mode 100644
index 0000000000..fdf1a95878
--- /dev/null
+++ b/testsuite/tests/typecheck/should_fail/CommonFieldResultTypeMismatch.hs
@@ -0,0 +1,5 @@
+module CommonFieldResultTypeMismatch where
+
+data A a where
+ A1 :: { fld :: Int } -> A Int
+ A2 :: { fld :: Int } -> A Double
diff --git a/testsuite/tests/typecheck/should_fail/CommonFieldResultTypeMismatch.stderr b/testsuite/tests/typecheck/should_fail/CommonFieldResultTypeMismatch.stderr
new file mode 100644
index 0000000000..320a978612
--- /dev/null
+++ b/testsuite/tests/typecheck/should_fail/CommonFieldResultTypeMismatch.stderr
@@ -0,0 +1,4 @@
+CommonFieldResultTypeMismatch.hs:3:1: [GHC-31004]
+ Constructors A1 and A2 have a common field ‘fld’,
+ but have different result types
+ In the data type declaration for ‘A’
diff --git a/testsuite/tests/typecheck/should_fail/CommonFieldTypeMismatch.hs b/testsuite/tests/typecheck/should_fail/CommonFieldTypeMismatch.hs
new file mode 100644
index 0000000000..3167114146
--- /dev/null
+++ b/testsuite/tests/typecheck/should_fail/CommonFieldTypeMismatch.hs
@@ -0,0 +1,6 @@
+module CommonFieldTypeMismatch where
+
+data A =
+ A1 { fld :: Int }
+ |
+ A2 { fld :: String }
diff --git a/testsuite/tests/typecheck/should_fail/CommonFieldTypeMismatch.stderr b/testsuite/tests/typecheck/should_fail/CommonFieldTypeMismatch.stderr
new file mode 100644
index 0000000000..c235f2e566
--- /dev/null
+++ b/testsuite/tests/typecheck/should_fail/CommonFieldTypeMismatch.stderr
@@ -0,0 +1,3 @@
+CommonFieldTypeMismatch.hs:3:1: [GHC-91827]
+ Constructors A1 and A2 give different types for field ‘fld’
+ In the data type declaration for ‘A’
diff --git a/testsuite/tests/typecheck/should_fail/GADTDataContext.stderr b/testsuite/tests/typecheck/should_fail/GADTDataContext.stderr
new file mode 100644
index 0000000000..8bd6648ed1
--- /dev/null
+++ b/testsuite/tests/typecheck/should_fail/GADTDataContext.stderr
@@ -0,0 +1 @@
+asdf
diff --git a/testsuite/tests/typecheck/should_fail/LazyFieldsDisabled.hs b/testsuite/tests/typecheck/should_fail/LazyFieldsDisabled.hs
new file mode 100644
index 0000000000..db384c2b8b
--- /dev/null
+++ b/testsuite/tests/typecheck/should_fail/LazyFieldsDisabled.hs
@@ -0,0 +1,3 @@
+module LazyFieldsDisabled where
+
+data A = A { lazy :: ~Int }
diff --git a/testsuite/tests/typecheck/should_fail/LazyFieldsDisabled.stderr b/testsuite/tests/typecheck/should_fail/LazyFieldsDisabled.stderr
new file mode 100644
index 0000000000..5e1b44dd12
--- /dev/null
+++ b/testsuite/tests/typecheck/should_fail/LazyFieldsDisabled.stderr
@@ -0,0 +1,6 @@
+LazyFieldsDisabled.hs:3:10: [GHC-81601]
+ Lazy field annotations (~) are disabled
+ on the first argument of ‘A’
+ In the definition of data constructor ‘A’
+ In the data type declaration for ‘A’
+ Suggested fix: Perhaps you intended to use StrictData
diff --git a/testsuite/tests/typecheck/should_fail/MultiAssocDefaults.hs b/testsuite/tests/typecheck/should_fail/MultiAssocDefaults.hs
new file mode 100644
index 0000000000..05265db804
--- /dev/null
+++ b/testsuite/tests/typecheck/should_fail/MultiAssocDefaults.hs
@@ -0,0 +1,10 @@
+{-# language TypeFamilies #-}
+
+module MultiAssocDefaults where
+
+import Data.Kind (Type)
+
+class C a where
+ type A a :: Type
+ type A a = Int
+ type A a = Double
diff --git a/testsuite/tests/typecheck/should_fail/MultiAssocDefaults.stderr b/testsuite/tests/typecheck/should_fail/MultiAssocDefaults.stderr
new file mode 100644
index 0000000000..5e9e0671f7
--- /dev/null
+++ b/testsuite/tests/typecheck/should_fail/MultiAssocDefaults.stderr
@@ -0,0 +1,3 @@
+MultiAssocDefaults.hs:7:1: [GHC-59128]
+ More than one default declaration for A
+ In the class declaration for ‘C’
diff --git a/testsuite/tests/typecheck/should_fail/T11623.stderr b/testsuite/tests/typecheck/should_fail/T11623.stderr
index 0f6253f103..aebd2e1af6 100644
--- a/testsuite/tests/typecheck/should_fail/T11623.stderr
+++ b/testsuite/tests/typecheck/should_fail/T11623.stderr
@@ -1,5 +1,5 @@
-T11623.hs:5:23: error:
+T11623.hs:5:23: error: [GHC-88221]
• Mismatched type name in type family instance.
Expected: T
Actual: Maybe
diff --git a/testsuite/tests/typecheck/should_fail/T12083a.stderr b/testsuite/tests/typecheck/should_fail/T12083a.stderr
index 54457a7d09..a10d19bb13 100644
--- a/testsuite/tests/typecheck/should_fail/T12083a.stderr
+++ b/testsuite/tests/typecheck/should_fail/T12083a.stderr
@@ -4,9 +4,11 @@ T12083a.hs:6:1: error: [GHC-91510]
• In the type synonym declaration for ‘Constrd’
Suggested fix: Perhaps you intended to use RankNTypes
-T12083a.hs:10:26: error:
+T12083a.hs:10:26: error: [GHC-25709]
• Data constructor ‘ExistentiallyLost’ has existential type variables, a context, or a specialised result type
ExistentiallyLost :: forall u. TC u => u -> ExistentiallyLost
- (Enable ExistentialQuantification or GADTs to allow this)
• In the definition of data constructor ‘ExistentiallyLost’
In the data type declaration for ‘ExistentiallyLost’
+ Suggested fixes:
+ Perhaps you intended to use ExistentialQuantification
+ Perhaps you intended to use GADTs
diff --git a/testsuite/tests/typecheck/should_fail/T12151.stderr b/testsuite/tests/typecheck/should_fail/T12151.stderr
index 21fea0bdeb..2bfc2f2c3f 100644
--- a/testsuite/tests/typecheck/should_fail/T12151.stderr
+++ b/testsuite/tests/typecheck/should_fail/T12151.stderr
@@ -1,5 +1,5 @@
-T12151.hs:9:13: error:
+T12151.hs:9:13: error: [GHC-72771]
• The default type signature for put: forall t. t
does not match its corresponding non-default type signature
• When checking the class method: put :: forall a. Put a => a
diff --git a/testsuite/tests/typecheck/should_fail/T12918a.stderr b/testsuite/tests/typecheck/should_fail/T12918a.stderr
index 3712a33f9a..a8bc386712 100644
--- a/testsuite/tests/typecheck/should_fail/T12918a.stderr
+++ b/testsuite/tests/typecheck/should_fail/T12918a.stderr
@@ -1,5 +1,5 @@
-T12918a.hs:8:11: error:
+T12918a.hs:8:11: error: [GHC-72771]
• The default type signature for fresh:
forall (t :: (* -> *) -> * -> *). MonadTrans t => t m Integer
does not match its corresponding non-default type signature
diff --git a/testsuite/tests/typecheck/should_fail/T12918b.stderr b/testsuite/tests/typecheck/should_fail/T12918b.stderr
index b812096660..bc53c4195e 100644
--- a/testsuite/tests/typecheck/should_fail/T12918b.stderr
+++ b/testsuite/tests/typecheck/should_fail/T12918b.stderr
@@ -1,12 +1,12 @@
-T12918b.hs:8:11: error:
+T12918b.hs:8:11: error: [GHC-72771]
• The default type signature for bar1: forall b. b -> a
does not match its corresponding non-default type signature
• When checking the class method:
bar1 :: forall a b. Foo1 a => a -> b
In the class declaration for ‘Foo1’
-T12918b.hs:12:11: error:
+T12918b.hs:12:11: error: [GHC-72771]
• The default type signature for bar2: forall x. x
does not match its corresponding non-default type signature
• When checking the class method:
@@ -26,14 +26,14 @@ T12918b.hs:12:11: error: [GHC-39999]
bar2 :: forall a b. Foo1 a => a -> b
In the class declaration for ‘Foo1’
-T12918b.hs:16:11: error:
+T12918b.hs:16:11: error: [GHC-72771]
• The default type signature for bar3: a -> Int
does not match its corresponding non-default type signature
• When checking the class method:
bar3 :: forall a b. Foo1 a => a -> b
In the class declaration for ‘Foo1’
-T12918b.hs:20:11: error:
+T12918b.hs:20:11: error: [GHC-72771]
• The default type signature for bar4: forall b. a -> b
does not match its corresponding non-default type signature
• When checking the class method:
diff --git a/testsuite/tests/typecheck/should_fail/T13300.stderr b/testsuite/tests/typecheck/should_fail/T13300.stderr
index 5bc8e4d3e3..8848060740 100644
--- a/testsuite/tests/typecheck/should_fail/T13300.stderr
+++ b/testsuite/tests/typecheck/should_fail/T13300.stderr
@@ -1,5 +1,5 @@
-T13300.hs:5:3: error:
+T13300.hs:5:3: error: [GHC-45219]
• Data constructor ‘WI’ returns type ‘Int’
instead of an instance of its parent type ‘W’
• In the definition of data constructor ‘WI’
diff --git a/testsuite/tests/typecheck/should_fail/T14761a.stderr b/testsuite/tests/typecheck/should_fail/T14761a.stderr
index 867cf6dae6..75effca532 100644
--- a/testsuite/tests/typecheck/should_fail/T14761a.stderr
+++ b/testsuite/tests/typecheck/should_fail/T14761a.stderr
@@ -1,15 +1,15 @@
-T14761a.hs:13:10: error: [-Werror]
+T14761a.hs:13:10: error: [GHC-10107] [-Werror]
• UNPACK pragma lacks '!' on the first argument of ‘A’
• In the definition of data constructor ‘A’
In the data type declaration for ‘A’
-T14761a.hs:17:10: error: [-Werror]
+T14761a.hs:17:10: error: [GHC-10107] [-Werror]
• UNPACK pragma lacks '!' on the first argument of ‘B’
• In the definition of data constructor ‘B’
In the data type declaration for ‘B’
-T14761a.hs:20:3: error: [-Werror]
+T14761a.hs:20:3: error: [GHC-10107] [-Werror]
• UNPACK pragma lacks '!' on the first argument of ‘MkG2’
• In the definition of data constructor ‘MkG2’
In the data type declaration for ‘G’
diff --git a/testsuite/tests/typecheck/should_fail/T18357.stderr b/testsuite/tests/typecheck/should_fail/T18357.stderr
index 60762c4dcb..0fee78cd5d 100644
--- a/testsuite/tests/typecheck/should_fail/T18357.stderr
+++ b/testsuite/tests/typecheck/should_fail/T18357.stderr
@@ -1,5 +1,5 @@
-T18357.hs:13:3: error:
+T18357.hs:13:3: error: [GHC-45219]
• Data constructor ‘MkT’ returns type ‘W’
instead of an instance of its parent type ‘T’
• In the definition of data constructor ‘MkT’
diff --git a/testsuite/tests/typecheck/should_fail/T18357b.stderr b/testsuite/tests/typecheck/should_fail/T18357b.stderr
index c758e81543..24937c2432 100644
--- a/testsuite/tests/typecheck/should_fail/T18357b.stderr
+++ b/testsuite/tests/typecheck/should_fail/T18357b.stderr
@@ -1,5 +1,5 @@
-T18357b.hs:10:3: error:
+T18357b.hs:10:3: error: [GHC-45219]
• Data constructor ‘MkT’ returns type ‘T’
instead of an instance of its parent type ‘T’
• In the definition of data constructor ‘MkT’
diff --git a/testsuite/tests/typecheck/should_fail/T20260.stderr b/testsuite/tests/typecheck/should_fail/T20260.stderr
index 574d72163d..5415252cd3 100644
--- a/testsuite/tests/typecheck/should_fail/T20260.stderr
+++ b/testsuite/tests/typecheck/should_fail/T20260.stderr
@@ -1,5 +1,5 @@
-T20260.hs:8:3: error:
+T20260.hs:8:3: error: [GHC-88221]
• Mismatched type name in type family instance.
Expected: Foo
Actual: Bar
diff --git a/testsuite/tests/typecheck/should_fail/T20873c.stderr b/testsuite/tests/typecheck/should_fail/T20873c.stderr
index 972d01c583..58b98d32ef 100644
--- a/testsuite/tests/typecheck/should_fail/T20873c.stderr
+++ b/testsuite/tests/typecheck/should_fail/T20873c.stderr
@@ -1,5 +1,5 @@
-T20873c.hs:10:1: error:
- • Illegal kind signature ‘Foo’
- (Use KindSignatures to allow kind signatures)
+T20873c.hs:10:1: error: [GHC-49378]
+ • Illegal kind signature ‘Foo :: U Int’
• In the data declaration for ‘Foo’
+ Suggested fix: Perhaps you intended to use KindSignatures
diff --git a/testsuite/tests/typecheck/should_fail/T3966.stderr b/testsuite/tests/typecheck/should_fail/T3966.stderr
index cab45c21e6..0708250dea 100644
--- a/testsuite/tests/typecheck/should_fail/T3966.stderr
+++ b/testsuite/tests/typecheck/should_fail/T3966.stderr
@@ -1,5 +1,5 @@
-T3966.hs:5:16: error: [-Werror]
+T3966.hs:5:16: error: [GHC-40091] [-Werror]
• Ignoring unusable UNPACK pragma on the first argument of ‘Foo’
• In the definition of data constructor ‘Foo’
In the data type declaration for ‘Foo’
diff --git a/testsuite/tests/typecheck/should_fail/T7175.stderr b/testsuite/tests/typecheck/should_fail/T7175.stderr
index 57d798fb0a..bc20efb233 100644
--- a/testsuite/tests/typecheck/should_fail/T7175.stderr
+++ b/testsuite/tests/typecheck/should_fail/T7175.stderr
@@ -1,11 +1,11 @@
-T7175.hs:8:4: error:
+T7175.hs:8:4: error: [GHC-45219]
Data constructor ‘G1C’ returns type ‘F Int’
instead of an instance of its parent type ‘G1 a’
In the definition of data constructor ‘G1C’
In the data type declaration for ‘G1’
-T7175.hs:11:4: error:
+T7175.hs:11:4: error: [GHC-45219]
Data constructor ‘G2C’ returns type ‘F Int’
instead of an instance of its parent type ‘G2 a’
In the definition of data constructor ‘G2C’
diff --git a/testsuite/tests/typecheck/should_fail/T7437.stderr b/testsuite/tests/typecheck/should_fail/T7437.stderr
index d5577873f6..cf461f529a 100644
--- a/testsuite/tests/typecheck/should_fail/T7437.stderr
+++ b/testsuite/tests/typecheck/should_fail/T7437.stderr
@@ -1,5 +1,5 @@
-T7437.hs:14:13: error:
+T7437.hs:14:13: error: [GHC-72771]
• The default type signature for put:
forall t. (Generic t, GPut (Rep t)) => t -> [()]
does not match its corresponding non-default type signature
diff --git a/testsuite/tests/typecheck/should_fail/T9415.stderr b/testsuite/tests/typecheck/should_fail/T9415.stderr
index 3250b67cd3..0606c5a5a0 100644
--- a/testsuite/tests/typecheck/should_fail/T9415.stderr
+++ b/testsuite/tests/typecheck/should_fail/T9415.stderr
@@ -1,14 +1,14 @@
-T9415.hs:3:1: error:
+T9415.hs:3:1: error: [GHC-29210]
• Superclass cycle for ‘C’
one of whose superclasses is ‘D’
one of whose superclasses is ‘C’
- Use UndecidableSuperClasses to accept this
• In the class declaration for ‘C’
+ Suggested fix: Perhaps you intended to use UndecidableSuperClasses
-T9415.hs:5:1: error:
+T9415.hs:5:1: error: [GHC-29210]
• Superclass cycle for ‘D’
one of whose superclasses is ‘C’
one of whose superclasses is ‘D’
- Use UndecidableSuperClasses to accept this
• In the class declaration for ‘D’
+ Suggested fix: Perhaps you intended to use UndecidableSuperClasses
diff --git a/testsuite/tests/typecheck/should_fail/T9739.stderr b/testsuite/tests/typecheck/should_fail/T9739.stderr
index c35440a234..ae91c4b00f 100644
--- a/testsuite/tests/typecheck/should_fail/T9739.stderr
+++ b/testsuite/tests/typecheck/should_fail/T9739.stderr
@@ -1,14 +1,14 @@
-T9739.hs:4:1: error:
+T9739.hs:4:1: error: [GHC-29210]
• Superclass cycle for ‘Class1’
one of whose superclasses is ‘Class3’
one of whose superclasses is ‘Class1’
- Use UndecidableSuperClasses to accept this
• In the class declaration for ‘Class1’
+ Suggested fix: Perhaps you intended to use UndecidableSuperClasses
-T9739.hs:9:1: error:
+T9739.hs:9:1: error: [GHC-29210]
• Superclass cycle for ‘Class3’
one of whose superclasses is ‘Class1’
one of whose superclasses is ‘Class3’
- Use UndecidableSuperClasses to accept this
• In the class declaration for ‘Class3’
+ Suggested fix: Perhaps you intended to use UndecidableSuperClasses
diff --git a/testsuite/tests/typecheck/should_fail/TcNoNullaryTC.stderr b/testsuite/tests/typecheck/should_fail/TcNoNullaryTC.stderr
index 15c9cd2ab6..700db44271 100644
--- a/testsuite/tests/typecheck/should_fail/TcNoNullaryTC.stderr
+++ b/testsuite/tests/typecheck/should_fail/TcNoNullaryTC.stderr
@@ -1,5 +1,5 @@
-TcNoNullaryTC.hs:4:1: error:
+TcNoNullaryTC.hs:4:1: error: [GHC-28349]
• No parameters for class ‘A’
- (Enable MultiParamTypeClasses to allow no-parameter classes)
• In the class declaration for ‘A’
+ Suggested fix: Perhaps you intended to use MultiParamTypeClasses
diff --git a/testsuite/tests/typecheck/should_fail/TyfamsDisabled.hs b/testsuite/tests/typecheck/should_fail/TyfamsDisabled.hs
new file mode 100644
index 0000000000..e91c4e9a16
--- /dev/null
+++ b/testsuite/tests/typecheck/should_fail/TyfamsDisabled.hs
@@ -0,0 +1,3 @@
+module TyfamsDisabled where
+
+type family A
diff --git a/testsuite/tests/typecheck/should_fail/TyfamsDisabled.stderr b/testsuite/tests/typecheck/should_fail/TyfamsDisabled.stderr
new file mode 100644
index 0000000000..e9d756f9a7
--- /dev/null
+++ b/testsuite/tests/typecheck/should_fail/TyfamsDisabled.stderr
@@ -0,0 +1,4 @@
+TyfamsDisabled.hs:3:1: [GHC-39191]
+ Illegal family declaration for ‘A’
+ In the type family declaration for ‘A’
+ Suggested fix: Perhaps you intended to use TypeFamilies
diff --git a/testsuite/tests/typecheck/should_fail/all.T b/testsuite/tests/typecheck/should_fail/all.T
index 07bfcd8436..ebcec31f8d 100644
--- a/testsuite/tests/typecheck/should_fail/all.T
+++ b/testsuite/tests/typecheck/should_fail/all.T
@@ -675,3 +675,8 @@ test('PatSynExistential', normal, compile_fail, [''])
test('PatSynArity', normal, compile_fail, [''])
test('PatSynUnboundVar', normal, compile_fail, [''])
test('T21444', normal, compile_fail, [''])
+test('MultiAssocDefaults', normal, compile_fail, [''])
+test('LazyFieldsDisabled', normal, compile_fail, [''])
+test('TyfamsDisabled', normal, compile_fail, [''])
+test('CommonFieldResultTypeMismatch', normal, compile_fail, [''])
+test('CommonFieldTypeMismatch', normal, compile_fail, [''])
diff --git a/testsuite/tests/typecheck/should_fail/tcfail027.stderr b/testsuite/tests/typecheck/should_fail/tcfail027.stderr
index e8b2770e2b..2ce8d99dde 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail027.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail027.stderr
@@ -1,14 +1,14 @@
-tcfail027.hs:4:1: error:
+tcfail027.hs:4:1: error: [GHC-29210]
• Superclass cycle for ‘A’
one of whose superclasses is ‘B’
one of whose superclasses is ‘A’
- Use UndecidableSuperClasses to accept this
• In the class declaration for ‘A’
+ Suggested fix: Perhaps you intended to use UndecidableSuperClasses
-tcfail027.hs:7:1: error:
+tcfail027.hs:7:1: error: [GHC-29210]
• Superclass cycle for ‘B’
one of whose superclasses is ‘A’
one of whose superclasses is ‘B’
- Use UndecidableSuperClasses to accept this
• In the class declaration for ‘B’
+ Suggested fix: Perhaps you intended to use UndecidableSuperClasses
diff --git a/testsuite/tests/typecheck/should_fail/tcfail150.stderr b/testsuite/tests/typecheck/should_fail/tcfail150.stderr
index 50a2793add..b7729c04d7 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail150.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail150.stderr
@@ -1,8 +1,8 @@
-tcfail150.hs:7:3: error:
+tcfail150.hs:7:3: error: [GHC-25079]
• Constraint ‘Eq a’ in the type of ‘op’
constrains only the class type variables
- Enable ConstrainedClassMethods to allow it
• When checking the class method:
op :: forall a. (Foo a, Eq a) => a -> a
In the class declaration for ‘Foo’
+ Suggested fix: Perhaps you intended to use ConstrainedClassMethods
diff --git a/testsuite/tests/typecheck/should_fail/tcfail155.stderr b/testsuite/tests/typecheck/should_fail/tcfail155.stderr
index 868daaf322..82756ed514 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail155.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail155.stderr
@@ -1,5 +1,5 @@
-tcfail155.hs:8:6: error:
+tcfail155.hs:8:6: error: [GHC-45219]
• Data constructor ‘P’ returns type ‘L2’
instead of an instance of its parent type ‘T a’
• In the definition of data constructor ‘P’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail176.stderr b/testsuite/tests/typecheck/should_fail/tcfail176.stderr
index 35c96d3332..db12864c70 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail176.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail176.stderr
@@ -1,5 +1,5 @@
-tcfail176.hs:7:21:
+tcfail176.hs:7:21: [GHC-45219]
Data constructor ‘Bug’ returns type ‘Maybe a’
instead of an instance of its parent type ‘Bug a’
In the definition of data constructor ‘Bug’
diff --git a/testsuite/tests/typecheck/should_fail/tcfail213.stderr b/testsuite/tests/typecheck/should_fail/tcfail213.stderr
index 319a2b10e2..7d7e2d7da5 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail213.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail213.stderr
@@ -1,7 +1,7 @@
-tcfail213.hs:8:1: error:
+tcfail213.hs:8:1: error: [GHC-29210]
• Potential superclass cycle for ‘C’
one of whose superclass constraints is headed by a type family:
‘F a’
- Use UndecidableSuperClasses to accept this
• In the class declaration for ‘C’
+ Suggested fix: Perhaps you intended to use UndecidableSuperClasses
diff --git a/testsuite/tests/typecheck/should_fail/tcfail216.stderr b/testsuite/tests/typecheck/should_fail/tcfail216.stderr
index 520f5590dd..4c9fbf5712 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail216.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail216.stderr
@@ -1,7 +1,7 @@
-tcfail216.hs:4:1: error:
+tcfail216.hs:4:1: error: [GHC-29210]
• Potential superclass cycle for ‘A’
one of whose superclass constraints is headed by a type variable:
‘cls (A cls)’
- Use UndecidableSuperClasses to accept this
• In the class declaration for ‘A’
+ Suggested fix: Perhaps you intended to use UndecidableSuperClasses
diff --git a/testsuite/tests/typecheck/should_fail/tcfail217.stderr b/testsuite/tests/typecheck/should_fail/tcfail217.stderr
index 729080373c..57afa3edab 100644
--- a/testsuite/tests/typecheck/should_fail/tcfail217.stderr
+++ b/testsuite/tests/typecheck/should_fail/tcfail217.stderr
@@ -1,6 +1,6 @@
-tcfail217.hs:7:1: error:
+tcfail217.hs:7:1: error: [GHC-29210]
• Superclass cycle for ‘A’
one of whose superclasses is ‘A’
- Use UndecidableSuperClasses to accept this
• In the class declaration for ‘A’
+ Suggested fix: Perhaps you intended to use UndecidableSuperClasses
diff --git a/testsuite/tests/unboxedsums/unpack_sums_5.stderr b/testsuite/tests/unboxedsums/unpack_sums_5.stderr
index 96e786895a..2108d2b6b6 100644
--- a/testsuite/tests/unboxedsums/unpack_sums_5.stderr
+++ b/testsuite/tests/unboxedsums/unpack_sums_5.stderr
@@ -1,10 +1,10 @@
-unpack_sums_5.hs:4:22: warning:
+unpack_sums_5.hs:4:22: warning: [GHC-40091]
• Ignoring unusable UNPACK pragma on the first argument of ‘JustT’
• In the definition of data constructor ‘JustT’
In the data type declaration for ‘SMaybeT’
-unpack_sums_5.hs:7:10: warning:
+unpack_sums_5.hs:7:10: warning: [GHC-40091]
• Ignoring unusable UNPACK pragma on the first argument of ‘MkT’
• In the definition of data constructor ‘MkT’
In the data type declaration for ‘T’