Update output: More elaborate GND error messages
authorJoachim Breitner <mail@joachim-breitner.de>
Wed, 4 Dec 2013 09:02:50 +0000 (09:02 +0000)
committerJoachim Breitner <mail@joachim-breitner.de>
Wed, 4 Dec 2013 09:02:50 +0000 (09:02 +0000)
testsuite/tests/deriving/should_fail/T1496.stderr
testsuite/tests/deriving/should_fail/T7148.stderr
testsuite/tests/deriving/should_fail/T7148a.stderr
testsuite/tests/gadt/CasePrune.stderr
testsuite/tests/roles/should_fail/Roles10.stderr

index 59f70ca..a18d392 100644 (file)
@@ -2,7 +2,9 @@
 T1496.hs:10:32:
     Could not coerce from ‛c Int’ to ‛c Moo’
       because ‛c Int’ and ‛c Moo’ are different types.
-      arising from the 'deriving' clause of a data type declaration
+      arising from the coercion of the method ‛isInt’ from type
+                   ‛forall (c :: * -> *). c Int -> c Int’ to type
+                   ‛forall (c :: * -> *). c Int -> c Moo’
     Possible fix:
       use a standalone 'deriving instance' declaration,
         so you can specify the instance context yourself
index ab87a27..21e350c 100644 (file)
@@ -3,7 +3,9 @@ T7148.hs:27:40:
     Could not coerce from ‛SameType b1 b’ to ‛SameType b1 (Tagged a b)’
       because the second type argument of ‛SameType’ has role Nominal,
       but the arguments ‛b’ and ‛Tagged a b’ differ
-      arising from the 'deriving' clause of a data type declaration
+      arising from the coercion of the method ‛iso2’ from type
+                   ‛forall b. SameType b () -> SameType b b’ to type
+                   ‛forall b. SameType b () -> SameType b (Tagged a b)’
     Possible fix:
       use a standalone 'deriving instance' declaration,
         so you can specify the instance context yourself
@@ -13,7 +15,9 @@ T7148.hs:27:40:
     Could not coerce from ‛SameType b b1’ to ‛SameType (Tagged a b) b1’
       because the first type argument of ‛SameType’ has role Nominal,
       but the arguments ‛b’ and ‛Tagged a b’ differ
-      arising from the 'deriving' clause of a data type declaration
+      arising from the coercion of the method ‛iso1’ from type
+                   ‛forall b. SameType () b -> SameType b b’ to type
+                   ‛forall b. SameType () b -> SameType (Tagged a b) b’
     Possible fix:
       use a standalone 'deriving instance' declaration,
         so you can specify the instance context yourself
index 484d5aa..1984eb9 100644 (file)
@@ -2,7 +2,9 @@
 T7148a.hs:19:50:
     Could not coerce from ‛Result a b’ to ‛b’
       because ‛Result a b’ and ‛b’ are different types.
-      arising from the 'deriving' clause of a data type declaration
+      arising from the coercion of the method ‛coerce’ from type
+                   ‛forall b. Proxy b -> a -> Result a b’ to type
+                   ‛forall b. Proxy b -> IS_NO_LONGER a -> Result (IS_NO_LONGER a) b’
     Possible fix:
       use a standalone 'deriving instance' declaration,
         so you can specify the instance context yourself
index 7263461..64b7157 100644 (file)
@@ -3,7 +3,8 @@ CasePrune.hs:14:31:
     Could not coerce from ‛T Int’ to ‛T A’
       because the first type argument of ‛T’ has role Nominal,
       but the arguments ‛Int’ and ‛A’ differ
-      arising from the 'deriving' clause of a data type declaration
+      arising from the coercion of the method ‛ic’ from type ‛T Int’
+                   to type ‛T A’
     Possible fix:
       use a standalone 'deriving instance' declaration,
         so you can specify the instance context yourself
index 230f2c9..1c63658 100644 (file)
@@ -2,7 +2,8 @@
 Roles10.hs:16:12:
     Could not coerce from ‛Bool’ to ‛Char’
       because ‛Bool’ and ‛Char’ are different types.
-      arising from the 'deriving' clause of a data type declaration
+      arising from the coercion of the method ‛meth’ from type
+                   ‛Int -> F Int’ to type ‛Age -> F Age’
     Possible fix:
       use a standalone 'deriving instance' declaration,
         so you can specify the instance context yourself