diff options
Diffstat (limited to 'testsuite')
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’ |