diff options
Diffstat (limited to 'testsuite/tests/rename/should_fail/rnfail055.stderr')
-rw-r--r-- | testsuite/tests/rename/should_fail/rnfail055.stderr | 48 |
1 files changed, 33 insertions, 15 deletions
diff --git a/testsuite/tests/rename/should_fail/rnfail055.stderr b/testsuite/tests/rename/should_fail/rnfail055.stderr index b9ba174519..ef4b09fd3a 100644 --- a/testsuite/tests/rename/should_fail/rnfail055.stderr +++ b/testsuite/tests/rename/should_fail/rnfail055.stderr @@ -15,31 +15,39 @@ RnFail055.hs-boot:4:1: error: RnFail055.hs-boot:6:1: error: Type constructor ‘S1’ has conflicting definitions in the module and its hs-boot file - Main module: type S1 a b = (a, b) - Boot file: type S1 a b c = (a, b) + Main module: type S1 :: * -> * -> * + type S1 a b = (a, b) + Boot file: type S1 :: * -> * -> * -> * + type S1 a b c = (a, b) The types have different kinds RnFail055.hs-boot:8:1: error: Type constructor ‘S2’ has conflicting definitions in the module and its hs-boot file - Main module: type S2 a b = forall a1. (a1, b) - Boot file: type S2 a b = forall b1. (a, b1) + Main module: type S2 :: * -> * -> * + type S2 a b = forall a1. (a1, b) + Boot file: type S2 :: * -> * -> * + type S2 a b = forall b1. (a, b1) The roles do not match. Roles on abstract types default to ‘representational’ in boot files. RnFail055.hs-boot:12:1: error: Type constructor ‘T1’ has conflicting definitions in the module and its hs-boot file - Main module: data T1 a b = T1 [b] [a] - Boot file: data T1 a b = T1 [a] [b] + Main module: type T1 :: * -> * -> * + data T1 a b = T1 [b] [a] + Boot file: type T1 :: * -> * -> * + data T1 a b = T1 [a] [b] The constructors do not match: The types for ‘T1’ differ RnFail055.hs-boot:14:1: error: Type constructor ‘T2’ has conflicting definitions in the module and its hs-boot file Main module: type role T2 representational nominal + type T2 :: * -> * -> * data Eq b => T2 a b = T2 a Boot file: type role T2 nominal phantom + type T2 :: * -> * -> * data Eq a => T2 a b = T2 a The roles do not match. Roles on abstract types default to ‘representational’ in boot files. @@ -54,16 +62,20 @@ RnFail055.hs-boot:17:12: error: RnFail055.hs-boot:21:1: error: Type constructor ‘T5’ has conflicting definitions in the module and its hs-boot file - Main module: data T5 a = T5 {field5 :: a} - Boot file: data T5 a = T5 a + Main module: type T5 :: * -> * + data T5 a = T5 {field5 :: a} + Boot file: type T5 :: * -> * + data T5 a = T5 a The constructors do not match: The record label lists for ‘T5’ differ RnFail055.hs-boot:23:1: error: Type constructor ‘T6’ has conflicting definitions in the module and its hs-boot file - Main module: data T6 = T6 Int - Boot file: data T6 = T6 !Int + Main module: type T6 :: * + data T6 = T6 Int + Boot file: type T6 :: * + data T6 = T6 !Int The constructors do not match: The strictness annotations for ‘T6’ differ @@ -71,8 +83,10 @@ RnFail055.hs-boot:25:1: error: Type constructor ‘T7’ has conflicting definitions in the module and its hs-boot file Main module: type role T7 phantom + type T7 :: * -> * data T7 a = forall a1. T7 a1 - Boot file: data T7 a = forall b. T7 a + Boot file: type T7 :: * -> * + data T7 a = forall b. T7 a The roles do not match. Roles on abstract types default to ‘representational’ in boot files. The constructors do not match: The types for ‘T7’ differ @@ -83,11 +97,13 @@ RnFail055.hs-boot:27:22: error: RnFail055.hs-boot:28:1: error: Class ‘C2’ has conflicting definitions in the module and its hs-boot file - Main module: class C2 a b where + Main module: type C2 :: * -> * -> Constraint + class C2 a b where m2 :: a -> b m2' :: a -> b {-# MINIMAL m2, m2' #-} - Boot file: class C2 a b where + Boot file: type C2 :: * -> * -> Constraint + class C2 a b where m2 :: a -> b {-# MINIMAL m2 #-} The methods do not match: There are different numbers of methods @@ -96,6 +112,8 @@ RnFail055.hs-boot:28:1: error: RnFail055.hs-boot:29:1: error: Class ‘C3’ has conflicting definitions in the module and its hs-boot file - Main module: class (Eq a, Ord a) => C3 a - Boot file: class (Ord a, Eq a) => C3 a + Main module: type C3 :: * -> Constraint + class (Eq a, Ord a) => C3 a + Boot file: type C3 :: * -> Constraint + class (Ord a, Eq a) => C3 a The class constraints do not match |