diff options
Diffstat (limited to 'testsuite/tests')
81 files changed, 809 insertions, 473 deletions
diff --git a/testsuite/tests/backpack/cabal/bkpcabal02/bkpcabal02.stderr b/testsuite/tests/backpack/cabal/bkpcabal02/bkpcabal02.stderr index e6a1f31a82..4d56d26651 100644 --- a/testsuite/tests/backpack/cabal/bkpcabal02/bkpcabal02.stderr +++ b/testsuite/tests/backpack/cabal/bkpcabal02/bkpcabal02.stderr @@ -1,10 +1,10 @@ -q/H.hsig:2:1: error: +q\H.hsig:2:1: error: [GHC-11890] • Identifier ‘x’ has conflicting definitions in the module - and its hsig file + and its hsig file. Main module: x :: Int - Hsig file: x :: Bool - The two types are different + Hsig file: x :: Bool + The two types are different. • while merging the signatures from: • bkpcabal01-0.1.0.0:p[H=<H>]:H • ...and the local signature for H diff --git a/testsuite/tests/backpack/cabal/bkpcabal06/bkpcabal06.stderr b/testsuite/tests/backpack/cabal/bkpcabal06/bkpcabal06.stderr index 24defef3c5..6a68787319 100644 --- a/testsuite/tests/backpack/cabal/bkpcabal06/bkpcabal06.stderr +++ b/testsuite/tests/backpack/cabal/bkpcabal06/bkpcabal06.stderr @@ -1,4 +1,4 @@ sig/P.hsig:1:1: error: [GHC-93011] • ‘p’ is exported by the hsig file, but not exported by the implementing module ‘bkpcabal06-0.1.0.0:impl:P’ - • while checking that bkpcabal06-0.1.0.0:impl:P implements signature P in bkpcabal06-0.1.0.0:sig[P=bkpcabal06-0.1.0.0:impl:P] + • While checking that ‘bkpcabal06-0.1.0.0:impl:P’ implements signature ‘P’ in ‘bkpcabal06-0.1.0.0:sig[P=bkpcabal06-0.1.0.0:impl:P]’. diff --git a/testsuite/tests/backpack/should_compile/all.T b/testsuite/tests/backpack/should_compile/all.T index 07c1ed27ec..9a2edebd8e 100644 --- a/testsuite/tests/backpack/should_compile/all.T +++ b/testsuite/tests/backpack/should_compile/all.T @@ -52,6 +52,7 @@ test('bkp57', normal, backpack_compile, ['']) test('bkp58', normal, backpack_compile, ['']) test('bkp59', normal, backpack_compile, ['']) test('bkp60', normal, backpack_compile, ['']) +test('bkp61', normal, backpack_compile, ['']) test('T13140', normal, backpack_compile, ['']) test('T13149', expect_broken(13149), backpack_compile, ['']) diff --git a/testsuite/tests/backpack/should_compile/bkp09.bkp b/testsuite/tests/backpack/should_compile/bkp09.bkp index 64cf447715..68b9677d56 100644 --- a/testsuite/tests/backpack/should_compile/bkp09.bkp +++ b/testsuite/tests/backpack/should_compile/bkp09.bkp @@ -7,7 +7,7 @@ unit p where data T a = MkT (S a) data S a = MkS a --- keept his synced up! +-- keep this synced up! unit q where signature H where data T a = MkT (S a) diff --git a/testsuite/tests/backpack/should_compile/bkp15.bkp b/testsuite/tests/backpack/should_compile/bkp15.bkp index c661eafe6f..48058417a9 100644 --- a/testsuite/tests/backpack/should_compile/bkp15.bkp +++ b/testsuite/tests/backpack/should_compile/bkp15.bkp @@ -22,7 +22,7 @@ unit p where -- type instance Elem Int = Bool -- pattern Blub n = ("foo", n) --- keept his synced up! +-- keep this synced up! unit q where signature H where x :: (forall a. a -> a) -> (Int, Bool) diff --git a/testsuite/tests/backpack/should_compile/bkp61.bkp b/testsuite/tests/backpack/should_compile/bkp61.bkp new file mode 100644 index 0000000000..3ad7d721bb --- /dev/null +++ b/testsuite/tests/backpack/should_compile/bkp61.bkp @@ -0,0 +1,36 @@ +-- Check that we can implement abstract data using a data family. + +{-# LANGUAGE DataKinds #-} +{-# LANGUAGE TypeFamilies #-} + +unit p where + signature H where + import Data.Kind + type T :: Bool -> Type + data T b + turnOff :: T True -> T False + turnOn :: T False -> T True + module A where + import H + foo :: T True -> T True + foo = turnOn . turnOff + +unit q where + module H where + import Data.Kind + type D :: Bool -> Type + data family D a + data instance D True = DT + data instance D False = DF + turnOff DT = DF + turnOn DF = DT + + type S = D + type T = S + +unit r where + dependency q + dependency p[H=q:H] + module N where + import A + bar = foo . foo diff --git a/testsuite/tests/backpack/should_compile/bkp61.stderr b/testsuite/tests/backpack/should_compile/bkp61.stderr new file mode 100644 index 0000000000..808295964d --- /dev/null +++ b/testsuite/tests/backpack/should_compile/bkp61.stderr @@ -0,0 +1,15 @@ +[1 of 3] Processing p + [1 of 2] Compiling H[sig] ( p\H.hsig, nothing ) + [2 of 2] Compiling A ( p\A.hs, nothing ) +[2 of 3] Processing q + Instantiating q + [1 of 1] Compiling H ( q\H.hs, bkp61.out\q\H.o ) +[3 of 3] Processing r + Instantiating r + [1 of 2] Including q + [2 of 2] Including p[H=q:H] + Instantiating p[H=q:H] + [1 of 2] Compiling H[sig] ( p\H.hsig, bkp61.out\p\p-D5Mg3foBSCrDbQDKH4WGSG\H.o ) + [2 of 2] Compiling A ( p\A.hs, bkp61.out\p\p-D5Mg3foBSCrDbQDKH4WGSG\A.o ) + [1 of 2] Compiling N ( r\N.hs, bkp61.out\r\N.o ) + [2 of 2] Instantiating p diff --git a/testsuite/tests/backpack/should_fail/T19244a.stderr b/testsuite/tests/backpack/should_fail/T19244a.stderr index 5dceaad5f3..3c9e217a87 100644 --- a/testsuite/tests/backpack/should_fail/T19244a.stderr +++ b/testsuite/tests/backpack/should_fail/T19244a.stderr @@ -1,31 +1,31 @@ [1 of 4] Processing user - [1 of 2] Compiling Map[sig] ( user/Map.hsig, nothing ) - [2 of 2] Compiling User ( user/User.hs, nothing ) + [1 of 2] Compiling Map[sig] ( user\Map.hsig, nothing ) + [2 of 2] Compiling User ( user\User.hs, nothing ) [2 of 4] Processing ordmap Instantiating ordmap - [1 of 1] Compiling Map ( ordmap/Map.hs, T19244a.out/ordmap/Map.o ) + [1 of 1] Compiling Map ( ordmap\Map.hs, T19244a.out\ordmap\Map.o ) [3 of 4] Processing eqmap Instantiating eqmap - [1 of 1] Compiling Map ( eqmap/Map.hs, T19244a.out/eqmap/Map.o ) + [1 of 1] Compiling Map ( eqmap\Map.hs, T19244a.out\eqmap\Map.o ) [4 of 4] Processing main Instantiating main [1 of 2] Including user[Map=ordmap:Map] Instantiating user[Map=ordmap:Map] - [1 of 2] Compiling Map[sig] ( user/Map.hsig, T19244a.out/user/user-GzloW2NeDdA2M0V8qzN4g2/Map.o ) + [1 of 2] Compiling Map[sig] ( user\Map.hsig, T19244a.out\user\user-GzloW2NeDdA2M0V8qzN4g2\Map.o ) -T19244a.bkp:22:9: error: +T19244a.bkp:22:9: error: [GHC-15843] • Type constructor ‘Key’ has conflicting definitions in the module - and its hsig file + and its hsig file. Main module: type Key :: * -> Constraint type Key = GHC.Classes.Ord :: * -> Constraint - Hsig file: type Key :: forall {k}. k -> Constraint - class Key k1 - The types have different kinds - • while checking that ordmap:Map implements signature Map in user[Map=ordmap:Map] + Hsig file: type Key :: forall {k}. k -> Constraint + class Key k1 + The types have different kinds. + • While checking that ‘ordmap:Map’ implements signature ‘Map’ in ‘user[Map=ordmap:Map]’. -<no location info>: error: +<no location info>: error: [GHC-15843] • Type constructor ‘Map’ has conflicting definitions in the module - and its hsig file + and its hsig file. Main module: type role Map nominal representational type Map :: * -> * -> * data Map k a @@ -35,37 +35,37 @@ T19244a.bkp:22:9: error: !(Map k a) !(Map k a) | Data.Map.Internal.Tip - Hsig file: type role Map nominal representational - type Map :: forall {k} {k1}. k -> k1 -> * - data Map k2 a - The types have different kinds - • while checking that ordmap:Map implements signature Map in user[Map=ordmap:Map] + Hsig file: type role Map nominal representational + type Map :: forall {k} {k1}. k -> k1 -> * + data Map k2 a + The types have different kinds. + • While checking that ‘ordmap:Map’ implements signature ‘Map’ in ‘user[Map=ordmap:Map]’. -<no location info>: error: +<no location info>: error: [GHC-11890] • Identifier ‘lookup’ has conflicting definitions in the module - and its hsig file + and its hsig file. Main module: lookup :: GHC.Classes.Ord k => k -> Map k a -> GHC.Maybe.Maybe a - Hsig file: lookup :: - Key (*) k => k -> Map (*) (*) k a -> GHC.Maybe.Maybe a - The two types are different - • while checking that ordmap:Map implements signature Map in user[Map=ordmap:Map] + Hsig file: lookup :: + Key (*) k => k -> Map (*) (*) k a -> GHC.Maybe.Maybe a + The two types are different. + • While checking that ‘ordmap:Map’ implements signature ‘Map’ in ‘user[Map=ordmap:Map]’. -<no location info>: error: +<no location info>: error: [GHC-11890] • Identifier ‘insert’ has conflicting definitions in the module - and its hsig file + and its hsig file. Main module: insert :: GHC.Classes.Ord k => k -> a -> Map k a -> Map k a - Hsig file: insert :: - Key (*) k => k -> a -> Map (*) (*) k a -> Map (*) (*) k a - The two types are different - • while checking that ordmap:Map implements signature Map in user[Map=ordmap:Map] + Hsig file: insert :: + Key (*) k => k -> a -> Map (*) (*) k a -> Map (*) (*) k a + The two types are different. + • While checking that ‘ordmap:Map’ implements signature ‘Map’ in ‘user[Map=ordmap:Map]’. -<no location info>: error: +<no location info>: error: [GHC-11890] • Identifier ‘empty’ has conflicting definitions in the module - and its hsig file + and its hsig file. Main module: empty :: Map k a - Hsig file: empty :: - forall {k1} {k2} (k3 :: k1) (a :: k2). Map k1 k2 k3 a - The two types are different - • while checking that ordmap:Map implements signature Map in user[Map=ordmap:Map] + Hsig file: empty :: + forall {k1} {k2} (k3 :: k1) (a :: k2). Map k1 k2 k3 a + The two types are different. + • While checking that ‘ordmap:Map’ implements signature ‘Map’ in ‘user[Map=ordmap:Map]’. diff --git a/testsuite/tests/backpack/should_fail/T19244b.stderr b/testsuite/tests/backpack/should_fail/T19244b.stderr index 3a50d11079..6c883c2601 100644 --- a/testsuite/tests/backpack/should_fail/T19244b.stderr +++ b/testsuite/tests/backpack/should_fail/T19244b.stderr @@ -1,21 +1,21 @@ [1 of 3] Processing user - [1 of 2] Compiling Map[sig] ( user/Map.hsig, nothing ) - [2 of 2] Compiling User ( user/User.hs, nothing ) + [1 of 2] Compiling Map[sig] ( user\Map.hsig, nothing ) + [2 of 2] Compiling User ( user\User.hs, nothing ) [2 of 3] Processing ordmap Instantiating ordmap - [1 of 1] Compiling Map ( ordmap/Map.hs, T19244b.out/ordmap/Map.o ) + [1 of 1] Compiling Map ( ordmap\Map.hs, T19244b.out\ordmap\Map.o ) [3 of 3] Processing main Instantiating main [1 of 1] Including user[Map=ordmap:Map] Instantiating user[Map=ordmap:Map] - [1 of 2] Compiling Map[sig] ( user/Map.hsig, T19244b.out/user/user-GzloW2NeDdA2M0V8qzN4g2/Map.o ) + [1 of 2] Compiling Map[sig] ( user\Map.hsig, T19244b.out\user\user-GzloW2NeDdA2M0V8qzN4g2\Map.o ) -T19244b.bkp:11:27: error: +T19244b.bkp:11:27: error: [GHC-15843] • Type constructor ‘Key’ has conflicting definitions in the module - and its hsig file + and its hsig file. Main module: type Key :: * -> Constraint type Key = GHC.Classes.Ord :: * -> Constraint - Hsig file: type Key :: forall {k}. k -> Constraint - class Key k1 - The types have different kinds - • while checking that ordmap:Map implements signature Map in user[Map=ordmap:Map] + Hsig file: type Key :: forall {k}. k -> Constraint + class Key k1 + The types have different kinds. + • While checking that ‘ordmap:Map’ implements signature ‘Map’ in ‘user[Map=ordmap:Map]’. diff --git a/testsuite/tests/backpack/should_fail/T23342.bkp b/testsuite/tests/backpack/should_fail/T23342.bkp new file mode 100644 index 0000000000..62f9b5f1c5 --- /dev/null +++ b/testsuite/tests/backpack/should_fail/T23342.bkp @@ -0,0 +1,21 @@ +unit p where + signature H where + import Data.Kind + data T1 + data T2 + data T3 + +unit q where + module H where + import Data.Kind + class C a where {} + data S + + type T1 = forall (a :: Type). a -> a + type T2 = forall (a :: Type). C a => a + type T3 = C S => S -> S + +unit r where + dependency q + dependency p[H=q:H] + diff --git a/testsuite/tests/backpack/should_fail/T23342.stderr b/testsuite/tests/backpack/should_fail/T23342.stderr new file mode 100644 index 0000000000..39641082d6 --- /dev/null +++ b/testsuite/tests/backpack/should_fail/T23342.stderr @@ -0,0 +1,44 @@ +[1 of 3] Processing p + [1 of 1] Compiling H[sig] ( p\H.hsig, nothing ) +[2 of 3] Processing q + Instantiating q + [1 of 1] Compiling H ( q\H.hs, T23342.out\q\H.o ) +[3 of 3] Processing r + Instantiating r + [1 of 2] Including q + [2 of 2] Including p[H=q:H] + Instantiating p[H=q:H] + [1 of 1] Compiling H[sig] ( p\H.hsig, T23342.out\p\p-D5Mg3foBSCrDbQDKH4WGSG\H.o ) + +T23342.bkp:14:5: error: [GHC-15843] + • Type constructor ‘T1’ has conflicting definitions in the module + and its hsig file. + Main module: type T1 :: * + type T1 = forall a. a -> a + Hsig file: type T1 :: * + data T1 + Illegal implementation of abstract data: + Invalid polymorphic type: forall a. a -> a. + • While checking that ‘q:H’ implements signature ‘H’ in ‘p[H=q:H]’. + +T23342.bkp:15:5: error: [GHC-15843] + • Type constructor ‘T2’ has conflicting definitions in the module + and its hsig file. + Main module: type T2 :: * + type T2 = forall a. C a => a + Hsig file: type T2 :: * + data T2 + Illegal implementation of abstract data: + Invalid polymorphic type: forall a. C a => a. + • While checking that ‘q:H’ implements signature ‘H’ in ‘p[H=q:H]’. + +T23342.bkp:16:5: error: [GHC-15843] + • Type constructor ‘T3’ has conflicting definitions in the module + and its hsig file. + Main module: type T3 :: * + type T3 = C S => S -> S + Hsig file: type T3 :: * + data T3 + Illegal implementation of abstract data: + Invalid qualified type: C S => S -> S. + • While checking that ‘q:H’ implements signature ‘H’ in ‘p[H=q:H]’. diff --git a/testsuite/tests/backpack/should_fail/T23344.bkp b/testsuite/tests/backpack/should_fail/T23344.bkp new file mode 100644 index 0000000000..3d60ff7b51 --- /dev/null +++ b/testsuite/tests/backpack/should_fail/T23344.bkp @@ -0,0 +1,54 @@ +{-# LANGUAGE StandaloneKindSignatures #-} +{-# LANGUAGE TypeFamilies #-} +{-# LANGUAGE ImpredicativeTypes #-} + +unit p where + module M where + import Data.Kind + + type C :: Type -> Constraint + class C a where + type family F a :: Type + +unit q where + dependency p + signature H where + data T1 + data T2 + data T3 + module N where + import M ( C(F) ) + import H ( T1, T2, T3 ) + + instance C T1 where + type F T1 = T2 + instance C T2 where + type F T2 = T3 + instance C T3 where + type F T3 = T1 + +unit r where + dependency p + module H where + import Data.Kind + + type S1 :: Type -> Type + data S1 a = MkS1 + + type S2 :: Type + data S2 = MkS2 + + type G :: Type -> Constraint + class G a where {} + + type T1 = S1 (forall (a :: Type). a -> a) + type T2 = S1 (G S2 => S2) + + type Y = forall a. a -> a + type Z = Y + type T3 = S1 Y + +unit s where + dependency p + dependency r + dependency q[H=r:H] diff --git a/testsuite/tests/backpack/should_fail/T23344.stderr b/testsuite/tests/backpack/should_fail/T23344.stderr new file mode 100644 index 0000000000..6687faba5f --- /dev/null +++ b/testsuite/tests/backpack/should_fail/T23344.stderr @@ -0,0 +1,51 @@ +[1 of 4] Processing p + Instantiating p + [1 of 1] Compiling M ( p\M.hs, T23344.out\p\M.o ) +[2 of 4] Processing q + [1 of 2] Compiling H[sig] ( q\H.hsig, nothing ) + [2 of 2] Compiling N ( q\N.hs, nothing ) +[3 of 4] Processing r + Instantiating r + [1 of 1] Including p + [1 of 1] Compiling H ( r\H.hs, T23344.out\r\H.o ) +[4 of 4] Processing s + Instantiating s + [1 of 3] Including p + [2 of 3] Including r + [3 of 3] Including q[H=r:H] + Instantiating q[H=r:H] + [1 of 1] Including p + [1 of 2] Compiling H[sig] ( q\H.hsig, T23344.out\q\q-EsMFZGC3QiBIz4krwt67aW\H.o ) + +T23344.bkp:44:5: error: [GHC-15843] + • Type constructor ‘T1’ has conflicting definitions in the module + and its hsig file. + Main module: type T1 :: * + type T1 = S1 (forall a. a -> a) + Hsig file: type T1 :: * + data T1 + Illegal implementation of abstract data: + Invalid polymorphic type: forall a. a -> a. + • While checking that ‘r:H’ implements signature ‘H’ in ‘q[H=r:H]’. + +T23344.bkp:45:5: error: [GHC-15843] + • Type constructor ‘T2’ has conflicting definitions in the module + and its hsig file. + Main module: type T2 :: * + type T2 = S1 (G S2 => S2) + Hsig file: type T2 :: * + data T2 + Illegal implementation of abstract data: + Invalid qualified type: G S2 => S2. + • While checking that ‘r:H’ implements signature ‘H’ in ‘q[H=r:H]’. + +T23344.bkp:49:5: error: [GHC-15843] + • Type constructor ‘T3’ has conflicting definitions in the module + and its hsig file. + Main module: type T3 :: * + type T3 = S1 Y + Hsig file: type T3 :: * + data T3 + Illegal implementation of abstract data: + Invalid polymorphic type: forall a. a -> a. + • While checking that ‘r:H’ implements signature ‘H’ in ‘q[H=r:H]’. diff --git a/testsuite/tests/backpack/should_fail/all.T b/testsuite/tests/backpack/should_fail/all.T index e01a4281a5..91733d9040 100644 --- a/testsuite/tests/backpack/should_fail/all.T +++ b/testsuite/tests/backpack/should_fail/all.T @@ -49,5 +49,8 @@ test('bkpfail50', normal, backpack_compile_fail, ['']) test('bkpfail51', normal, backpack_compile_fail, ['']) test('bkpfail52', normal, backpack_compile_fail, ['']) test('bkpfail53', normal, backpack_compile_fail, ['']) +test('bkpfail54', normal, backpack_compile_fail, ['']) test('T19244a', normal, backpack_compile_fail, ['']) test('T19244b', normal, backpack_compile_fail, ['']) +test('T23342', normal, backpack_compile_fail, ['']) +test('T23344', normal, backpack_compile_fail, ['']) diff --git a/testsuite/tests/backpack/should_fail/bkpfail01.stderr b/testsuite/tests/backpack/should_fail/bkpfail01.stderr index 7197fa3eb2..6b13993058 100644 --- a/testsuite/tests/backpack/should_fail/bkpfail01.stderr +++ b/testsuite/tests/backpack/should_fail/bkpfail01.stderr @@ -1,19 +1,19 @@ [1 of 3] Processing p - [1 of 2] Compiling H[sig] ( p/H.hsig, nothing ) - [2 of 2] Compiling A ( p/A.hs, nothing ) + [1 of 2] Compiling H[sig] ( p\H.hsig, nothing ) + [2 of 2] Compiling A ( p\A.hs, nothing ) [2 of 3] Processing q Instantiating q - [1 of 1] Compiling H ( q/H.hs, nothing ) + [1 of 1] Compiling H ( q\H.hs, nothing ) [3 of 3] Processing r Instantiating r [1 of 1] Including p[H=q:H] Instantiating p[H=q:H] - [1 of 2] Compiling H[sig] ( p/H.hsig, nothing ) + [1 of 2] Compiling H[sig] ( p\H.hsig, nothing ) -bkpfail01.out/p/p-D5Mg3foBSCrDbQDKH4WGSG/../H.hi:1:1: error: [GHC-93011] +bkpfail01.out\p\p-D5Mg3foBSCrDbQDKH4WGSG\..\H.hi:1:1: error: [GHC-93011] • ‘H’ is exported by the hsig file, but not exported by the implementing module ‘q:H’ - • while checking that q:H implements signature H in p[H=q:H] + • While checking that ‘q:H’ implements signature ‘H’ in ‘p[H=q:H]’. -bkpfail01.out/p/p-D5Mg3foBSCrDbQDKH4WGSG/../H.hi:1:1: error: [GHC-93011] +bkpfail01.out\p\p-D5Mg3foBSCrDbQDKH4WGSG\..\H.hi:1:1: error: [GHC-93011] • ‘H’ is exported by the hsig file, but not exported by the implementing module ‘q:H’ - • while checking that q:H implements signature H in p[H=q:H] + • While checking that ‘q:H’ implements signature ‘H’ in ‘p[H=q:H]’. diff --git a/testsuite/tests/backpack/should_fail/bkpfail03.stderr b/testsuite/tests/backpack/should_fail/bkpfail03.stderr index 9383a2aca1..3d38234f45 100644 --- a/testsuite/tests/backpack/should_fail/bkpfail03.stderr +++ b/testsuite/tests/backpack/should_fail/bkpfail03.stderr @@ -1,17 +1,17 @@ [1 of 3] Processing q - [1 of 2] Compiling M1 ( q/M1.hs, nothing ) - [2 of 2] Compiling M2[sig] ( q/M2.hsig, nothing ) + [1 of 2] Compiling M1 ( q\M1.hs, nothing ) + [2 of 2] Compiling M2[sig] ( q\M2.hsig, nothing ) [2 of 3] Processing m2 Instantiating m2 - [1 of 1] Compiling M2 ( m2/M2.hs, nothing ) + [1 of 1] Compiling M2 ( m2\M2.hs, nothing ) [3 of 3] Processing p Instantiating p [1 of 1] Including q[M2=m2:M2] Instantiating q[M2=m2:M2] - [1 of 2] Compiling M1 ( q/M1.hs, nothing ) - [2 of 2] Compiling M2[sig] ( q/M2.hsig, nothing ) + [1 of 2] Compiling M1 ( q\M1.hs, nothing ) + [2 of 2] Compiling M2[sig] ( q\M2.hsig, nothing ) -bkpfail03.bkp:3:9: error: +bkpfail03.bkp:3:9: error: [GHC-12424] • The hsig file (re)exports ‘M1.M’ but the implementing module exports a different identifier ‘M2.M’ - • while checking that m2:M2 implements signature M2 in q[M2=m2:M2] + • While checking that ‘m2:M2’ implements signature ‘M2’ in ‘q[M2=m2:M2]’. diff --git a/testsuite/tests/backpack/should_fail/bkpfail04.stderr b/testsuite/tests/backpack/should_fail/bkpfail04.stderr index 397cd24851..450da78636 100644 --- a/testsuite/tests/backpack/should_fail/bkpfail04.stderr +++ b/testsuite/tests/backpack/should_fail/bkpfail04.stderr @@ -1,20 +1,20 @@ [1 of 3] Processing p - [1 of 1] Compiling A[sig] ( p/A.hsig, nothing ) + [1 of 1] Compiling A[sig] ( p\A.hsig, nothing ) [2 of 3] Processing q - [1 of 1] Compiling A[sig] ( q/A.hsig, nothing ) + [1 of 1] Compiling A[sig] ( q\A.hsig, nothing ) [3 of 3] Processing r - [1 of 4] Compiling A[sig] ( r/A.hsig, nothing ) + [1 of 4] Compiling A[sig] ( r\A.hsig, nothing ) -bkpfail04.bkp:7:9: error: +bkpfail04.bkp:7:9: error: [GHC-15843] • Type constructor ‘A’ has conflicting definitions in the module - and its hsig file + and its hsig file. Main module: type A :: * data A = A {foo :: Int} - Hsig file: type A :: * - data A = A {bar :: Bool} + Hsig file: type A :: * + data A = A {bar :: Bool} The constructors do not match: - The record label lists for ‘A’ differ - The types for ‘A’ differ + • The record label lists for ‘A’ differ. + • The types for ‘A’ differ. • while merging the signatures from: • p[A=<A>]:A • q[A=<A>]:A diff --git a/testsuite/tests/backpack/should_fail/bkpfail05.stderr b/testsuite/tests/backpack/should_fail/bkpfail05.stderr index c07426fc6b..1827c7ff1a 100644 --- a/testsuite/tests/backpack/should_fail/bkpfail05.stderr +++ b/testsuite/tests/backpack/should_fail/bkpfail05.stderr @@ -1,23 +1,23 @@ [1 of 5] Processing h - [1 of 1] Compiling H[sig] ( h/H.hsig, nothing ) + [1 of 1] Compiling H[sig] ( h\H.hsig, nothing ) [2 of 5] Processing t-impl Instantiating t-impl - [1 of 1] Compiling T ( t-impl/T.hs, bkpfail05.out/t-impl/T.o ) + [1 of 1] Compiling T ( t-impl\T.hs, bkpfail05.out\t-impl\T.o ) [3 of 5] Processing p - [1 of 2] Compiling H[sig] ( p/H.hsig, nothing ) + [1 of 2] Compiling H[sig] ( p\H.hsig, nothing ) [2 of 2] Instantiating h [4 of 5] Processing h-impl Instantiating h-impl [1 of 1] Including t-impl - [1 of 1] Compiling H ( h-impl/H.hs, bkpfail05.out/h-impl/H.o ) + [1 of 1] Compiling H ( h-impl\H.hs, bkpfail05.out\h-impl\H.o ) [5 of 5] Processing q Instantiating q [1 of 1] Including p[H=h-impl:H] Instantiating p[H=h-impl:H] [1 of 2] Including h[H=h-impl:H] Instantiating h[H=h-impl:H] - [1 of 1] Compiling H[sig] ( h/H.hsig, bkpfail05.out/h/h-5FYQgnNkfSvBT5yogOxPpf/H.o ) + [1 of 1] Compiling H[sig] ( h\H.hsig, bkpfail05.out\h\h-5FYQgnNkfSvBT5yogOxPpf\H.o ) -bkpfail05.out/h/h-5FYQgnNkfSvBT5yogOxPpf/../H.hi:1:1: error: [GHC-93011] +bkpfail05.out\h\h-5FYQgnNkfSvBT5yogOxPpf\..\H.hi:1:1: error: [GHC-93011] • ‘T1’ is exported by the hsig file, but not exported by the implementing module ‘h-impl:H’ - • while checking that h-impl:H implements signature H in h[H=h-impl:H] + • While checking that ‘h-impl:H’ implements signature ‘H’ in ‘h[H=h-impl:H]’. diff --git a/testsuite/tests/backpack/should_fail/bkpfail06.stderr b/testsuite/tests/backpack/should_fail/bkpfail06.stderr index a707bf06b6..ef40417b48 100644 --- a/testsuite/tests/backpack/should_fail/bkpfail06.stderr +++ b/testsuite/tests/backpack/should_fail/bkpfail06.stderr @@ -1,22 +1,22 @@ [1 of 3] Processing p - [1 of 2] Compiling H[sig] ( p/H.hsig, nothing ) - [2 of 2] Compiling A ( p/A.hs, nothing ) + [1 of 2] Compiling H[sig] ( p\H.hsig, nothing ) + [2 of 2] Compiling A ( p\A.hs, nothing ) [2 of 3] Processing qimpl Instantiating qimpl - [1 of 2] Compiling T ( qimpl/T.hs, bkpfail06.out/qimpl/T.o ) - [2 of 2] Compiling H ( qimpl/H.hs, bkpfail06.out/qimpl/H.o ) + [1 of 2] Compiling T ( qimpl\T.hs, bkpfail06.out\qimpl\T.o ) + [2 of 2] Compiling H ( qimpl\H.hs, bkpfail06.out\qimpl\H.o ) [3 of 3] Processing q Instantiating q [1 of 1] Including p[H=qimpl:H] Instantiating p[H=qimpl:H] - [1 of 2] Compiling H[sig] ( p/H.hsig, bkpfail06.out/p/p-IueY0RdHDM2I4k0mLZuqM0/H.o ) + [1 of 2] Compiling H[sig] ( p\H.hsig, bkpfail06.out\p\p-IueY0RdHDM2I4k0mLZuqM0\H.o ) -bkpfail06.bkp:10:9: error: +bkpfail06.bkp:10:9: error: [GHC-15843] • Type constructor ‘T’ has conflicting definitions in the module - and its hsig file + and its hsig file. Main module: type T :: * data T = T GHC.Types.Bool - Hsig file: type T :: * - data T = T GHC.Types.Int - The constructors do not match: The types for ‘T’ differ - • while checking that qimpl:H implements signature H in p[H=qimpl:H] + Hsig file: type T :: * + data T = T GHC.Types.Int + The constructors do not match: The types for ‘T’ differ. + • While checking that ‘qimpl:H’ implements signature ‘H’ in ‘p[H=qimpl:H]’. diff --git a/testsuite/tests/backpack/should_fail/bkpfail07.stderr b/testsuite/tests/backpack/should_fail/bkpfail07.stderr index 251fd67f0b..7829f1e0cd 100644 --- a/testsuite/tests/backpack/should_fail/bkpfail07.stderr +++ b/testsuite/tests/backpack/should_fail/bkpfail07.stderr @@ -1,20 +1,20 @@ [1 of 3] Processing p - [1 of 1] Compiling H[sig] ( p/H.hsig, nothing ) + [1 of 1] Compiling H[sig] ( p\H.hsig, nothing ) [2 of 3] Processing h - [1 of 3] Compiling T ( h/T.hs, nothing ) - [2 of 3] Compiling H ( h/H.hs, nothing ) - [3 of 3] Compiling A[sig] ( h/A.hsig, nothing ) + [1 of 3] Compiling T ( h\T.hs, nothing ) + [2 of 3] Compiling H ( h\H.hs, nothing ) + [3 of 3] Compiling A[sig] ( h\A.hsig, nothing ) [3 of 3] Processing q - [1 of 3] Compiling A[sig] ( q/A.hsig, nothing ) + [1 of 3] Compiling A[sig] ( q\A.hsig, nothing ) [2 of 3] Instantiating h [3 of 3] Instantiating p -bkpfail07.bkp:6:9: error: +bkpfail07.bkp:6:9: error: [GHC-15843] • Type constructor ‘T’ has conflicting definitions in the module - and its hsig file + and its hsig file. Main module: type T :: * data T = T GHC.Types.Bool - Hsig file: type T :: * - data T = T GHC.Types.Int - The constructors do not match: The types for ‘T’ differ - • while checking that h[A=<A>]:H implements signature H in p[H=h[A=<A>]:H] + Hsig file: type T :: * + data T = T GHC.Types.Int + The constructors do not match: The types for ‘T’ differ. + • While checking that ‘h[A=<A>]:H’ implements signature ‘H’ in ‘p[H=h[A=<A>]:H]’. diff --git a/testsuite/tests/backpack/should_fail/bkpfail09.stderr b/testsuite/tests/backpack/should_fail/bkpfail09.stderr index 858f292001..48be5a4274 100644 --- a/testsuite/tests/backpack/should_fail/bkpfail09.stderr +++ b/testsuite/tests/backpack/should_fail/bkpfail09.stderr @@ -1,17 +1,17 @@ [1 of 3] Processing p - [1 of 2] Compiling H[sig] ( p/H.hsig, nothing ) - [2 of 2] Compiling A ( p/A.hs, nothing ) + [1 of 2] Compiling H[sig] ( p\H.hsig, nothing ) + [2 of 2] Compiling A ( p\A.hs, nothing ) [2 of 3] Processing q Instantiating q - [1 of 1] Compiling H ( q/H.hs, bkpfail09.out/q/H.o ) + [1 of 1] Compiling H ( q\H.hs, bkpfail09.out\q\H.o ) [3 of 3] Processing r - [1 of 3] Compiling H2[sig] ( r/H2.hsig, nothing ) + [1 of 3] Compiling H2[sig] ( r\H2.hsig, nothing ) [2 of 3] Instantiating p Command line argument: -unit-id p[H=H]:0:0: error: [GHC-93011] • ‘H’ is exported by the hsig file, but not exported by the implementing module ‘q:H’ - • while checking that q:H implements signature H in p[H=q:H] + • While checking that ‘q:H’ implements signature ‘H’ in ‘p[H=q:H]’. Command line argument: -unit-id p[H=H]:0:0: error: [GHC-93011] • ‘H’ is exported by the hsig file, but not exported by the implementing module ‘q:H’ - • while checking that q:H implements signature H in p[H=q:H] + • While checking that ‘q:H’ implements signature ‘H’ in ‘p[H=q:H]’. diff --git a/testsuite/tests/backpack/should_fail/bkpfail10.stderr b/testsuite/tests/backpack/should_fail/bkpfail10.stderr index 78ceaffb30..abd3a1b6ba 100644 --- a/testsuite/tests/backpack/should_fail/bkpfail10.stderr +++ b/testsuite/tests/backpack/should_fail/bkpfail10.stderr @@ -1,28 +1,28 @@ [1 of 3] Processing p - [1 of 1] Compiling H[sig] ( p/H.hsig, nothing ) + [1 of 1] Compiling H[sig] ( p\H.hsig, nothing ) [2 of 3] Processing q Instantiating q - [1 of 1] Compiling H ( q/H.hs, bkpfail10.out/q/H.o ) + [1 of 1] Compiling H ( q\H.hs, bkpfail10.out\q\H.o ) [3 of 3] Processing r Instantiating r [1 of 2] Including p[H=q:H] Instantiating p[H=q:H] - [1 of 1] Compiling H[sig] ( p/H.hsig, bkpfail10.out/p/p-D5Mg3foBSCrDbQDKH4WGSG/H.o ) + [1 of 1] Compiling H[sig] ( p\H.hsig, bkpfail10.out\p\p-D5Mg3foBSCrDbQDKH4WGSG\H.o ) -bkpfail10.bkp:8:9: error: +bkpfail10.bkp:8:9: error: [GHC-15843] • Type constructor ‘H’ has conflicting definitions in the module - and its hsig file + and its hsig file. Main module: type H :: * -> * data H a = H a - Hsig file: type H :: * - data H - The types have different kinds - • while checking that q:H implements signature H in p[H=q:H] + Hsig file: type H :: * + data H + The types have different kinds. + • While checking that ‘q:H’ implements signature ‘H’ in ‘p[H=q:H]’. -bkpfail10.bkp:10:9: error: +bkpfail10.bkp:10:9: error: [GHC-11890] • Identifier ‘f’ has conflicting definitions in the module - and its hsig file + and its hsig file. Main module: f :: H a -> H a - Hsig file: f :: H -> H - The two types are different - • while checking that q:H implements signature H in p[H=q:H] + Hsig file: f :: H -> H + The two types are different. + • While checking that ‘q:H’ implements signature ‘H’ in ‘p[H=q:H]’. diff --git a/testsuite/tests/backpack/should_fail/bkpfail11.stderr b/testsuite/tests/backpack/should_fail/bkpfail11.stderr index cfcfdcb0e4..2686cd1fbc 100644 --- a/testsuite/tests/backpack/should_fail/bkpfail11.stderr +++ b/testsuite/tests/backpack/should_fail/bkpfail11.stderr @@ -15,4 +15,4 @@ bkpfail11.out\sig\sig-HyoWTHt34SDIRGEX0vZ8iN\..\A.hi:1:1: error: [GHC-39999] arising when attempting to show that instance [safe] GHC.Show.Show T -- Defined at bkpfail11.bkp:5:18 is provided by ‘mod:A’ - • while checking that mod:A implements signature A in sig[A=mod:A] + • While checking that ‘mod:A’ implements signature ‘A’ in ‘sig[A=mod:A]’. diff --git a/testsuite/tests/backpack/should_fail/bkpfail12.stderr b/testsuite/tests/backpack/should_fail/bkpfail12.stderr index f240d2f058..a7205970fb 100644 --- a/testsuite/tests/backpack/should_fail/bkpfail12.stderr +++ b/testsuite/tests/backpack/should_fail/bkpfail12.stderr @@ -1,17 +1,17 @@ [1 of 3] Processing p - [1 of 2] Compiling Q[sig] ( p/Q.hsig, nothing ) - [2 of 2] Compiling P ( p/P.hs, nothing ) + [1 of 2] Compiling Q[sig] ( p\Q.hsig, nothing ) + [2 of 2] Compiling P ( p\P.hs, nothing ) [2 of 3] Processing q Instantiating q - [1 of 1] Compiling Q ( q/Q.hs, bkpfail12.out/q/Q.o ) + [1 of 1] Compiling Q ( q\Q.hs, bkpfail12.out\q\Q.o ) [3 of 3] Processing r - [1 of 3] Compiling H[sig] ( r/H.hsig, nothing ) + [1 of 3] Compiling H[sig] ( r\H.hsig, nothing ) [2 of 3] Instantiating p -bkpfail12.bkp:8:9: error: +bkpfail12.bkp:8:9: error: [GHC-11890] • Identifier ‘f’ has conflicting definitions in the module - and its hsig file + and its hsig file. Main module: f :: GHC.Types.Bool - Hsig file: f :: GHC.Types.Int - The two types are different - • while checking that Q implements signature Q in p[Q=Q] + Hsig file: f :: GHC.Types.Int + The two types are different. + • While checking that ‘Q’ implements signature ‘Q’ in ‘p[Q=Q]’. diff --git a/testsuite/tests/backpack/should_fail/bkpfail13.stderr b/testsuite/tests/backpack/should_fail/bkpfail13.stderr index 13d227a617..fa46c6a61a 100644 --- a/testsuite/tests/backpack/should_fail/bkpfail13.stderr +++ b/testsuite/tests/backpack/should_fail/bkpfail13.stderr @@ -1,17 +1,17 @@ [1 of 3] Processing p - [1 of 2] Compiling Q[sig] ( p/Q.hsig, nothing ) - [2 of 2] Compiling P ( p/P.hs, nothing ) + [1 of 2] Compiling Q[sig] ( p\Q.hsig, nothing ) + [2 of 2] Compiling P ( p\P.hs, nothing ) [2 of 3] Processing q Instantiating q - [1 of 1] Compiling QMe ( q/QMe.hs, bkpfail13.out/q/QMe.o ) + [1 of 1] Compiling QMe ( q\QMe.hs, bkpfail13.out\q\QMe.o ) [3 of 3] Processing r - [1 of 3] Compiling H[sig] ( r/H.hsig, nothing ) + [1 of 3] Compiling H[sig] ( r\H.hsig, nothing ) [2 of 3] Instantiating p -bkpfail13.bkp:8:9: error: +bkpfail13.bkp:8:9: error: [GHC-11890] • Identifier ‘f’ has conflicting definitions in the module - and its hsig file + and its hsig file. Main module: f :: GHC.Types.Bool - Hsig file: f :: GHC.Types.Int - The two types are different - • while checking that q:QMe implements signature Q in p[Q=q:QMe] + Hsig file: f :: GHC.Types.Int + The two types are different. + • While checking that ‘q:QMe’ implements signature ‘Q’ in ‘p[Q=q:QMe]’. diff --git a/testsuite/tests/backpack/should_fail/bkpfail14.stderr b/testsuite/tests/backpack/should_fail/bkpfail14.stderr index 401cab2286..3c1de27b10 100644 --- a/testsuite/tests/backpack/should_fail/bkpfail14.stderr +++ b/testsuite/tests/backpack/should_fail/bkpfail14.stderr @@ -1,20 +1,20 @@ [1 of 3] Processing p - [1 of 3] Compiling Q[sig] ( p/Q.hsig, nothing ) - [2 of 3] Compiling Q2[sig] ( p/Q2.hsig, nothing ) - [3 of 3] Compiling P ( p/P.hs, nothing ) + [1 of 3] Compiling Q[sig] ( p\Q.hsig, nothing ) + [2 of 3] Compiling Q2[sig] ( p\Q2.hsig, nothing ) + [3 of 3] Compiling P ( p\P.hs, nothing ) [2 of 3] Processing q Instantiating q - [1 of 3] Compiling QMe ( q/QMe.hs, bkpfail14.out/q/QMe.o ) - [2 of 3] Compiling Q ( q/Q.hs, bkpfail14.out/q/Q.o ) - [3 of 3] Compiling Q2 ( q/Q2.hs, bkpfail14.out/q/Q2.o ) + [1 of 3] Compiling QMe ( q\QMe.hs, bkpfail14.out\q\QMe.o ) + [2 of 3] Compiling Q ( q\Q.hs, bkpfail14.out\q\Q.o ) + [3 of 3] Compiling Q2 ( q\Q2.hs, bkpfail14.out\q\Q2.o ) [3 of 3] Processing r - [1 of 3] Compiling H[sig] ( r/H.hsig, nothing ) + [1 of 3] Compiling H[sig] ( r\H.hsig, nothing ) [2 of 3] Instantiating p -bkpfail14.bkp:9:9: error: +bkpfail14.bkp:9:9: error: [GHC-11890] • Identifier ‘f’ has conflicting definitions in the module - and its hsig file + and its hsig file. Main module: f :: GHC.Types.Bool - Hsig file: f :: GHC.Types.Int - The two types are different - • while checking that QMe implements signature Q in p[Q=QMe,Q2=Q2] + Hsig file: f :: GHC.Types.Int + The two types are different. + • While checking that ‘QMe’ implements signature ‘Q’ in ‘p[Q=QMe,Q2=Q2]’. diff --git a/testsuite/tests/backpack/should_fail/bkpfail15.stderr b/testsuite/tests/backpack/should_fail/bkpfail15.stderr index cf30efe6f8..18c86e4b44 100644 --- a/testsuite/tests/backpack/should_fail/bkpfail15.stderr +++ b/testsuite/tests/backpack/should_fail/bkpfail15.stderr @@ -1,18 +1,18 @@ [1 of 3] Processing p - [1 of 3] Compiling A[sig] ( p/A.hsig, nothing ) - [2 of 3] Compiling Q[sig] ( p/Q.hsig, nothing ) - [3 of 3] Compiling P ( p/P.hs, nothing ) + [1 of 3] Compiling A[sig] ( p\A.hsig, nothing ) + [2 of 3] Compiling Q[sig] ( p\Q.hsig, nothing ) + [3 of 3] Compiling P ( p\P.hs, nothing ) [2 of 3] Processing q Instantiating q - [1 of 1] Compiling Q ( q/Q.hs, bkpfail15.out/q/Q.o ) + [1 of 1] Compiling Q ( q\Q.hs, bkpfail15.out\q\Q.o ) [3 of 3] Processing r - [1 of 2] Compiling A[sig] ( r/A.hsig, nothing ) + [1 of 2] Compiling A[sig] ( r\A.hsig, nothing ) [2 of 2] Instantiating p -bkpfail15.bkp:8:9: error: +bkpfail15.bkp:8:9: error: [GHC-11890] • Identifier ‘f’ has conflicting definitions in the module - and its hsig file + and its hsig file. Main module: f :: GHC.Types.Bool - Hsig file: f :: GHC.Types.Int - The two types are different - • while checking that q:Q implements signature Q in p[A=<A>,Q=q:Q] + Hsig file: f :: GHC.Types.Int + The two types are different. + • While checking that ‘q:Q’ implements signature ‘Q’ in ‘p[A=<A>,Q=q:Q]’. diff --git a/testsuite/tests/backpack/should_fail/bkpfail16.stderr b/testsuite/tests/backpack/should_fail/bkpfail16.stderr index af4d241106..6196ab958a 100644 --- a/testsuite/tests/backpack/should_fail/bkpfail16.stderr +++ b/testsuite/tests/backpack/should_fail/bkpfail16.stderr @@ -1,11 +1,11 @@ [1 of 2] Processing p - [1 of 1] Compiling ShouldFail[sig] ( p/ShouldFail.hsig, nothing ) + [1 of 1] Compiling ShouldFail[sig] ( p\ShouldFail.hsig, nothing ) [2 of 2] Processing q Instantiating q - [1 of 1] Including p[ShouldFail=base-4.13.0.0:Data.Bool] - Instantiating p[ShouldFail=base-4.13.0.0:Data.Bool] - [1 of 1] Compiling ShouldFail[sig] ( p/ShouldFail.hsig, bkpfail16.out/p/p-1OqLaT7dAn947wScQQKCw5/ShouldFail.o ) + [1 of 1] Including p[ShouldFail=base-4.18.0.0:Data.Bool] + Instantiating p[ShouldFail=base-4.18.0.0:Data.Bool] + [1 of 1] Compiling ShouldFail[sig] ( p\ShouldFail.hsig, bkpfail16.out\p\p-1OqLaT7dAn947wScQQKCw5\ShouldFail.o ) -bkpfail16.out/p/p-1OqLaT7dAn947wScQQKCw5/../ShouldFail.hi:1:1: error: [GHC-93011] +bkpfail16.out\p\p-1OqLaT7dAn947wScQQKCw5\..\ShouldFail.hi:1:1: error: [GHC-93011] • ‘Booly’ is exported by the hsig file, but not exported by the implementing module ‘Data.Bool’ - • while checking that Data.Bool implements signature ShouldFail in p[ShouldFail=Data.Bool] + • While checking that ‘Data.Bool’ implements signature ‘ShouldFail’ in ‘p[ShouldFail=Data.Bool]’. diff --git a/testsuite/tests/backpack/should_fail/bkpfail17.stderr b/testsuite/tests/backpack/should_fail/bkpfail17.stderr index 2777b503ed..699de6374c 100644 --- a/testsuite/tests/backpack/should_fail/bkpfail17.stderr +++ b/testsuite/tests/backpack/should_fail/bkpfail17.stderr @@ -1,18 +1,18 @@ [1 of 2] Processing p - [1 of 1] Compiling ShouldFail[sig] ( p/ShouldFail.hsig, nothing ) + [1 of 1] Compiling ShouldFail[sig] ( p\ShouldFail.hsig, nothing ) [2 of 2] Processing q Instantiating q - [1 of 1] Including p[ShouldFail=base-4.16.0.0:Prelude] - Instantiating p[ShouldFail=base-4.16.0.0:Prelude] - [1 of 1] Compiling ShouldFail[sig] ( p/ShouldFail.hsig, bkpfail17.out/p/p-2W6J7O3LvroH97zGxbPEGF/ShouldFail.o ) + [1 of 1] Including p[ShouldFail=base-4.18.0.0:Prelude] + Instantiating p[ShouldFail=base-4.18.0.0:Prelude] + [1 of 1] Compiling ShouldFail[sig] ( p\ShouldFail.hsig, bkpfail17.out\p\p-2W6J7O3LvroH97zGxbPEGF\ShouldFail.o ) -<no location info>: error: +<no location info>: error: [GHC-15843] • Type constructor ‘Either’ has conflicting definitions in the module - and its hsig file + and its hsig file. Main module: type Either :: * -> * -> * data Either a b = Left a | Right b - Hsig file: type role Either representational phantom phantom - type Either :: * -> * -> * -> * - data Either a b c = Left a - The types have different kinds - • while checking that Prelude implements signature ShouldFail in p[ShouldFail=Prelude] + Hsig file: type role Either representational phantom phantom + type Either :: * -> * -> * -> * + data Either a b c = Left a + The types have different kinds. + • While checking that ‘Prelude’ implements signature ‘ShouldFail’ in ‘p[ShouldFail=Prelude]’. diff --git a/testsuite/tests/backpack/should_fail/bkpfail19.stderr b/testsuite/tests/backpack/should_fail/bkpfail19.stderr index a66eca5e60..6540bfd0e9 100644 --- a/testsuite/tests/backpack/should_fail/bkpfail19.stderr +++ b/testsuite/tests/backpack/should_fail/bkpfail19.stderr @@ -1,12 +1,12 @@ [1 of 2] Processing p - [1 of 1] Compiling ShouldFail[sig] ( p/ShouldFail.hsig, nothing ) + [1 of 1] Compiling ShouldFail[sig] ( p\ShouldFail.hsig, nothing ) [2 of 2] Processing q Instantiating q - [1 of 1] Including p[ShouldFail=base-4.13.0.0:Data.STRef] - Instantiating p[ShouldFail=base-4.13.0.0:Data.STRef] - [1 of 1] Compiling ShouldFail[sig] ( p/ShouldFail.hsig, bkpfail19.out/p/p-CfyUIAu1JTRCDuXEyGszXN/ShouldFail.o ) + [1 of 1] Including p[ShouldFail=base-4.18.0.0:Data.STRef] + Instantiating p[ShouldFail=base-4.18.0.0:Data.STRef] + [1 of 1] Compiling ShouldFail[sig] ( p\ShouldFail.hsig, bkpfail19.out\p\p-CfyUIAu1JTRCDuXEyGszXN\ShouldFail.o ) -<no location info>: error: +<no location info>: error: [GHC-12424] • The hsig file (re)exports ‘Data.STRef.Lazy.newSTRef’ but the implementing module exports a different identifier ‘GHC.STRef.newSTRef’ - • while checking that Data.STRef implements signature ShouldFail in p[ShouldFail=Data.STRef] + • While checking that ‘Data.STRef’ implements signature ‘ShouldFail’ in ‘p[ShouldFail=Data.STRef]’. diff --git a/testsuite/tests/backpack/should_fail/bkpfail22.stderr b/testsuite/tests/backpack/should_fail/bkpfail22.stderr index cb0a0e23fa..c03360435f 100644 --- a/testsuite/tests/backpack/should_fail/bkpfail22.stderr +++ b/testsuite/tests/backpack/should_fail/bkpfail22.stderr @@ -1,23 +1,23 @@ [1 of 4] Processing p - [1 of 2] Compiling H[sig] ( p/H.hsig, nothing ) - [2 of 2] Compiling M ( p/M.hs, nothing ) + [1 of 2] Compiling H[sig] ( p\H.hsig, nothing ) + [2 of 2] Compiling M ( p\M.hs, nothing ) [2 of 4] Processing q - [1 of 2] Compiling H2[sig] ( q/H2.hsig, nothing ) - [2 of 2] Compiling N ( q/N.hs, nothing ) + [1 of 2] Compiling H2[sig] ( q\H2.hsig, nothing ) + [2 of 2] Compiling N ( q\N.hs, nothing ) [3 of 4] Processing badimpl Instantiating badimpl - [1 of 1] Compiling H2 ( badimpl/H2.hs, bkpfail22.out/badimpl/H2.o ) + [1 of 1] Compiling H2 ( badimpl\H2.hs, bkpfail22.out\badimpl\H2.o ) [4 of 4] Processing check Instantiating check [1 of 2] Including q[H2=badimpl:H2] Instantiating q[H2=badimpl:H2] - [1 of 2] Compiling H2[sig] ( q/H2.hsig, bkpfail22.out/q/q-FjwGsuDQ5qiKUCvnEATUA9/H2.o ) + [1 of 2] Compiling H2[sig] ( q\H2.hsig, bkpfail22.out\q\q-FjwGsuDQ5qiKUCvnEATUA9\H2.o ) -bkpfail22.bkp:16:9: error: +bkpfail22.bkp:16:9: error: [GHC-15843] • Type constructor ‘S’ has conflicting definitions in the module - and its hsig file + and its hsig file. Main module: type S :: * type S = () - Hsig file: type S :: * - type S = GHC.Types.Bool - • while checking that badimpl:H2 implements signature H2 in q[H2=badimpl:H2] + Hsig file: type S :: * + type S = GHC.Types.Bool + • While checking that ‘badimpl:H2’ implements signature ‘H2’ in ‘q[H2=badimpl:H2]’. diff --git a/testsuite/tests/backpack/should_fail/bkpfail23.stderr b/testsuite/tests/backpack/should_fail/bkpfail23.stderr index a8144dbde5..d8e492cf55 100644 --- a/testsuite/tests/backpack/should_fail/bkpfail23.stderr +++ b/testsuite/tests/backpack/should_fail/bkpfail23.stderr @@ -1,23 +1,24 @@ [1 of 3] Processing p - [1 of 2] Compiling H[sig] ( p/H.hsig, nothing ) - [2 of 2] Compiling M ( p/M.hs, nothing ) + [1 of 2] Compiling H[sig] ( p\H.hsig, nothing ) + [2 of 2] Compiling M ( p\M.hs, nothing ) [2 of 3] Processing h Instantiating h - [1 of 1] Compiling H ( h/H.hs, bkpfail23.out/h/H.o ) + [1 of 1] Compiling H ( h\H.hs, bkpfail23.out\h\H.o ) [3 of 3] Processing r Instantiating r [1 of 1] Including p[H=h:H] Instantiating p[H=h:H] - [1 of 2] Compiling H[sig] ( p/H.hsig, bkpfail23.out/p/p-6KeuBvYi0jvLWqVbkSAZMq/H.o ) + [1 of 2] Compiling H[sig] ( p\H.hsig, bkpfail23.out\p\p-6KeuBvYi0jvLWqVbkSAZMq\H.o ) -bkpfail23.bkp:15:9: error: +bkpfail23.bkp:15:9: error: [GHC-15843] • Type constructor ‘F’ has conflicting definitions in the module - and its hsig file + and its hsig file. Main module: type F :: * -> * type F a = () - Hsig file: type role F phantom - type F :: * -> * - data F a + Hsig file: type role F phantom + type F :: * -> * + data F a Illegal parameterized type synonym in implementation of abstract data. - (Try eta reducing your type synonym so that it is nullary.) - • while checking that h:H implements signature H in p[H=h:H] + • While checking that ‘h:H’ implements signature ‘H’ in ‘p[H=h:H]’. + Suggested fix: + If possible, eta-reduce the type synonym ‘F’ so that it is nullary. diff --git a/testsuite/tests/backpack/should_fail/bkpfail25.stderr b/testsuite/tests/backpack/should_fail/bkpfail25.stderr index 9433904ee5..9c483e3593 100644 --- a/testsuite/tests/backpack/should_fail/bkpfail25.stderr +++ b/testsuite/tests/backpack/should_fail/bkpfail25.stderr @@ -1,6 +1,6 @@ [1 of 3] Processing p - [1 of 2] Compiling H[sig] ( p/H.hsig, nothing ) - [2 of 2] Compiling M ( p/M.hs, nothing ) + [1 of 2] Compiling H[sig] ( p\H.hsig, nothing ) + [2 of 2] Compiling M ( p\M.hs, nothing ) bkpfail25.bkp:8:18: warning: [GHC-06201] [-Wmissing-methods (in -Wdefault)] • No explicit implementation for @@ -8,19 +8,22 @@ bkpfail25.bkp:8:18: warning: [GHC-06201] [-Wmissing-methods (in -Wdefault)] • In the instance declaration for ‘Functor T’ [2 of 3] Processing q Instantiating q - [1 of 1] Compiling H ( q/H.hs, bkpfail25.out/q/H.o ) + [1 of 1] Compiling H ( q\H.hs, bkpfail25.out\q\H.o ) [3 of 3] Processing r Instantiating r [1 of 1] Including p[H=q:H] Instantiating p[H=q:H] - [1 of 2] Compiling H[sig] ( p/H.hsig, bkpfail25.out/p/p-D5Mg3foBSCrDbQDKH4WGSG/H.o ) + [1 of 2] Compiling H[sig] ( p\H.hsig, bkpfail25.out\p\p-D5Mg3foBSCrDbQDKH4WGSG\H.o ) -bkpfail25.bkp:13:9: error: +bkpfail25.bkp:13:9: error: [GHC-15843] • Type constructor ‘T’ has conflicting definitions in the module - and its hsig file + and its hsig file. Main module: type T :: * -> * type T a = a - Hsig file: type role T nominal - type T :: * -> * - data T a - • while checking that q:H implements signature H in p[H=q:H] + Hsig file: type role T nominal + type T :: * -> * + data T a + Illegal parameterized type synonym in implementation of abstract data. + • While checking that ‘q:H’ implements signature ‘H’ in ‘p[H=q:H]’. + Suggested fix: + If possible, eta-reduce the type synonym ‘T’ so that it is nullary. diff --git a/testsuite/tests/backpack/should_fail/bkpfail26.stderr b/testsuite/tests/backpack/should_fail/bkpfail26.stderr index f697f47212..18de9f92b4 100644 --- a/testsuite/tests/backpack/should_fail/bkpfail26.stderr +++ b/testsuite/tests/backpack/should_fail/bkpfail26.stderr @@ -1,23 +1,24 @@ [1 of 3] Processing p - [1 of 2] Compiling H[sig] ( p/H.hsig, nothing ) - [2 of 2] Compiling M ( p/M.hs, nothing ) + [1 of 2] Compiling H[sig] ( p\H.hsig, nothing ) + [2 of 2] Compiling M ( p\M.hs, nothing ) [2 of 3] Processing q Instantiating q - [1 of 1] Compiling H ( q/H.hs, bkpfail26.out/q/H.o ) + [1 of 1] Compiling H ( q\H.hs, bkpfail26.out\q\H.o ) [3 of 3] Processing r Instantiating r [1 of 1] Including p[H=q:H] Instantiating p[H=q:H] - [1 of 2] Compiling H[sig] ( p/H.hsig, bkpfail26.out/p/p-D5Mg3foBSCrDbQDKH4WGSG/H.o ) + [1 of 2] Compiling H[sig] ( p\H.hsig, bkpfail26.out\p\p-D5Mg3foBSCrDbQDKH4WGSG\H.o ) -bkpfail26.bkp:16:9: error: +bkpfail26.bkp:16:9: error: [GHC-15843] • Type constructor ‘T’ has conflicting definitions in the module - and its hsig file + and its hsig file. Main module: type T :: * -> * type T a = [a] - Hsig file: type role T nominal - type T :: * -> * - data T a + Hsig file: type role T nominal + type T :: * -> * + data T a Illegal parameterized type synonym in implementation of abstract data. - (Try eta reducing your type synonym so that it is nullary.) - • while checking that q:H implements signature H in p[H=q:H] + • While checking that ‘q:H’ implements signature ‘H’ in ‘p[H=q:H]’. + Suggested fix: + If possible, eta-reduce the type synonym ‘T’ so that it is nullary. diff --git a/testsuite/tests/backpack/should_fail/bkpfail27.stderr b/testsuite/tests/backpack/should_fail/bkpfail27.stderr index bc5a8c6bd5..d4ae895626 100644 --- a/testsuite/tests/backpack/should_fail/bkpfail27.stderr +++ b/testsuite/tests/backpack/should_fail/bkpfail27.stderr @@ -1,21 +1,21 @@ [1 of 3] Processing p - [1 of 2] Compiling H[sig] ( p/H.hsig, nothing ) - [2 of 2] Compiling M ( p/M.hs, nothing ) + [1 of 2] Compiling H[sig] ( p\H.hsig, nothing ) + [2 of 2] Compiling M ( p\M.hs, nothing ) [2 of 3] Processing q Instantiating q - [1 of 1] Compiling H ( q/H.hs, bkpfail27.out/q/H.o ) + [1 of 1] Compiling H ( q\H.hs, bkpfail27.out\q\H.o ) [3 of 3] Processing r Instantiating r [1 of 1] Including p[H=q:H] Instantiating p[H=q:H] - [1 of 2] Compiling H[sig] ( p/H.hsig, bkpfail27.out/p/p-D5Mg3foBSCrDbQDKH4WGSG/H.o ) + [1 of 2] Compiling H[sig] ( p\H.hsig, bkpfail27.out\p\p-D5Mg3foBSCrDbQDKH4WGSG\H.o ) -bkpfail27.bkp:15:9: error: +bkpfail27.bkp:15:9: error: [GHC-15843] • Type constructor ‘T’ has conflicting definitions in the module - and its hsig file + and its hsig file. Main module: type T :: * type T = F - Hsig file: type T :: * - data T - Illegal type family application in implementation of abstract data. - • while checking that q:H implements signature H in p[H=q:H] + Hsig file: type T :: * + data T + Illegal implementation of abstract data: Invalid type family ‘F’. + • While checking that ‘q:H’ implements signature ‘H’ in ‘p[H=q:H]’. diff --git a/testsuite/tests/backpack/should_fail/bkpfail35.stderr b/testsuite/tests/backpack/should_fail/bkpfail35.stderr index f72bd23184..fc8cabbe4a 100644 --- a/testsuite/tests/backpack/should_fail/bkpfail35.stderr +++ b/testsuite/tests/backpack/should_fail/bkpfail35.stderr @@ -1,18 +1,18 @@ [1 of 4] Processing p - [1 of 2] Compiling A[sig] ( p/A.hsig, nothing ) - [2 of 2] Compiling B ( p/B.hs, nothing ) + [1 of 2] Compiling A[sig] ( p\A.hsig, nothing ) + [2 of 2] Compiling B ( p\B.hs, nothing ) [2 of 4] Processing q - [1 of 2] Compiling A[sig] ( q/A.hsig, nothing ) + [1 of 2] Compiling A[sig] ( q\A.hsig, nothing ) [2 of 2] Instantiating p [3 of 4] Processing aimpl Instantiating aimpl - [1 of 1] Compiling A ( aimpl/A.hs, bkpfail35.out/aimpl/A.o ) + [1 of 1] Compiling A ( aimpl\A.hs, bkpfail35.out\aimpl\A.o ) [4 of 4] Processing r Instantiating r [1 of 1] Including q[A=aimpl:A] Instantiating q[A=aimpl:A] - [1 of 1] Compiling A[sig] ( q/A.hsig, bkpfail35.out/q/q-E72T6bb4XRkIeTPWK2mCKa/A.o ) + [1 of 1] Compiling A[sig] ( q\A.hsig, bkpfail35.out\q\q-E72T6bb4XRkIeTPWK2mCKa\A.o ) -bkpfail35.out/q/q-E72T6bb4XRkIeTPWK2mCKa/../A.hi:1:1: error: [GHC-93011] +bkpfail35.out\q\q-E72T6bb4XRkIeTPWK2mCKa\..\A.hi:1:1: error: [GHC-93011] • ‘y’ is exported by the hsig file, but not exported by the implementing module ‘aimpl:A’ - • while checking that aimpl:A implements signature A in q[A=aimpl:A] + • While checking that ‘aimpl:A’ implements signature ‘A’ in ‘q[A=aimpl:A]’. diff --git a/testsuite/tests/backpack/should_fail/bkpfail37.stderr b/testsuite/tests/backpack/should_fail/bkpfail37.stderr index 4158517b28..320e107bf2 100644 --- a/testsuite/tests/backpack/should_fail/bkpfail37.stderr +++ b/testsuite/tests/backpack/should_fail/bkpfail37.stderr @@ -1,17 +1,17 @@ [1 of 3] Processing p - [1 of 1] Compiling A[sig] ( p/A.hsig, nothing ) + [1 of 1] Compiling A[sig] ( p\A.hsig, nothing ) [2 of 3] Processing q Instantiating q - [1 of 1] Compiling A ( q/A.hs, bkpfail37.out/q/A.o ) + [1 of 1] Compiling A ( q\A.hs, bkpfail37.out\q\A.o ) [3 of 3] Processing r Instantiating r [1 of 1] Including p[A=q:A] Instantiating p[A=q:A] - [1 of 1] Compiling A[sig] ( p/A.hsig, bkpfail37.out/p/p-HVmFlcYSefiK5n1aDP1v7x/A.o ) + [1 of 1] Compiling A[sig] ( p\A.hsig, bkpfail37.out\p\p-HVmFlcYSefiK5n1aDP1v7x\A.o ) bkpfail37.bkp:9:9: error: [GHC-93007] • Identifier ‘op’ has conflicting fixities in the module and its hsig file Main module: infixr 4 Hsig file: infixr 6 - • while checking that q:A implements signature A in p[A=q:A] + • While checking that ‘q:A’ implements signature ‘A’ in ‘p[A=q:A]’. diff --git a/testsuite/tests/backpack/should_fail/bkpfail41.stderr b/testsuite/tests/backpack/should_fail/bkpfail41.stderr index 6f58345fe7..6732d71574 100644 --- a/testsuite/tests/backpack/should_fail/bkpfail41.stderr +++ b/testsuite/tests/backpack/should_fail/bkpfail41.stderr @@ -1,25 +1,25 @@ [1 of 3] Processing p - [1 of 2] Compiling A[sig] ( p/A.hsig, nothing ) - [2 of 2] Compiling B[sig] ( p/B.hsig, nothing ) + [1 of 2] Compiling A[sig] ( p\A.hsig, nothing ) + [2 of 2] Compiling B[sig] ( p\B.hsig, nothing ) [2 of 3] Processing i Instantiating i - [1 of 1] Compiling A ( i/A.hs, bkpfail41.out/i/A.o ) + [1 of 1] Compiling A ( i\A.hs, bkpfail41.out\i\A.o ) [3 of 3] Processing r - [1 of 2] Compiling B[sig] ( r/B.hsig, nothing ) + [1 of 2] Compiling B[sig] ( r\B.hsig, nothing ) [2 of 2] Instantiating p -bkpfail41.bkp:10:9: error: +bkpfail41.bkp:10:9: error: [GHC-15843] • Class ‘C’ has conflicting definitions in the module - and its hsig file + and its hsig file. Main module: type C :: * -> Constraint class C a where f :: a -> a {-# MINIMAL f #-} - Hsig file: type C :: * -> Constraint - class C a where - f :: a -> a - default f :: a -> a - The methods do not match: - The default methods associated with ‘f’ are not compatible - The MINIMAL pragmas are not compatible - • while checking that i:A implements signature A in p[A=i:A,B=<B>] + Hsig file: type C :: * -> Constraint + class C a where + f :: a -> a + default f :: a -> a + The class methods do not match: + The default methods associated with ‘f’ are not compatible. + The MINIMAL pragmas are not compatible. + • While checking that ‘i:A’ implements signature ‘A’ in ‘p[A=i:A,B=<B>]’. diff --git a/testsuite/tests/backpack/should_fail/bkpfail42.stderr b/testsuite/tests/backpack/should_fail/bkpfail42.stderr index 0dfef9355f..b8c6fb4c34 100644 --- a/testsuite/tests/backpack/should_fail/bkpfail42.stderr +++ b/testsuite/tests/backpack/should_fail/bkpfail42.stderr @@ -1,17 +1,20 @@ [1 of 2] Processing p - [1 of 1] Compiling A[sig] ( p/A.hsig, nothing ) + [1 of 1] Compiling A[sig] ( p\A.hsig, nothing ) [2 of 2] Processing q - [1 of 2] Compiling A[sig] ( q/A.hsig, nothing ) + [1 of 2] Compiling A[sig] ( q\A.hsig, nothing ) -bkpfail42.bkp:10:9: error: +bkpfail42.bkp:10:9: error: [GHC-15843] • Type constructor ‘F’ has conflicting definitions in the module - and its hsig file + and its hsig file. Main module: type F :: * -> * type family F a where F a = Int - Hsig file: type F :: * -> * - type family F a where - F a = Bool + Hsig file: type F :: * -> * + type family F a where + F a = Bool + Type family equations do not match: + The second equations do not match. + The equation right-hand sides don't match. • while merging the signatures from: • p[A=<A>]:A • ...and the local signature for A diff --git a/testsuite/tests/backpack/should_fail/bkpfail43.stderr b/testsuite/tests/backpack/should_fail/bkpfail43.stderr index 1231788023..72e48315a0 100644 --- a/testsuite/tests/backpack/should_fail/bkpfail43.stderr +++ b/testsuite/tests/backpack/should_fail/bkpfail43.stderr @@ -17,4 +17,4 @@ bkpfail43.out\p\p-HVmFlcYSefiK5n1aDP1v7x\..\A.hi:1:1: error: [GHC-39999] -- Defined at bkpfail43.bkp:3:18 is provided by ‘q:A’ (maybe you haven't applied a function to enough arguments?) - • while checking that q:A implements signature A in p[A=q:A] + • While checking that ‘q:A’ implements signature ‘A’ in ‘p[A=q:A]’. diff --git a/testsuite/tests/backpack/should_fail/bkpfail45.stderr b/testsuite/tests/backpack/should_fail/bkpfail45.stderr index e2b4236aab..5049f5f4b3 100644 --- a/testsuite/tests/backpack/should_fail/bkpfail45.stderr +++ b/testsuite/tests/backpack/should_fail/bkpfail45.stderr @@ -1,24 +1,23 @@ [1 of 3] Processing p - [1 of 2] Compiling A[sig] ( p/A.hsig, nothing ) - [2 of 2] Compiling B ( p/B.hs, nothing ) + [1 of 2] Compiling A[sig] ( p\A.hsig, nothing ) + [2 of 2] Compiling B ( p\B.hs, nothing ) [2 of 3] Processing a Instantiating a - [1 of 1] Compiling A ( a/A.hs, bkpfail45.out/a/A.o ) + [1 of 1] Compiling A ( a\A.hs, bkpfail45.out\a\A.o ) [3 of 3] Processing q Instantiating q [1 of 1] Including p[A=a:A] Instantiating p[A=a:A] - [1 of 2] Compiling A[sig] ( p/A.hsig, bkpfail45.out/p/p-KvF5Y9pEVY39j64PHPNj9i/A.o ) + [1 of 2] Compiling A[sig] ( p\A.hsig, bkpfail45.out\p\p-KvF5Y9pEVY39j64PHPNj9i\A.o ) -bkpfail45.bkp:14:9: error: +bkpfail45.bkp:14:9: error: [GHC-15843] • Type constructor ‘T’ has conflicting definitions in the module - and its hsig file + and its hsig file. Main module: type role T phantom type T :: * -> * data T a = T - Hsig file: type role T nominal - type T :: * -> * - data T a = T + Hsig file: type role T nominal + type T :: * -> * + data T a = T The roles do not match. - Roles on abstract types default to ‘representational’ in boot files. - • while checking that a:A implements signature A in p[A=a:A] + • While checking that ‘a:A’ implements signature ‘A’ in ‘p[A=a:A]’. diff --git a/testsuite/tests/backpack/should_fail/bkpfail46.stderr b/testsuite/tests/backpack/should_fail/bkpfail46.stderr index 5ab1a5fddb..9b387a39d7 100644 --- a/testsuite/tests/backpack/should_fail/bkpfail46.stderr +++ b/testsuite/tests/backpack/should_fail/bkpfail46.stderr @@ -1,22 +1,23 @@ [1 of 3] Processing p - [1 of 2] Compiling A[sig] ( p/A.hsig, nothing ) - [2 of 2] Compiling M ( p/M.hs, nothing ) + [1 of 2] Compiling A[sig] ( p\A.hsig, nothing ) + [2 of 2] Compiling M ( p\M.hs, nothing ) [2 of 3] Processing q Instantiating q - [1 of 1] Compiling A ( q/A.hs, bkpfail46.out/q/A.o ) + [1 of 1] Compiling A ( q\A.hs, bkpfail46.out\q\A.o ) [3 of 3] Processing r Instantiating r [1 of 1] Including p[A=q:A] Instantiating p[A=q:A] - [1 of 2] Compiling A[sig] ( p/A.hsig, bkpfail46.out/p/p-HVmFlcYSefiK5n1aDP1v7x/A.o ) + [1 of 2] Compiling A[sig] ( p\A.hsig, bkpfail46.out\p\p-HVmFlcYSefiK5n1aDP1v7x\A.o ) -bkpfail46.bkp:16:9: error: +bkpfail46.bkp:16:9: error: [GHC-15843] • Type constructor ‘K’ has conflicting definitions in the module - and its hsig file + and its hsig file. Main module: type K :: * -> Constraint type K a = GHC.Classes.Eq a :: Constraint - Hsig file: type K :: * -> Constraint - class K a + Hsig file: type K :: * -> Constraint + class K a Illegal parameterized type synonym in implementation of abstract data. - (Try eta reducing your type synonym so that it is nullary.) - • while checking that q:A implements signature A in p[A=q:A] + • While checking that ‘q:A’ implements signature ‘A’ in ‘p[A=q:A]’. + Suggested fix: + If possible, eta-reduce the type synonym ‘K’ so that it is nullary. diff --git a/testsuite/tests/backpack/should_fail/bkpfail47.stderr b/testsuite/tests/backpack/should_fail/bkpfail47.stderr index 86453f28ea..adb764be16 100644 --- a/testsuite/tests/backpack/should_fail/bkpfail47.stderr +++ b/testsuite/tests/backpack/should_fail/bkpfail47.stderr @@ -1,22 +1,22 @@ [1 of 3] Processing p - [1 of 1] Compiling A[sig] ( p/A.hsig, nothing ) + [1 of 1] Compiling A[sig] ( p\A.hsig, nothing ) [2 of 3] Processing q - [1 of 1] Compiling A[sig] ( q/A.hsig, nothing ) + [1 of 1] Compiling A[sig] ( q\A.hsig, nothing ) [3 of 3] Processing r - [1 of 3] Compiling A[sig] ( r/A.hsig, nothing ) + [1 of 3] Compiling A[sig] ( r\A.hsig, nothing ) -bkpfail47.bkp:10:9: error: +bkpfail47.bkp:10:9: error: [GHC-15843] • Type constructor ‘T’ has conflicting definitions in the module - and its hsig file + and its hsig file. Main module: type role T representational nominal type T :: * -> * -> * data T a b = MkT - Hsig file: type role T nominal representational - type T :: * -> * -> * - data T a b + Hsig file: type role T nominal representational + type T :: * -> * -> * + data T a b The roles are not compatible: - Main module: [representational, nominal] - Hsig file: [nominal, representational] + Main module: [nominal, representational] + Hsig file: [representational, nominal] • while merging the signatures from: • p[A=<A>]:A • q[A=<A>]:A diff --git a/testsuite/tests/backpack/should_fail/bkpfail50.stderr b/testsuite/tests/backpack/should_fail/bkpfail50.stderr index 2d4d171ea7..0ca6328193 100644 --- a/testsuite/tests/backpack/should_fail/bkpfail50.stderr +++ b/testsuite/tests/backpack/should_fail/bkpfail50.stderr @@ -1,16 +1,16 @@ [1 of 2] Processing p - [1 of 1] Compiling H[sig] ( p/H.hsig, nothing ) + [1 of 1] Compiling H[sig] ( p\H.hsig, nothing ) [2 of 2] Processing q - [1 of 2] Compiling A[sig] ( q/A.hsig, nothing ) + [1 of 2] Compiling A[sig] ( q\A.hsig, nothing ) -bkpfail50.bkp:7:9: error: +bkpfail50.bkp:7:9: error: [GHC-15843] • Type constructor ‘T’ has conflicting definitions in the module - and its hsig file + and its hsig file. Main module: type T :: * data T = T Bool - Hsig file: type T :: * - data T = T Int - The constructors do not match: The types for ‘T’ differ + Hsig file: type T :: * + data T = T Int + The constructors do not match: The types for ‘T’ differ. • while merging the signatures from: • p[H=<A>]:H • ...and the local signature for A diff --git a/testsuite/tests/backpack/should_fail/bkpfail52.stderr b/testsuite/tests/backpack/should_fail/bkpfail52.stderr index 888434e33c..4a920bf65c 100644 --- a/testsuite/tests/backpack/should_fail/bkpfail52.stderr +++ b/testsuite/tests/backpack/should_fail/bkpfail52.stderr @@ -1,16 +1,16 @@ [1 of 2] Processing p - [1 of 1] Compiling H[sig] ( p/H.hsig, nothing ) + [1 of 1] Compiling H[sig] ( p\H.hsig, nothing ) [2 of 2] Processing q - [1 of 3] Compiling B ( q/B.hs, nothing ) - [2 of 3] Compiling A[sig] ( q/A.hsig, nothing ) + [1 of 3] Compiling B ( q\B.hs, nothing ) + [2 of 3] Compiling A[sig] ( q\A.hsig, nothing ) -bkpfail52.bkp:10:9: error: +bkpfail52.bkp:10:9: error: [GHC-15843] • Type constructor ‘T’ has conflicting definitions in the module - and its hsig file + and its hsig file. Main module: type T :: * type T = B.T - Hsig file: type T :: * - data T = T Int + Hsig file: type T :: * + data T = T Int • while merging the signatures from: • p[H=<A>]:H • ...and the local signature for A diff --git a/testsuite/tests/backpack/should_fail/bkpfail53.stderr b/testsuite/tests/backpack/should_fail/bkpfail53.stderr index b694bc57ff..a5939ff072 100644 --- a/testsuite/tests/backpack/should_fail/bkpfail53.stderr +++ b/testsuite/tests/backpack/should_fail/bkpfail53.stderr @@ -1,17 +1,17 @@ [1 of 2] Processing p - [1 of 2] Compiling H[sig] ( p/H.hsig, nothing ) - [2 of 2] Compiling I ( p/I.hs, nothing ) + [1 of 2] Compiling H[sig] ( p\H.hsig, nothing ) + [2 of 2] Compiling I ( p\I.hs, nothing ) [2 of 2] Processing q - [1 of 4] Compiling B ( q/B.hs, nothing ) - [2 of 4] Compiling A[sig] ( q/A.hsig, nothing ) + [1 of 4] Compiling B ( q\B.hs, nothing ) + [2 of 4] Compiling A[sig] ( q\A.hsig, nothing ) -bkpfail53.bkp:15:9: error: +bkpfail53.bkp:15:9: error: [GHC-15843] • Type constructor ‘T’ has conflicting definitions in the module - and its hsig file + and its hsig file. Main module: type T :: * type T = B.T - Hsig file: type T :: * - data T = T Int + Hsig file: type T :: * + data T = T Int • while merging the signatures from: • p[H=<A>]:H • ...and the local signature for A diff --git a/testsuite/tests/backpack/should_fail/bkpfail54.bkp b/testsuite/tests/backpack/should_fail/bkpfail54.bkp new file mode 100644 index 0000000000..4248390c91 --- /dev/null +++ b/testsuite/tests/backpack/should_fail/bkpfail54.bkp @@ -0,0 +1,47 @@ + +-- Check that we do something sensible when we implement +-- abstract data with a quantified type. + +{-# LANGUAGE StandaloneKindSignatures #-} +{-# LANGUAGE TypeFamilies #-} + +unit p where + module M where + import Data.Kind ( Type, Constraint ) + + type C :: Type -> Constraint + class C a where + type family F a :: Type + +unit q where + dependency p + signature H where + data T1 + data T2 + data T3 + module N where + import M ( C(F) ) + import H ( T1, T2, T3 ) + + instance C T1 where + type F T1 = T2 + instance C T2 where + type F T2 = T3 + instance C T3 where + type F T3 = T1 + +unit r where + dependency p + module H where + + class C2 a where {} + data S = MkS + + type T1 = forall a. a -> a + type T2 = forall a. C2 a => a + type T3 = C2 S => S -> S + +unit s where + dependency p + dependency r + dependency q[H=r:H] diff --git a/testsuite/tests/backpack/should_fail/bkpfail54.stderr b/testsuite/tests/backpack/should_fail/bkpfail54.stderr new file mode 100644 index 0000000000..8fd391624e --- /dev/null +++ b/testsuite/tests/backpack/should_fail/bkpfail54.stderr @@ -0,0 +1,51 @@ +[1 of 4] Processing p + Instantiating p + [1 of 1] Compiling M ( p\M.hs, bkpfail54.out\p\M.o ) +[2 of 4] Processing q + [1 of 2] Compiling H[sig] ( q\H.hsig, nothing ) + [2 of 2] Compiling N ( q\N.hs, nothing ) +[3 of 4] Processing r + Instantiating r + [1 of 1] Including p + [1 of 1] Compiling H ( r\H.hs, bkpfail54.out\r\H.o ) +[4 of 4] Processing s + Instantiating s + [1 of 3] Including p + [2 of 3] Including r + [3 of 3] Including q[H=r:H] + Instantiating q[H=r:H] + [1 of 1] Including p + [1 of 2] Compiling H[sig] ( q\H.hsig, bkpfail54.out\q\q-EsMFZGC3QiBIz4krwt67aW\H.o ) + +bkpfail54.bkp:40:5: error: [GHC-15843] + • Type constructor ‘T1’ has conflicting definitions in the module + and its hsig file. + Main module: type T1 :: * + type T1 = forall a. a -> a + Hsig file: type T1 :: * + data T1 + Illegal implementation of abstract data: + Invalid polymorphic type: forall a. a -> a. + • While checking that ‘r:H’ implements signature ‘H’ in ‘q[H=r:H]’. + +bkpfail54.bkp:41:5: error: [GHC-15843] + • Type constructor ‘T2’ has conflicting definitions in the module + and its hsig file. + Main module: type T2 :: * + type T2 = forall a. C2 a => a + Hsig file: type T2 :: * + data T2 + Illegal implementation of abstract data: + Invalid polymorphic type: forall a. C2 a => a. + • While checking that ‘r:H’ implements signature ‘H’ in ‘q[H=r:H]’. + +bkpfail54.bkp:42:5: error: [GHC-15843] + • Type constructor ‘T3’ has conflicting definitions in the module + and its hsig file. + Main module: type T3 :: * + type T3 = C2 S => S -> S + Hsig file: type T3 :: * + data T3 + Illegal implementation of abstract data: + Invalid qualified type: C2 S => S -> S. + • While checking that ‘r:H’ implements signature ‘H’ in ‘q[H=r:H]’. diff --git a/testsuite/tests/count-deps/CountDepsAst.stdout b/testsuite/tests/count-deps/CountDepsAst.stdout index 549f9bd371..ac861f6135 100644 --- a/testsuite/tests/count-deps/CountDepsAst.stdout +++ b/testsuite/tests/count-deps/CountDepsAst.stdout @@ -244,6 +244,7 @@ GHC.Types.SrcLoc GHC.Types.Target GHC.Types.Tickish GHC.Types.TyThing +GHC.Types.TyThing.Ppr GHC.Types.TypeEnv GHC.Types.Unique GHC.Types.Unique.DFM diff --git a/testsuite/tests/count-deps/CountDepsParser.stdout b/testsuite/tests/count-deps/CountDepsParser.stdout index 639d765427..828f5c6cae 100644 --- a/testsuite/tests/count-deps/CountDepsParser.stdout +++ b/testsuite/tests/count-deps/CountDepsParser.stdout @@ -251,6 +251,7 @@ GHC.Types.SrcLoc GHC.Types.Target GHC.Types.Tickish GHC.Types.TyThing +GHC.Types.TyThing.Ppr GHC.Types.TypeEnv GHC.Types.Unique GHC.Types.Unique.DFM diff --git a/testsuite/tests/driver/T14075/T14075.stderr b/testsuite/tests/driver/T14075/T14075.stderr index 9c7bb7e359..c09cf120e3 100644 --- a/testsuite/tests/driver/T14075/T14075.stderr +++ b/testsuite/tests/driver/T14075/T14075.stderr @@ -1,7 +1,7 @@ -F.hs-boot:5:1: error: - ‘F.F’ is exported by the hs-boot file, but not exported by the module +F.hs-boot:5:1: error: [GHC-91999] + ‘F.F’ is exported by the hs-boot file, but not exported by the implementing module. -F.hs-boot:6:10: error: +F.hs-boot:6:10: error: [GHC-79857] instance O.O F.F - is defined in the hs-boot file, but not in the module itself + is defined in the hs-boot file, but not in the implementing module. diff --git a/testsuite/tests/ghci/scripts/T7894.stderr b/testsuite/tests/ghci/scripts/T7894.stderr index 17f7171bad..4addbb5657 100644 --- a/testsuite/tests/ghci/scripts/T7894.stderr +++ b/testsuite/tests/ghci/scripts/T7894.stderr @@ -1,2 +1,2 @@ -<interactive>:1:1: error: Not in scope: ‘Data.Maybe.->’ +<interactive>:1:1: error: [GHC-76037] Not in scope: ‘Data.Maybe.->’ diff --git a/testsuite/tests/ghci/scripts/T9140.stdout b/testsuite/tests/ghci/scripts/T9140.stdout index dbaa905b6f..29219a2312 100644 --- a/testsuite/tests/ghci/scripts/T9140.stdout +++ b/testsuite/tests/ghci/scripts/T9140.stdout @@ -7,6 +7,6 @@ You can't mix polymorphic and unlifted bindings: a = (# 1, 3 #) Suggested fix: Add a type signature. -<interactive>:1:1: error: +<interactive>:1:1: error: [GHC-17999] GHCi can't bind a variable of unlifted type: a :: (# Integer, Integer #) diff --git a/testsuite/tests/ghci/scripts/ghci034.stderr b/testsuite/tests/ghci/scripts/ghci034.stderr index 3d4b95c96c..fdb9f039d6 100644 --- a/testsuite/tests/ghci/scripts/ghci034.stderr +++ b/testsuite/tests/ghci/scripts/ghci034.stderr @@ -1,2 +1,3 @@ -<interactive>:1:1: error: Not in scope: ‘thisIsNotDefined’ +<interactive>:1:1: error: [GHC-76037] + Not in scope: ‘thisIsNotDefined’ diff --git a/testsuite/tests/ghci/should_fail/T18052b.stderr b/testsuite/tests/ghci/should_fail/T18052b.stderr index 30d2a389ab..6298f62533 100644 --- a/testsuite/tests/ghci/should_fail/T18052b.stderr +++ b/testsuite/tests/ghci/should_fail/T18052b.stderr @@ -1,3 +1,3 @@ -<interactive>:1:1: error: +<interactive>:1:1: error: [GHC-17999] GHCi can't bind a variable of unlifted type: (%%%) :: GHC.Prim.Int# diff --git a/testsuite/tests/indexed-types/should_fail/ClosedFam3.stderr b/testsuite/tests/indexed-types/should_fail/ClosedFam3.stderr index 28190937a4..f02c4d94bc 100644 --- a/testsuite/tests/indexed-types/should_fail/ClosedFam3.stderr +++ b/testsuite/tests/indexed-types/should_fail/ClosedFam3.stderr @@ -1,34 +1,39 @@ -ClosedFam3.hs-boot:8:1: error: +ClosedFam3.hs-boot:8:1: error: [GHC-15843] Type constructor ‘Foo’ has conflicting definitions in the module - and its hs-boot file + and its hs-boot file. Main module: type Foo :: * -> * type family Foo a where Foo Int = Bool Foo Double = Char - Boot file: type Foo :: * -> * + Boot file: type Foo :: * -> * type family Foo a where Foo Int = Bool + Type family equations do not match: + The number of equations differs. -ClosedFam3.hs-boot:11:1: error: +ClosedFam3.hs-boot:11:1: error: [GHC-15843] Type constructor ‘Bar’ has conflicting definitions in the module - and its hs-boot file + and its hs-boot file. Main module: type Bar :: * -> * type family Bar a where Bar Int = Bool Bar Double = Double - Boot file: type Bar :: * -> * + Boot file: type Bar :: * -> * type family Bar a where Bar Int = Bool Bar Double = Char + Type family equations do not match: + The third equations do not match. + The equation right-hand sides don't match. -ClosedFam3.hs-boot:15:1: error: +ClosedFam3.hs-boot:15:1: error: [GHC-15843] Type constructor ‘Baz’ has conflicting definitions in the module - and its hs-boot file + and its hs-boot file. Main module: type Baz :: * -> * type family Baz a where Baz Int = Bool - Boot file: type Baz :: forall k. k -> * + Boot file: type Baz :: forall k. k -> * type family Baz a where Baz Int = Bool - The types have different kinds + The types have different kinds. diff --git a/testsuite/tests/indexed-types/should_fail/HsBootFam.stderr b/testsuite/tests/indexed-types/should_fail/HsBootFam.stderr index a6950a3ade..2a75d81bdb 100644 --- a/testsuite/tests/indexed-types/should_fail/HsBootFam.stderr +++ b/testsuite/tests/indexed-types/should_fail/HsBootFam.stderr @@ -1,5 +1,5 @@ [1 of 3] Compiling HsBootFam_aux[boot] ( HsBootFam_aux.hs-boot, HsBootFam_aux.o-boot ) -HsBootFam_aux.hs-boot:6:1: [GHC-06203] - Illegal family instance in hs-boot file - In the type instance declaration for ‘F’ +HsBootFam_aux.hs-boot:6:1: error: [GHC-58195] + • Illegal family instance in an hs-boot file. + • In the type instance declaration for ‘F’ diff --git a/testsuite/tests/module/T414.stderr b/testsuite/tests/module/T414.stderr index 70c0cdecf7..55fc76508b 100644 --- a/testsuite/tests/module/T414.stderr +++ b/testsuite/tests/module/T414.stderr @@ -1,2 +1,3 @@ -T414.hs:1:1: The IO action ‘main’ is not exported by module ‘Main’ +T414.hs:1:1: error: [GHC-67120] + The IO action ‘main’ is not exported by module ‘Main’ diff --git a/testsuite/tests/module/T7765.stderr b/testsuite/tests/module/T7765.stderr index bc8377d20d..ba69bb0634 100644 --- a/testsuite/tests/module/T7765.stderr +++ b/testsuite/tests/module/T7765.stderr @@ -1,2 +1,3 @@ -T7765.hs:1:1: The IO action ‘main’ is not defined in module ‘Main’ +T7765.hs:1:1: error: [GHC-67120] + The IO action ‘main’ is not defined in module ‘Main’ diff --git a/testsuite/tests/parser/should_fail/readFail021.stderr b/testsuite/tests/parser/should_fail/readFail021.stderr index fe9c64b7e7..40b6d9e370 100644 --- a/testsuite/tests/parser/should_fail/readFail021.stderr +++ b/testsuite/tests/parser/should_fail/readFail021.stderr @@ -1,3 +1,3 @@ -readFail021.hs:1:1: +readFail021.hs:1:1: error: [GHC-67120] The IO action ‘main’ is not defined in module ‘Main’ diff --git a/testsuite/tests/rename/should_compile/rn055.stderr b/testsuite/tests/rename/should_compile/rn055.stderr index 93c74ff6a8..8ac45051d0 100644 --- a/testsuite/tests/rename/should_compile/rn055.stderr +++ b/testsuite/tests/rename/should_compile/rn055.stderr @@ -1,3 +1,3 @@ -rn055.hs:1:1: warning: [-Wimplicit-prelude] - Module `Prelude' implicitly imported +rn055.hs:1:1: warning: [GHC-20540] [-Wimplicit-prelude] + Module ‘Prelude’ implicitly imported. diff --git a/testsuite/tests/rename/should_fail/T13839b.stderr b/testsuite/tests/rename/should_fail/T13839b.stderr index 93846bd410..8d969ee454 100644 --- a/testsuite/tests/rename/should_fail/T13839b.stderr +++ b/testsuite/tests/rename/should_fail/T13839b.stderr @@ -1,3 +1,3 @@ -T13839b.hs:1:1: error: +T13839b.hs:1:1: error: [GHC-67120] The IO action ‘main’ is not defined in module ‘Main’ diff --git a/testsuite/tests/rename/should_fail/T19781.stderr b/testsuite/tests/rename/should_fail/T19781.stderr index ffe4a4d329..04e16481ac 100644 --- a/testsuite/tests/rename/should_fail/T19781.stderr +++ b/testsuite/tests/rename/should_fail/T19781.stderr @@ -1,6 +1,3 @@ -T19781_A.hs-boot:4:1: error: [GHC-11247] - Bindings in hs-boot files are not allowed - -T19781_A.hs-boot:7:1: error: [GHC-11247] - Bindings in hs-boot files are not allowed +T19781_A.hs-boot:4:1: error: [GHC-58195] + Illegal binding in an hs-boot file. diff --git a/testsuite/tests/rename/should_fail/rnfail007.stderr b/testsuite/tests/rename/should_fail/rnfail007.stderr index 98f96f1e02..90ae9e7659 100644 --- a/testsuite/tests/rename/should_fail/rnfail007.stderr +++ b/testsuite/tests/rename/should_fail/rnfail007.stderr @@ -1,3 +1,3 @@ -rnfail007.hs:1:1: +rnfail007.hs:1:1: error: [GHC-67120] The IO action ‘main’ is not defined in module ‘Main’ diff --git a/testsuite/tests/rename/should_fail/rnfail047.stderr b/testsuite/tests/rename/should_fail/rnfail047.stderr index 8f7304aa59..8e68027e29 100644 --- a/testsuite/tests/rename/should_fail/rnfail047.stderr +++ b/testsuite/tests/rename/should_fail/rnfail047.stderr @@ -1,3 +1,3 @@ -RnFail047_A.hs-boot:5:1: error: - ‘RnFail047_A.y’ is exported by the hs-boot file, but not exported by the module +RnFail047_A.hs-boot:5:1: error: [GHC-91999] + ‘RnFail047_A.y’ is exported by the hs-boot file, but not exported by the implementing module. diff --git a/testsuite/tests/rename/should_fail/rnfail055.stderr b/testsuite/tests/rename/should_fail/rnfail055.stderr index 787009a4c6..1077a6eb10 100644 --- a/testsuite/tests/rename/should_fail/rnfail055.stderr +++ b/testsuite/tests/rename/should_fail/rnfail055.stderr @@ -5,116 +5,117 @@ RnFail055.hs:2:73: warning: [-Wdeprecated-flags (in -Wdefault)] RnFail055.hs-boot:2:73: warning: [-Wdeprecated-flags (in -Wdefault)] -XDatatypeContexts is deprecated: It was widely considered a misfeature, and has been removed from the Haskell language. -RnFail055.hs-boot:5:1: error: +RnFail055.hs-boot:5:1: error: [GHC-11890] Identifier ‘f1’ has conflicting definitions in the module - and its hs-boot file + and its hs-boot file. Main module: f1 :: Int -> Float - Boot file: f1 :: Float -> Int - The two types are different + Boot file: f1 :: Float -> Int + The two types are different. -RnFail055.hs-boot:7:1: error: +RnFail055.hs-boot:7:1: error: [GHC-15843] Type constructor ‘S1’ has conflicting definitions in the module - and its hs-boot file + and its hs-boot file. Main module: type S1 :: * -> * -> * type S1 a b = (a, b) - Boot file: type S1 :: * -> * -> * -> * + Boot file: type S1 :: * -> * -> * -> * type S1 a b c = (a, b) - The types have different kinds + The types have different kinds. -RnFail055.hs-boot:9:1: error: +RnFail055.hs-boot:9:1: error: [GHC-15843] Type constructor ‘S2’ has conflicting definitions in the module - and its hs-boot file + and its hs-boot file. Main module: type S2 :: * -> * -> * type S2 a b = forall a1. (a1, b) - Boot file: type S2 :: * -> * -> * + 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. + NB: roles on abstract types default to ‘representational’ in hs-boot files. -RnFail055.hs-boot:13:1: error: +RnFail055.hs-boot:13:1: error: [GHC-15843] Type constructor ‘T1’ has conflicting definitions in the module - and its hs-boot file + and its hs-boot file. Main module: type T1 :: * -> * -> * data T1 a b = T1 [b] [a] - Boot file: type T1 :: * -> * -> * + Boot file: type T1 :: * -> * -> * data T1 a b = T1 [a] [b] - The constructors do not match: The types for ‘T1’ differ + The constructors do not match: The types for ‘T1’ differ. -RnFail055.hs-boot:15:1: error: +RnFail055.hs-boot:15:1: error: [GHC-15843] Type constructor ‘T2’ has conflicting definitions in the module - and its hs-boot file + 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 + 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. - The datatype contexts do not match - The constructors do not match: The types for ‘T2’ differ + NB: roles on abstract types default to ‘representational’ in hs-boot files. + The datatype contexts do not match. + The constructors do not match: The types for ‘T2’ differ. -RnFail055.hs-boot:17:11: error: - ‘T3’ is exported by the hs-boot file, but not exported by the module +RnFail055.hs-boot:17:11: error: [GHC-91999] + ‘T3’ is exported by the hs-boot file, but not exported by the implementing module. -RnFail055.hs-boot:18:12: error: - ‘T3'’ is exported by the hs-boot file, but not exported by the module +RnFail055.hs-boot:18:12: error: [GHC-91999] + ‘T3'’ is exported by the hs-boot file, but not exported by the implementing module. -RnFail055.hs-boot:22:1: error: +RnFail055.hs-boot:22:1: error: [GHC-15843] Type constructor ‘T5’ has conflicting definitions in the module - and its hs-boot file + and its hs-boot file. Main module: type T5 :: * -> * data T5 a = T5 {field5 :: a} - Boot file: type T5 :: * -> * + Boot file: type T5 :: * -> * data T5 a = T5 a The constructors do not match: - The record label lists for ‘T5’ differ + The record label lists for ‘T5’ differ. -RnFail055.hs-boot:24:1: error: +RnFail055.hs-boot:24:1: error: [GHC-15843] Type constructor ‘T6’ has conflicting definitions in the module - and its hs-boot file + and its hs-boot file. Main module: type T6 :: * data T6 = T6 Int - Boot file: type T6 :: * + Boot file: type T6 :: * data T6 = T6 !Int The constructors do not match: - The strictness annotations for ‘T6’ differ + The strictness annotations for ‘T6’ differ. -RnFail055.hs-boot:26:1: error: +RnFail055.hs-boot:26:1: error: [GHC-15843] Type constructor ‘T7’ has conflicting definitions in the module - and its hs-boot file + and its hs-boot file. Main module: type role T7 phantom type T7 :: * -> * data T7 a = forall a1. T7 a1 - Boot file: type T7 :: * -> * + 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 + NB: roles on abstract types default to ‘representational’ in hs-boot files. + The constructors do not match: The types for ‘T7’ differ. -RnFail055.hs-boot:28:22: error: - ‘RnFail055.m1’ is exported by the hs-boot file, but not exported by the module +RnFail055.hs-boot:28:22: error: [GHC-91999] + ‘RnFail055.m1’ is exported by the hs-boot file, but not exported by the implementing module. -RnFail055.hs-boot:29:1: error: +RnFail055.hs-boot:29:1: error: [GHC-15843] Class ‘C2’ has conflicting definitions in the module - and its hs-boot file + and its hs-boot file. Main module: type C2 :: * -> * -> Constraint class C2 a b where m2 :: a -> b m2' :: a -> b {-# MINIMAL m2, m2' #-} - Boot file: type C2 :: * -> * -> Constraint + 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 - The MINIMAL pragmas are not compatible + The class methods do not match: + The number of class methods differs. + The MINIMAL pragmas are not compatible. -RnFail055.hs-boot:30:1: error: +RnFail055.hs-boot:30:1: error: [GHC-15843] Class ‘C3’ has conflicting definitions in the module - and its hs-boot file + and its hs-boot file. Main module: type C3 :: * -> Constraint class (Eq a, Ord a) => C3 a - Boot file: type C3 :: * -> Constraint + Boot file: type C3 :: * -> Constraint class (Ord a, Eq a) => C3 a - The class constraints do not match + The superclass constraints do not match. diff --git a/testsuite/tests/rep-poly/RepPolyBackpack3.stderr b/testsuite/tests/rep-poly/RepPolyBackpack3.stderr index 5b187eb186..a32c868f28 100644 --- a/testsuite/tests/rep-poly/RepPolyBackpack3.stderr +++ b/testsuite/tests/rep-poly/RepPolyBackpack3.stderr @@ -9,12 +9,12 @@ Instantiating sig[Sig=impl:Impl] [1 of 1] Compiling Sig[sig] ( sig\Sig.hsig, RepPolyBackpack3.out\sig\sig-Absk5cIXTXe6UYhGMYGber\Sig.o ) -RepPolyBackpack3.bkp:17:5: error: +RepPolyBackpack3.bkp:17:5: error: [GHC-15843] • Type constructor ‘Rep’ has conflicting definitions in the module - and its hsig file + and its hsig file. Main module: type Rep :: GHC.Types.RuntimeRep type Rep = T :: GHC.Types.RuntimeRep - Hsig file: type Rep :: GHC.Types.RuntimeRep - data Rep - Illegal type family application in implementation of abstract data. - • while checking that impl:Impl implements signature Sig in sig[Sig=impl:Impl] + Hsig file: type Rep :: GHC.Types.RuntimeRep + data Rep + Illegal implementation of abstract data: Invalid type family ‘T’. + • While checking that ‘impl:Impl’ implements signature ‘Sig’ in ‘sig[Sig=impl:Impl]’. diff --git a/testsuite/tests/roles/should_fail/Roles12.stderr b/testsuite/tests/roles/should_fail/Roles12.stderr index b4d7499fe9..99eb45fd96 100644 --- a/testsuite/tests/roles/should_fail/Roles12.stderr +++ b/testsuite/tests/roles/should_fail/Roles12.stderr @@ -1,11 +1,11 @@ -Roles12.hs:6:1: error: +Roles12.hs:6:1: error: [GHC-15843] Type constructor ‘T’ has conflicting definitions in the module - and its hs-boot file + and its hs-boot file. Main module: type role T phantom type T :: * -> * data T a - Boot file: type T :: * -> * + Boot file: type T :: * -> * data T a The roles do not match. - Roles on abstract types default to ‘representational’ in boot files. + NB: roles on abstract types default to ‘representational’ in hs-boot files. diff --git a/testsuite/tests/roles/should_fail/T9204.stderr b/testsuite/tests/roles/should_fail/T9204.stderr index c54df4870c..33f638578e 100644 --- a/testsuite/tests/roles/should_fail/T9204.stderr +++ b/testsuite/tests/roles/should_fail/T9204.stderr @@ -1,11 +1,11 @@ -T9204.hs:7:1: error: +T9204.hs:7:1: error: [GHC-15843] Type constructor ‘D’ has conflicting definitions in the module - and its hs-boot file + and its hs-boot file. Main module: type role D phantom type D :: * -> * data D a - Boot file: type D :: * -> * + Boot file: type D :: * -> * data D a The roles do not match. - Roles on abstract types default to ‘representational’ in boot files. + NB: roles on abstract types default to ‘representational’ in hs-boot files. diff --git a/testsuite/tests/typecheck/T12441/T12441.stderr b/testsuite/tests/typecheck/T12441/T12441.stderr index fe6b471d52..a585a6babb 100644 --- a/testsuite/tests/typecheck/T12441/T12441.stderr +++ b/testsuite/tests/typecheck/T12441/T12441.stderr @@ -1,10 +1,10 @@ -[1 of 3] Compiling T12441[boot] ( T12441.hs-boot, T12441.o-boot )
-[2 of 3] Compiling T12441A ( T12441A.hs, T12441A.o )
-[3 of 3] Compiling T12441 ( T12441.hs, T12441.o )
-
-T12441.hs-boot:3:1:
- Identifier ‘f’ has conflicting definitions in the module
- and its hs-boot file
- Main module: f :: forall b a. (a, b)
- Boot file: f :: forall a b. (a, b)
- The two types are different
+[1 of 3] Compiling T12441[boot] ( T12441.hs-boot, T12441.o-boot ) +[2 of 3] Compiling T12441A ( T12441A.hs, T12441A.o ) +[3 of 3] Compiling T12441 ( T12441.hs, T12441.o ) + +T12441.hs-boot:3:1: error: [GHC-11890] + Identifier ‘f’ has conflicting definitions in the module + and its hs-boot file. + Main module: f :: forall b a. (a, b) + Boot file: f :: forall a b. (a, b) + The two types are different. diff --git a/testsuite/tests/typecheck/should_fail/T12035.stderr b/testsuite/tests/typecheck/should_fail/T12035.stderr index 375b94c95a..b1bce2d3d0 100644 --- a/testsuite/tests/typecheck/should_fail/T12035.stderr +++ b/testsuite/tests/typecheck/should_fail/T12035.stderr @@ -1,8 +1,8 @@ -T12035.hs-boot:2:1: error: +T12035.hs-boot:2:1: error: [GHC-15843] Type constructor ‘T’ has conflicting definitions in the module - and its hs-boot file + and its hs-boot file. Main module: type T :: * type T = Bool - Boot file: type T :: * + Boot file: type T :: * data T diff --git a/testsuite/tests/typecheck/should_fail/T12035j.stderr b/testsuite/tests/typecheck/should_fail/T12035j.stderr index 375b94c95a..b1bce2d3d0 100644 --- a/testsuite/tests/typecheck/should_fail/T12035j.stderr +++ b/testsuite/tests/typecheck/should_fail/T12035j.stderr @@ -1,8 +1,8 @@ -T12035.hs-boot:2:1: error: +T12035.hs-boot:2:1: error: [GHC-15843] Type constructor ‘T’ has conflicting definitions in the module - and its hs-boot file + and its hs-boot file. Main module: type T :: * type T = Bool - Boot file: type T :: * + Boot file: type T :: * data T diff --git a/testsuite/tests/typecheck/should_fail/T12042.stderr b/testsuite/tests/typecheck/should_fail/T12042.stderr index ae3cf33ea7..323c5e3693 100644 --- a/testsuite/tests/typecheck/should_fail/T12042.stderr +++ b/testsuite/tests/typecheck/should_fail/T12042.stderr @@ -2,10 +2,10 @@ [2 of 3] Compiling T12042a ( T12042a.hs, T12042a.o ) [3 of 3] Compiling T12042 ( T12042.hs, T12042.o ) -T12042.hs-boot:2:1: error: +T12042.hs-boot:2:1: error: [GHC-15843] Type constructor ‘S’ has conflicting definitions in the module - and its hs-boot file + and its hs-boot file. Main module: type S :: * type S = R - Boot file: type S :: * + Boot file: type S :: * data S diff --git a/testsuite/tests/typecheck/should_fail/T16453E1.stderr b/testsuite/tests/typecheck/should_fail/T16453E1.stderr index d435ab8e1e..082a1cbc4d 100644 --- a/testsuite/tests/typecheck/should_fail/T16453E1.stderr +++ b/testsuite/tests/typecheck/should_fail/T16453E1.stderr @@ -1,2 +1,3 @@ -T16453E1.hs:1:1: error: + +T16453E1.hs:1:1: error: [GHC-67120] The IO action ‘main’ is not defined in module ‘Main’ diff --git a/testsuite/tests/typecheck/should_fail/T19397E3.stderr b/testsuite/tests/typecheck/should_fail/T19397E3.stderr index 2359ec171a..b6f692f84d 100644 --- a/testsuite/tests/typecheck/should_fail/T19397E3.stderr +++ b/testsuite/tests/typecheck/should_fail/T19397E3.stderr @@ -1,3 +1,3 @@ -T19397E3.hs:1:1: error: +T19397E3.hs:1:1: error: [GHC-67120] The main IO action ‘foo’ is not defined in module ‘Main’ diff --git a/testsuite/tests/typecheck/should_fail/T19397E4.stderr b/testsuite/tests/typecheck/should_fail/T19397E4.stderr index 3f9eec7bf0..a80a14dd3d 100644 --- a/testsuite/tests/typecheck/should_fail/T19397E4.stderr +++ b/testsuite/tests/typecheck/should_fail/T19397E4.stderr @@ -1,3 +1,3 @@ -T19397E4.hs:1:1: error: +T19397E4.hs:1:1: error: [GHC-67120] The main IO action ‘foo’ is not exported by module ‘Main’ diff --git a/testsuite/tests/typecheck/should_fail/T20588.stderr b/testsuite/tests/typecheck/should_fail/T20588.stderr index b9b7ed3f38..50e7bbec77 100644 --- a/testsuite/tests/typecheck/should_fail/T20588.stderr +++ b/testsuite/tests/typecheck/should_fail/T20588.stderr @@ -1,29 +1,29 @@ -T20588.hs-boot:8:1: error: +T20588.hs-boot:8:1: error: [GHC-15843] Class ‘C’ has conflicting definitions in the module - and its hs-boot file + and its hs-boot file. Main module: type C :: * -> Constraint class C a where meth :: a -> a {-# MINIMAL meth #-} - Boot file: type C :: * -> Constraint + Boot file: type C :: * -> Constraint class C a where meth :: a -> a {-# MINIMAL meth #-} - The methods do not match: - The default methods associated with ‘meth’ are different + The class methods do not match: + The default methods associated with ‘meth’ are different. -T20588.hs-boot:11:1: error: +T20588.hs-boot:11:1: error: [GHC-15843] Class ‘D’ has conflicting definitions in the module - and its hs-boot file + and its hs-boot file. Main module: type D :: * -> Constraint class D a where type T :: * -> * type family T a Default: Int - Boot file: type D :: * -> Constraint + Boot file: type D :: * -> Constraint class D a where type T :: * -> * type family T a The associated types do not match: - The associated type defaults differ + The types of the second associated type default differ. diff --git a/testsuite/tests/typecheck/should_fail/T20588c.stderr b/testsuite/tests/typecheck/should_fail/T20588c.stderr index d15573a30f..5b008ecc48 100644 --- a/testsuite/tests/typecheck/should_fail/T20588c.stderr +++ b/testsuite/tests/typecheck/should_fail/T20588c.stderr @@ -1,14 +1,14 @@ -T20588c.hs-boot:7:1: error: +T20588c.hs-boot:7:1: error: [GHC-15843] Class ‘C’ has conflicting definitions in the module - and its hs-boot file + and its hs-boot file. Main module: type C :: * -> Constraint class C a where meth :: a default meth :: Monoid a => a - Boot file: type C :: * -> Constraint + Boot file: type C :: * -> Constraint class C a where meth :: a {-# MINIMAL meth #-} - The methods do not match: - The default methods associated with ‘meth’ are different + The class methods do not match: + The default methods associated with ‘meth’ are different. diff --git a/testsuite/tests/typecheck/should_fail/T3468.stderr b/testsuite/tests/typecheck/should_fail/T3468.stderr index c8aa7622f8..77a55c34d7 100644 --- a/testsuite/tests/typecheck/should_fail/T3468.stderr +++ b/testsuite/tests/typecheck/should_fail/T3468.stderr @@ -1,10 +1,10 @@ -T3468.hs-boot:3:1: error: +T3468.hs-boot:3:1: error: [GHC-15843] Type constructor ‘Tool’ has conflicting definitions in the module - and its hs-boot file + and its hs-boot file. Main module: type role Tool phantom type Tool :: * -> * data Tool d = forall a r. F a - Boot file: type Tool :: * + Boot file: type Tool :: * data Tool - The types have different kinds + The types have different kinds. diff --git a/testsuite/tests/typecheck/should_fail/tcfail030.stderr b/testsuite/tests/typecheck/should_fail/tcfail030.stderr index 66b129076b..d11a91f896 100644 --- a/testsuite/tests/typecheck/should_fail/tcfail030.stderr +++ b/testsuite/tests/typecheck/should_fail/tcfail030.stderr @@ -1,3 +1,3 @@ -tcfail030.hs:1:1: +tcfail030.hs:1:1: error: [GHC-67120] The IO action ‘main’ is not defined in module ‘Main’ diff --git a/testsuite/tests/wcompat-warnings/WCompatWarningsOn.stderr b/testsuite/tests/wcompat-warnings/WCompatWarningsOn.stderr index 75df49fd36..4ef1b425b1 100644 --- a/testsuite/tests/wcompat-warnings/WCompatWarningsOn.stderr +++ b/testsuite/tests/wcompat-warnings/WCompatWarningsOn.stderr @@ -1,8 +1,4 @@ -Template.hs:5:1: warning: [-Wsemigroup (in -Wcompat)] - Local definition of ‘<>’ clashes with a future Prelude name. - This will become an error in a future release. - Template.hs:11:3: warning: [GHC-50928] [-Wnoncanonical-monoid-instances (in -Wdefault, -Wcompat)] Noncanonical ‘(<>) = mappend’ definition detected in the instance declaration for ‘Semigroup S’. |