Commit 7912f8b8 authored by Simon Peyton Jones's avatar Simon Peyton Jones
Browse files

Error wibbles now that we print roles in :info

(We might want to revisit this.)
parent 15b4f839
type role Equal nominal nominal
data Equal a b where
Equal :: Equal a a
-- Defined at T4087.hs:5:1
type family A a b :: * -- Defined at T4175.hs:4:1
type role A nominal nominal
type family A a b :: *
-- Defined at T4175.hs:4:1
type instance A (Maybe a) a -- Defined at T4175.hs:6:1
type instance A Int Int -- Defined at T4175.hs:5:1
data family B a -- Defined at T4175.hs:8:1
type role B nominal
data family B a
-- Defined at T4175.hs:8:1
data instance B () -- Defined at T4175.hs:9:15
type role C nominal
class C a where
type role D nominal nominal
type family D a b :: *
-- Defined at T4175.hs:12:5
type D () () -- Defined at T4175.hs:18:5
type D Int () -- Defined at T4175.hs:15:5
type role E nominal
type family E a :: * where
E () = Bool
E Int = String
......
data B1 a = B1 a
type role T5417.R:FB1 nominal
data instance C.F (B1 a) = B2 a
type role D nominal
data family D a
type role C.C1 nominal
class C.C1 a where
type role C.F nominal
data family C.F a
-- Defined at T5417a.hs:5:5
data C.F (B1 a) -- Defined at T5417.hs:8:10
type role Foo nominal
class Foo (a :: k) where
type role Bar nominal nominal
type family Bar (a :: k) b :: *
-- Defined at T7939.hs:6:4
Bar :: k -> * -> *
type family F a :: * -- Defined at T7939.hs:8:1
type role F nominal
type family F a :: *
-- Defined at T7939.hs:8:1
type instance F Int -- Defined at T7939.hs:9:1
F :: * -> *
type family G a :: * where G Int = Bool
type role G nominal
type family G a :: * where
G Int = Bool
-- Defined at T7939.hs:11:1
G :: * -> *
type family H (a :: Bool) :: Bool where H 'False = 'True
type role H nominal
type family H (a :: Bool) :: Bool where
H 'False = 'True
-- Defined at T7939.hs:14:1
H :: Bool -> Bool
type role J nominal
type family J (a :: [k]) :: Bool where
J '[] = 'False
J (h : t) = 'True
-- Defined at T7939.hs:17:1
J :: [k] -> Bool
type role K nominal
type family K (a :: [k]) :: Maybe k where
K '[] = 'Nothing
K (h : t) = 'Just h
......
......@@ -2,7 +2,9 @@
:browse! *T
-- defined locally
T.length :: T.Integer
type role N phantom
class N a
type role S phantom
class S a
class C a b where
c1 :: N b => a -> b
......@@ -60,7 +62,9 @@ T.length :: Data.ByteString.Internal.ByteString -> GHC.Types.Int
:browse! T
-- defined locally
T.length :: T.Integer
type role N phantom
class N a
type role S phantom
class S a
class C a b where
c1 :: N b => a -> b
......@@ -74,7 +78,9 @@ c4 :: C a b => forall a1. a1 -> b
:browse! T -- with -fprint-explicit-foralls
-- defined locally
T.length :: T.Integer
type role N phantom
class N a
type role S phantom
class S a
class C a b where
c1 :: N b => a -> b
......
......@@ -2,23 +2,32 @@
ClosedFam3.hs-boot:5:1:
Type constructor ‛Foo’ has conflicting definitions in the module
and its hs-boot file
Main module: type family Foo a :: * where
Main module: type role Foo nominal
type family Foo a :: * where
Foo Int = Bool
Foo Double = Char
Boot file: type family Foo a :: * where Foo Int = Bool
Boot file: type role Foo nominal
type family Foo a :: * where
Foo Int = Bool
ClosedFam3.hs-boot:8:1:
Type constructor ‛Bar’ has conflicting definitions in the module
and its hs-boot file
Main module: type family Bar a :: * where
Main module: type role Bar nominal
type family Bar a :: * where
Bar Int = Bool
Bar Double = Double
Boot file: type family Bar a :: * where
Boot file: type role Bar nominal
type family Bar a :: * where
Bar Int = Bool
Bar Double = Char
ClosedFam3.hs-boot:12:1:
Type constructor ‛Baz’ has conflicting definitions in the module
and its hs-boot file
Main module: type family Baz a :: * where Baz Int = Bool
Boot file: type family Baz (a :: k) :: * where Baz Int = Bool
Main module: type role Baz nominal
type family Baz a :: * where
Baz Int = Bool
Boot file: type role Baz nominal
type family Baz (a :: k) :: * where
Baz Int = Bool
......@@ -32,7 +32,8 @@ RnFail055.hs-boot:12:1:
RnFail055.hs-boot:14:1:
Type constructor ‛T2’ has conflicting definitions in the module
and its hs-boot file
Main module: data Eq b => T2 a b = T2 a
Main module: type role T2 representational phantom
data Eq b => T2 a b = T2 a
Boot file: data Eq a => T2 a b = T2 a
RnFail055.hs-boot:16:11:
......@@ -56,7 +57,8 @@ RnFail055.hs-boot:23:1:
RnFail055.hs-boot:25:1:
Type constructor ‛T7’ has conflicting definitions in the module
and its hs-boot file
Main module: data T7 a where
Main module: type role T7 phantom
data T7 a where
T7 :: a -> T7 a
Boot file: data T7 a = T7 a
......
......@@ -2,14 +2,6 @@
Roles12.hs:5:1:
Type constructor ‛T’ has conflicting definitions in the module
and its hs-boot file
Main module: data T a
No C type associated
Roles: [phantom]
RecFlag Recursive, Promotable
=
FamilyInstance: none
Boot file: abstract(False) T a
No C type associated
Roles: [representational]
RecFlag NonRecursive, Not promotable
FamilyInstance: none
Main module: type role T phantom
data T a
Boot file: data T a
......@@ -2,6 +2,7 @@
T3468.hs-boot:3:1:
Type constructor ‛Tool’ has conflicting definitions in the module
and its hs-boot file
Main module: data Tool d where
Main module: type role Tool phantom
data Tool d where
F :: a -> Tool d
Boot file: data Tool
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment