diff options
author | Simon Peyton Jones <simonpj@microsoft.com> | 2018-10-16 12:03:56 +0100 |
---|---|---|
committer | Simon Peyton Jones <simonpj@microsoft.com> | 2018-10-24 16:38:55 +0100 |
commit | 321bc1a644a9e4598a4af30d4aeae315f0ff487a (patch) | |
tree | 81a3b5ee057609987270fe289aa3c5217773c251 | |
parent | 4111540127ae059774b2b7e69d7eddee01a17e81 (diff) | |
download | haskell-321bc1a644a9e4598a4af30d4aeae315f0ff487a.tar.gz |
Improve output from -ddump-types
This patch makes a number of improvements to the output
generated by -ddump-types
* Prints data constructor separately
* Omits empty chunks of output
I was driven initially by the unhelpful existing output for
data constructors, but ended up doing some refactoring.
Lots of error message wibbles, but nothing significant.
Certainly no change in user behaviour.
(NB: It is just possible that I have failed to cleanly
separate this patch from the next one, about
isPredTy and friends.)
59 files changed, 119 insertions, 207 deletions
diff --git a/compiler/typecheck/TcRnDriver.hs b/compiler/typecheck/TcRnDriver.hs index e53314dedc..b327789c42 100644 --- a/compiler/typecheck/TcRnDriver.hs +++ b/compiler/typecheck/TcRnDriver.hs @@ -103,6 +103,7 @@ import RnEnv import RnSource import ErrUtils import Id +import IdInfo( IdDetails(..) ) import VarEnv import Module import UniqFM @@ -2640,7 +2641,8 @@ loadUnqualIfaces hsc_env ictxt {- ************************************************************************ * * - Degugging output + Debugging output + This is what happens when you do -ddump-types * * ************************************************************************ -} @@ -2677,8 +2679,10 @@ pprTcGblEnv (TcGblEnv { tcg_type_env = type_env, tcg_fam_insts = fam_insts, tcg_rules = rules, tcg_imports = imports }) - = vcat [ ppr_types type_env - , ppr_tycons fam_insts type_env + = getPprDebug $ \debug -> + vcat [ ppr_types debug type_env + , ppr_tycons debug fam_insts type_env + , ppr_datacons debug type_env , ppr_patsyns type_env , ppr_insts insts , ppr_fam_insts fam_insts @@ -2696,81 +2700,95 @@ ppr_rules rules hang (text "RULES") 2 (vcat (map ppr rules)) -ppr_types :: TypeEnv -> SDoc -ppr_types type_env = getPprDebug $ \dbg -> - let +ppr_types :: Bool -> TypeEnv -> SDoc +ppr_types debug type_env + = ppr_things "TYPE SIGNATURES" ppr_sig + (sortBy (comparing getOccName) ids) + where ids = [id | id <- typeEnvIds type_env, want_sig id] - want_sig id | dbg - = True - | otherwise - = isExternalName (idName id) && - (not (isDerivedOccName (getOccName id))) - -- Top-level user-defined things have External names. - -- Suppress internally-generated things unless -dppr-debug - in - ppr_sigs ids - -ppr_tycons :: [FamInst] -> TypeEnv -> SDoc -ppr_tycons fam_insts type_env = getPprDebug $ \dbg -> - let + want_sig id + | debug = True + | otherwise = hasTopUserName id + && case idDetails id of + VanillaId -> True + RecSelId {} -> True + ClassOpId {} -> True + FCallId {} -> True + _ -> False + -- Data cons (workers and wrappers), pattern synonyms, + -- etc are suppressed (unless -dppr-debug), + -- because they appear elsehwere + + ppr_sig id = hang (ppr id <+> dcolon) 2 (ppr (tidyTopType (idType id))) + +ppr_tycons :: Bool -> [FamInst] -> TypeEnv -> SDoc +ppr_tycons debug fam_insts type_env + = vcat [ ppr_things "TYPE CONSTRUCTORS" ppr_tc tycons + , ppr_things "COERCION AXIOMS" pprCoAxiom + (typeEnvCoAxioms type_env) ] + where fi_tycons = famInstsRepTyCons fam_insts - tycons = [tycon | tycon <- typeEnvTyCons type_env, want_tycon tycon] - want_tycon tycon | dbg = True + + tycons = sortBy (comparing getOccName) $ + [tycon | tycon <- typeEnvTyCons type_env + , want_tycon tycon] + -- Sort by OccName to reduce unnecessary changes + want_tycon tycon | debug = True | otherwise = not (isImplicitTyCon tycon) && isExternalName (tyConName tycon) && not (tycon `elem` fi_tycons) - in - vcat [ hang (text "TYPE CONSTRUCTORS") - 2 (ppr_tydecls tycons) - , hang (text "COERCION AXIOMS") - 2 (vcat (map pprCoAxiom (typeEnvCoAxioms type_env))) ] + ppr_tc tc + = vcat [ ppWhen show_roles $ + hang (text "type role" <+> ppr tc) + 2 (hsep (map ppr roles)) + , hang (ppr tc <+> dcolon) + 2 (ppr (tidyTopType (tyConKind tc))) ] + where + show_roles = debug || not (all (== boring_role) roles) + roles = tyConRoles tc + boring_role | isClassTyCon tc = Nominal + | otherwise = Representational + -- Matches the choice in IfaceSyn, calls to pprRoles + +ppr_datacons :: Bool -> TypeEnv -> SDoc +ppr_datacons debug type_env + = ppr_things "DATA CONSTRUCTORS" ppr_dc wanted_dcs + -- The filter gets rid of class data constructors + where + ppr_dc dc = ppr dc <+> dcolon <+> ppr (dataConUserType dc) + all_dcs = typeEnvDataCons type_env + wanted_dcs | debug = all_dcs + | otherwise = filterOut is_cls_dc all_dcs + is_cls_dc dc = isClassTyCon (dataConTyCon dc) ppr_patsyns :: TypeEnv -> SDoc ppr_patsyns type_env - = ppUnless (null patsyns) $ - hang (text "PATTERN SYNONYMS") - 2 (vcat (map ppr_ps patsyns)) + = ppr_things "PATTERN SYNONYMS" ppr_ps + (typeEnvPatSyns type_env) where - patsyns = typeEnvPatSyns type_env ppr_ps ps = ppr ps <+> dcolon <+> pprPatSynType ps ppr_insts :: [ClsInst] -> SDoc ppr_insts ispecs - = ppUnless (null ispecs) $ - hang (text "INSTANCES") 2 (pprInstances ispecs) + = ppr_things "CLASS INSTANCES" pprInstance ispecs ppr_fam_insts :: [FamInst] -> SDoc ppr_fam_insts fam_insts - = ppUnless (null fam_insts) $ - hang (text "FAMILY INSTANCES") - 2 (pprFamInsts fam_insts) - -ppr_sigs :: [Var] -> SDoc -ppr_sigs ids -- Print type signatures; sort by OccName - = hang (text "TYPE SIGNATURES") - 2 (vcat (map ppr_sig (sortBy (comparing getOccName) ids))) + = ppr_things "FAMILY INSTANCES" pprFamInst fam_insts + +ppr_things :: String -> (a -> SDoc) -> [a] -> SDoc +ppr_things herald ppr_one things + | null things = empty + | otherwise = text herald $$ nest 2 (vcat (map ppr_one things)) + +hasTopUserName :: NamedThing x => x -> Bool +-- A top-level thing whose name is not "derived" +-- Thus excluding things like $tcX, from Typeable boilerplate +-- and C:Coll from class-dictionary data constructors +hasTopUserName x + = isExternalName name && not (isDerivedOccName (nameOccName name)) where - ppr_sig id = hang (ppr id <+> dcolon) 2 (ppr (tidyTopType (idType id))) - -ppr_tydecls :: [TyCon] -> SDoc -ppr_tydecls tycons - -- Print type constructor info for debug purposes - -- Sort by OccName to reduce unnecessary changes - = getPprDebug $ \ debug -> - vcat $ map (ppr_tc debug) $ sortBy (comparing getOccName) tycons - where - ppr_tc debug tc - = vcat [ ppWhen show_roles $ - hang (text "type role" <+> ppr tc) - 2 (hsep (map ppr roles)) - , hang (ppr tc <+> dcolon) - 2 (ppr (tidyTopType (tyConKind tc))) ] - where - roles = tyConRoles tc - show_roles = debug || not (all (== boring_role) roles) - boring_role | isClassTyCon tc = Nominal - | otherwise = Representational - -- Matches the choice in IfaceSyn, calls to pprRoles + name = getName x {- ******************************************************************************** diff --git a/testsuite/tests/ado/ado004.stderr b/testsuite/tests/ado/ado004.stderr index c0f7838b08..86066d3e31 100644 --- a/testsuite/tests/ado/ado004.stderr +++ b/testsuite/tests/ado/ado004.stderr @@ -41,8 +41,6 @@ TYPE SIGNATURES forall (m :: * -> *) a p. (Monad m, Num (m a)) => (m a -> m (m a)) -> p -> m a -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/determinism/determ021/determ021.stdout b/testsuite/tests/determinism/determ021/determ021.stdout index 1f6a636ade..d0a002bc9a 100644 --- a/testsuite/tests/determinism/determ021/determ021.stdout +++ b/testsuite/tests/determinism/determ021/determ021.stdout @@ -4,8 +4,6 @@ TYPE SIGNATURES forall (f :: * -> *) t b. (Applicative f, Num t, Num b) => (t -> f b) -> f b -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] @@ -15,8 +13,6 @@ TYPE SIGNATURES forall (f :: * -> *) t b. (Applicative f, Num t, Num b) => (t -> f b) -> f b -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/driver/json2.stderr b/testsuite/tests/driver/json2.stderr index b9e429741c..d5e50bea25 100644 --- a/testsuite/tests/driver/json2.stderr +++ b/testsuite/tests/driver/json2.stderr @@ -1 +1 @@ -{"span": null,"doc": "TYPE SIGNATURES foo :: forall a. a -> a\nTYPE CONSTRUCTORS\nCOERCION AXIOMS\nDependent modules: []\nDependent packages: [base-4.12.0.0, ghc-prim-0.5.3,\n integer-gmp-1.0.2.0]","severity": "SevOutput","reason": null} +{"span": null,"doc": "TYPE SIGNATURES\n foo :: forall a. a -> a\nDependent modules: []\nDependent packages: [base-4.12.0.0, ghc-prim-0.5.3,\n integer-gmp-1.0.2.0]","severity": "SevOutput","reason": null} diff --git a/testsuite/tests/indexed-types/should_compile/T3017.stderr b/testsuite/tests/indexed-types/should_compile/T3017.stderr index 2c82e8e6d3..2a57edf531 100644 --- a/testsuite/tests/indexed-types/should_compile/T3017.stderr +++ b/testsuite/tests/indexed-types/should_compile/T3017.stderr @@ -1,5 +1,4 @@ TYPE SIGNATURES - Foo.L :: forall a. [a] -> ListColl a empty :: forall c. Coll c => c emptyL :: forall a. ListColl a insert :: forall c. Coll c => Elem c -> c -> c @@ -11,7 +10,9 @@ TYPE CONSTRUCTORS COERCION AXIOMS axiom Foo.D:R:ElemListColl :: Elem (ListColl a) = a -- Defined at T3017.hs:13:9 -INSTANCES +DATA CONSTRUCTORS + L :: forall a. [a] -> ListColl a +CLASS INSTANCES instance Coll (ListColl a) -- Defined at T3017.hs:12:11 FAMILY INSTANCES type Elem (ListColl a) diff --git a/testsuite/tests/partial-sigs/should_compile/ADT.stderr b/testsuite/tests/partial-sigs/should_compile/ADT.stderr index 92e1bf59f5..0569722f24 100644 --- a/testsuite/tests/partial-sigs/should_compile/ADT.stderr +++ b/testsuite/tests/partial-sigs/should_compile/ADT.stderr @@ -1,9 +1,9 @@ TYPE SIGNATURES - ADT.Foo :: forall x y z. x -> y -> z -> Foo x y z bar :: Int -> Foo Bool () Int TYPE CONSTRUCTORS Foo :: * -> * -> * -> * -COERCION AXIOMS +DATA CONSTRUCTORS + Foo :: forall x y z. x -> y -> z -> Foo x y z Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/AddAndOr1.stderr b/testsuite/tests/partial-sigs/should_compile/AddAndOr1.stderr index 2574e55b40..cc5ab0a567 100644 --- a/testsuite/tests/partial-sigs/should_compile/AddAndOr1.stderr +++ b/testsuite/tests/partial-sigs/should_compile/AddAndOr1.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES addAndOr1 :: (Int, Bool) -> (Bool, Int) -> (Int, Bool) -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/AddAndOr2.stderr b/testsuite/tests/partial-sigs/should_compile/AddAndOr2.stderr index 3540207859..cf4989b53b 100644 --- a/testsuite/tests/partial-sigs/should_compile/AddAndOr2.stderr +++ b/testsuite/tests/partial-sigs/should_compile/AddAndOr2.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES addAndOr2 :: (Int, Bool) -> (Bool, Int) -> (Int, Bool) -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/AddAndOr3.stderr b/testsuite/tests/partial-sigs/should_compile/AddAndOr3.stderr index ea8248b5f4..d7a164b318 100644 --- a/testsuite/tests/partial-sigs/should_compile/AddAndOr3.stderr +++ b/testsuite/tests/partial-sigs/should_compile/AddAndOr3.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES addAndOr3 :: (Int, Bool) -> (Bool, Int) -> (Int, Bool) -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/AddAndOr4.stderr b/testsuite/tests/partial-sigs/should_compile/AddAndOr4.stderr index 55a2fb28f0..30b1744463 100644 --- a/testsuite/tests/partial-sigs/should_compile/AddAndOr4.stderr +++ b/testsuite/tests/partial-sigs/should_compile/AddAndOr4.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES addAndOr4 :: (Int, Bool) -> (Bool, Int) -> (Int, Bool) -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/AddAndOr5.stderr b/testsuite/tests/partial-sigs/should_compile/AddAndOr5.stderr index 36d5df85d5..97e4ba2eca 100644 --- a/testsuite/tests/partial-sigs/should_compile/AddAndOr5.stderr +++ b/testsuite/tests/partial-sigs/should_compile/AddAndOr5.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES addAndOr5 :: (Int, Bool) -> (Bool, Int) -> (Int, Bool) -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/AddAndOr6.stderr b/testsuite/tests/partial-sigs/should_compile/AddAndOr6.stderr index b81f39e2eb..1cb89650b8 100644 --- a/testsuite/tests/partial-sigs/should_compile/AddAndOr6.stderr +++ b/testsuite/tests/partial-sigs/should_compile/AddAndOr6.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES addAndOr6 :: (Int, Bool) -> (Bool, Int) -> (Int, Bool) -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/BoolToBool.stderr b/testsuite/tests/partial-sigs/should_compile/BoolToBool.stderr index 1993ae096e..3af6ead3fd 100644 --- a/testsuite/tests/partial-sigs/should_compile/BoolToBool.stderr +++ b/testsuite/tests/partial-sigs/should_compile/BoolToBool.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES bar :: Bool -> Bool -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/DataFamilyInstanceLHS.stderr b/testsuite/tests/partial-sigs/should_compile/DataFamilyInstanceLHS.stderr index f3be34f69c..58f423c163 100644 --- a/testsuite/tests/partial-sigs/should_compile/DataFamilyInstanceLHS.stderr +++ b/testsuite/tests/partial-sigs/should_compile/DataFamilyInstanceLHS.stderr @@ -1,14 +1,4 @@ TYPE SIGNATURES - DataFamilyInstanceLHS.A :: MyKind - DataFamilyInstanceLHS.B :: MyKind - DataFamilyInstanceLHS.SingA :: - forall (_ :: MyKind). - (_ ~ 'A) => - DataFamilyInstanceLHS.R:SingMyKind_ _ - DataFamilyInstanceLHS.SingB :: - forall (_ :: MyKind). - (_ ~ 'B) => - DataFamilyInstanceLHS.R:SingMyKind_ _ foo :: Sing 'A TYPE CONSTRUCTORS MyKind :: * @@ -18,6 +8,11 @@ COERCION AXIOMS axiom DataFamilyInstanceLHS.D:R:SingMyKind_0 :: Sing _ = DataFamilyInstanceLHS.R:SingMyKind_ -- Defined at DataFamilyInstanceLHS.hs:8:15 +DATA CONSTRUCTORS + A :: MyKind + B :: MyKind + SingA :: Sing 'A + SingB :: Sing 'B FAMILY INSTANCES data instance Sing Dependent modules: [] diff --git a/testsuite/tests/partial-sigs/should_compile/Defaulting1MROn.stderr b/testsuite/tests/partial-sigs/should_compile/Defaulting1MROn.stderr index 99dec3df59..34107ee791 100644 --- a/testsuite/tests/partial-sigs/should_compile/Defaulting1MROn.stderr +++ b/testsuite/tests/partial-sigs/should_compile/Defaulting1MROn.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES alpha :: Integer -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/Defaulting2MROff.stderr b/testsuite/tests/partial-sigs/should_compile/Defaulting2MROff.stderr index 635823bc04..008a1fc5c5 100644 --- a/testsuite/tests/partial-sigs/should_compile/Defaulting2MROff.stderr +++ b/testsuite/tests/partial-sigs/should_compile/Defaulting2MROff.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES bravo :: forall w. Num w => w -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/Defaulting2MROn.stderr b/testsuite/tests/partial-sigs/should_compile/Defaulting2MROn.stderr index 635823bc04..008a1fc5c5 100644 --- a/testsuite/tests/partial-sigs/should_compile/Defaulting2MROn.stderr +++ b/testsuite/tests/partial-sigs/should_compile/Defaulting2MROn.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES bravo :: forall w. Num w => w -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/Either.stderr b/testsuite/tests/partial-sigs/should_compile/Either.stderr index a97a933fb4..86fe4a03b4 100644 --- a/testsuite/tests/partial-sigs/should_compile/Either.stderr +++ b/testsuite/tests/partial-sigs/should_compile/Either.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES barry :: forall w. w -> (Either [Char] w, Either [Char] w) -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/EqualityConstraint.stderr b/testsuite/tests/partial-sigs/should_compile/EqualityConstraint.stderr index 08b903e9d1..ea6cf34487 100644 --- a/testsuite/tests/partial-sigs/should_compile/EqualityConstraint.stderr +++ b/testsuite/tests/partial-sigs/should_compile/EqualityConstraint.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES foo :: forall a. (a ~ Bool) => (a, Bool) -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/Every.stderr b/testsuite/tests/partial-sigs/should_compile/Every.stderr index 900e9d98a3..bb09089aef 100644 --- a/testsuite/tests/partial-sigs/should_compile/Every.stderr +++ b/testsuite/tests/partial-sigs/should_compile/Every.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES every :: forall t. (t -> Bool) -> [t] -> Bool -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/EveryNamed.stderr b/testsuite/tests/partial-sigs/should_compile/EveryNamed.stderr index 037f0712ce..e6f8a9042c 100644 --- a/testsuite/tests/partial-sigs/should_compile/EveryNamed.stderr +++ b/testsuite/tests/partial-sigs/should_compile/EveryNamed.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES every :: forall w. (w -> Bool) -> [w] -> Bool -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/ExpressionSig.stderr b/testsuite/tests/partial-sigs/should_compile/ExpressionSig.stderr index 1993ae096e..3af6ead3fd 100644 --- a/testsuite/tests/partial-sigs/should_compile/ExpressionSig.stderr +++ b/testsuite/tests/partial-sigs/should_compile/ExpressionSig.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES bar :: Bool -> Bool -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/ExpressionSigNamed.stderr b/testsuite/tests/partial-sigs/should_compile/ExpressionSigNamed.stderr index 1993ae096e..3af6ead3fd 100644 --- a/testsuite/tests/partial-sigs/should_compile/ExpressionSigNamed.stderr +++ b/testsuite/tests/partial-sigs/should_compile/ExpressionSigNamed.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES bar :: Bool -> Bool -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/ExtraConstraints1.stderr b/testsuite/tests/partial-sigs/should_compile/ExtraConstraints1.stderr index d86d04741f..9fd86b8799 100644 --- a/testsuite/tests/partial-sigs/should_compile/ExtraConstraints1.stderr +++ b/testsuite/tests/partial-sigs/should_compile/ExtraConstraints1.stderr @@ -4,8 +4,6 @@ TYPE SIGNATURES arbitCs3 :: forall a. (Show a, Enum a, Eq a) => a -> String arbitCs4 :: forall a. (Eq a, Show a, Enum a) => a -> String arbitCs5 :: forall a. (Eq a, Enum a, Show a) => a -> String -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/ExtraConstraints2.stderr b/testsuite/tests/partial-sigs/should_compile/ExtraConstraints2.stderr index b4386838f8..830e504c59 100644 --- a/testsuite/tests/partial-sigs/should_compile/ExtraConstraints2.stderr +++ b/testsuite/tests/partial-sigs/should_compile/ExtraConstraints2.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES foo :: String -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/ExtraConstraints3.stderr b/testsuite/tests/partial-sigs/should_compile/ExtraConstraints3.stderr index 4a23e06d5b..c49b1a025b 100644 --- a/testsuite/tests/partial-sigs/should_compile/ExtraConstraints3.stderr +++ b/testsuite/tests/partial-sigs/should_compile/ExtraConstraints3.stderr @@ -227,8 +227,6 @@ TYPE SIGNATURES zipWith3 :: forall a b c d. (a -> b -> c -> d) -> [a] -> [b] -> [c] -> [d] || :: Bool -> Bool -> Bool -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/ExtraNumAMROff.stderr b/testsuite/tests/partial-sigs/should_compile/ExtraNumAMROff.stderr index a806a25ae5..9cf9ef9788 100644 --- a/testsuite/tests/partial-sigs/should_compile/ExtraNumAMROff.stderr +++ b/testsuite/tests/partial-sigs/should_compile/ExtraNumAMROff.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES foo :: forall a. Num a => a -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/ExtraNumAMROn.stderr b/testsuite/tests/partial-sigs/should_compile/ExtraNumAMROn.stderr index a806a25ae5..9cf9ef9788 100644 --- a/testsuite/tests/partial-sigs/should_compile/ExtraNumAMROn.stderr +++ b/testsuite/tests/partial-sigs/should_compile/ExtraNumAMROn.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES foo :: forall a. Num a => a -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/Forall1.stderr b/testsuite/tests/partial-sigs/should_compile/Forall1.stderr index 91ad39f869..aa01e67545 100644 --- a/testsuite/tests/partial-sigs/should_compile/Forall1.stderr +++ b/testsuite/tests/partial-sigs/should_compile/Forall1.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES fall :: forall a. a -> a -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/GenNamed.stderr b/testsuite/tests/partial-sigs/should_compile/GenNamed.stderr index 1993ae096e..3af6ead3fd 100644 --- a/testsuite/tests/partial-sigs/should_compile/GenNamed.stderr +++ b/testsuite/tests/partial-sigs/should_compile/GenNamed.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES bar :: Bool -> Bool -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/HigherRank1.stderr b/testsuite/tests/partial-sigs/should_compile/HigherRank1.stderr index aba15a1c08..6bd36960ff 100644 --- a/testsuite/tests/partial-sigs/should_compile/HigherRank1.stderr +++ b/testsuite/tests/partial-sigs/should_compile/HigherRank1.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES foo :: (forall a. [a] -> [a]) -> ([Bool], [Char]) -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/HigherRank2.stderr b/testsuite/tests/partial-sigs/should_compile/HigherRank2.stderr index aba15a1c08..6bd36960ff 100644 --- a/testsuite/tests/partial-sigs/should_compile/HigherRank2.stderr +++ b/testsuite/tests/partial-sigs/should_compile/HigherRank2.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES foo :: (forall a. [a] -> [a]) -> ([Bool], [Char]) -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/LocalDefinitionBug.stderr b/testsuite/tests/partial-sigs/should_compile/LocalDefinitionBug.stderr index 5cf1ad8de8..7106594a2e 100644 --- a/testsuite/tests/partial-sigs/should_compile/LocalDefinitionBug.stderr +++ b/testsuite/tests/partial-sigs/should_compile/LocalDefinitionBug.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES monoLoc :: forall a. a -> ((a, String), (a, String)) -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/Meltdown.stderr b/testsuite/tests/partial-sigs/should_compile/Meltdown.stderr index 752ee4d53e..750a951222 100644 --- a/testsuite/tests/partial-sigs/should_compile/Meltdown.stderr +++ b/testsuite/tests/partial-sigs/should_compile/Meltdown.stderr @@ -6,8 +6,7 @@ TYPE SIGNATURES TYPE CONSTRUCTORS type role NukeMonad phantom phantom phantom NukeMonad :: * -> * -> * -> * -COERCION AXIOMS -INSTANCES +CLASS INSTANCES instance Functor (NukeMonad a b) -- Defined at Meltdown.hs:8:10 instance Applicative (NukeMonad a b) -- Defined at Meltdown.hs:11:10 diff --git a/testsuite/tests/partial-sigs/should_compile/MonoLocalBinds.stderr b/testsuite/tests/partial-sigs/should_compile/MonoLocalBinds.stderr index 5cf1ad8de8..7106594a2e 100644 --- a/testsuite/tests/partial-sigs/should_compile/MonoLocalBinds.stderr +++ b/testsuite/tests/partial-sigs/should_compile/MonoLocalBinds.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES monoLoc :: forall a. a -> ((a, String), (a, String)) -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/NamedTyVar.stderr b/testsuite/tests/partial-sigs/should_compile/NamedTyVar.stderr index 68ae22633b..8d6d3e5f01 100644 --- a/testsuite/tests/partial-sigs/should_compile/NamedTyVar.stderr +++ b/testsuite/tests/partial-sigs/should_compile/NamedTyVar.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES foo :: forall b a. (a, b) -> (a, b) -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/NamedWildcardInDataFamilyInstanceLHS.stderr b/testsuite/tests/partial-sigs/should_compile/NamedWildcardInDataFamilyInstanceLHS.stderr index 1c8a89ac04..a075b34ea4 100644 --- a/testsuite/tests/partial-sigs/should_compile/NamedWildcardInDataFamilyInstanceLHS.stderr +++ b/testsuite/tests/partial-sigs/should_compile/NamedWildcardInDataFamilyInstanceLHS.stderr @@ -1,14 +1,3 @@ -TYPE SIGNATURES - NamedWildcardInDataFamilyInstanceLHS.A :: MyKind - NamedWildcardInDataFamilyInstanceLHS.B :: MyKind - NamedWildcardInDataFamilyInstanceLHS.SingA :: - forall (_a :: MyKind). - (_a ~ 'A) => - NamedWildcardInDataFamilyInstanceLHS.R:SingMyKind_a _a - NamedWildcardInDataFamilyInstanceLHS.SingB :: - forall (_a :: MyKind). - (_a ~ 'B) => - NamedWildcardInDataFamilyInstanceLHS.R:SingMyKind_a _a TYPE CONSTRUCTORS MyKind :: * type role Sing nominal nominal @@ -17,6 +6,11 @@ COERCION AXIOMS axiom NamedWildcardInDataFamilyInstanceLHS.D:R:SingMyKind_a0 :: Sing _a = NamedWildcardInDataFamilyInstanceLHS.R:SingMyKind_a -- Defined at NamedWildcardInDataFamilyInstanceLHS.hs:8:15 +DATA CONSTRUCTORS + A :: MyKind + B :: MyKind + SingA :: Sing 'A + SingB :: Sing 'B FAMILY INSTANCES data instance Sing Dependent modules: [] diff --git a/testsuite/tests/partial-sigs/should_compile/NamedWildcardInTypeFamilyInstanceLHS.stderr b/testsuite/tests/partial-sigs/should_compile/NamedWildcardInTypeFamilyInstanceLHS.stderr index bb3720ab0d..0554f0a6e7 100644 --- a/testsuite/tests/partial-sigs/should_compile/NamedWildcardInTypeFamilyInstanceLHS.stderr +++ b/testsuite/tests/partial-sigs/should_compile/NamedWildcardInTypeFamilyInstanceLHS.stderr @@ -1,4 +1,3 @@ -TYPE SIGNATURES TYPE CONSTRUCTORS type role F nominal F :: * -> * diff --git a/testsuite/tests/partial-sigs/should_compile/ParensAroundContext.stderr b/testsuite/tests/partial-sigs/should_compile/ParensAroundContext.stderr index 2c61b5465f..e2656ddbed 100644 --- a/testsuite/tests/partial-sigs/should_compile/ParensAroundContext.stderr +++ b/testsuite/tests/partial-sigs/should_compile/ParensAroundContext.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES f :: forall a. Eq a => a -> a -> Bool -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/PatBind.stderr b/testsuite/tests/partial-sigs/should_compile/PatBind.stderr index a784c73f1f..2db0bebac0 100644 --- a/testsuite/tests/partial-sigs/should_compile/PatBind.stderr +++ b/testsuite/tests/partial-sigs/should_compile/PatBind.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES foo :: forall a. a -> a -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/PatBind2.stderr b/testsuite/tests/partial-sigs/should_compile/PatBind2.stderr index 43d7d12bdb..5748b126f2 100644 --- a/testsuite/tests/partial-sigs/should_compile/PatBind2.stderr +++ b/testsuite/tests/partial-sigs/should_compile/PatBind2.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES foo :: Bool -> Bool -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/PatternSig.stderr b/testsuite/tests/partial-sigs/should_compile/PatternSig.stderr index 1993ae096e..3af6ead3fd 100644 --- a/testsuite/tests/partial-sigs/should_compile/PatternSig.stderr +++ b/testsuite/tests/partial-sigs/should_compile/PatternSig.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES bar :: Bool -> Bool -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/Recursive.stderr b/testsuite/tests/partial-sigs/should_compile/Recursive.stderr index 579c554cf7..8f8f123d20 100644 --- a/testsuite/tests/partial-sigs/should_compile/Recursive.stderr +++ b/testsuite/tests/partial-sigs/should_compile/Recursive.stderr @@ -2,8 +2,6 @@ TYPE SIGNATURES f :: Bool g :: Bool orr :: forall a. a -> a -> a -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/ScopedNamedWildcards.stderr b/testsuite/tests/partial-sigs/should_compile/ScopedNamedWildcards.stderr index dad0d43f66..08bf6500c6 100644 --- a/testsuite/tests/partial-sigs/should_compile/ScopedNamedWildcards.stderr +++ b/testsuite/tests/partial-sigs/should_compile/ScopedNamedWildcards.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES test3 :: Bool -> Bool -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/ScopedNamedWildcardsGood.stderr b/testsuite/tests/partial-sigs/should_compile/ScopedNamedWildcardsGood.stderr index 41d2b9380e..bacfd16ac5 100644 --- a/testsuite/tests/partial-sigs/should_compile/ScopedNamedWildcardsGood.stderr +++ b/testsuite/tests/partial-sigs/should_compile/ScopedNamedWildcardsGood.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES foo :: Bool -> Char -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/ShowNamed.stderr b/testsuite/tests/partial-sigs/should_compile/ShowNamed.stderr index 5d4b15d954..9ec0a0bfc1 100644 --- a/testsuite/tests/partial-sigs/should_compile/ShowNamed.stderr +++ b/testsuite/tests/partial-sigs/should_compile/ShowNamed.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES showTwo :: forall a. Show a => a -> String -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/SimpleGen.stderr b/testsuite/tests/partial-sigs/should_compile/SimpleGen.stderr index 59ce087640..bae5060aab 100644 --- a/testsuite/tests/partial-sigs/should_compile/SimpleGen.stderr +++ b/testsuite/tests/partial-sigs/should_compile/SimpleGen.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES bar :: forall w. w -> Bool -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/SkipMany.stderr b/testsuite/tests/partial-sigs/should_compile/SkipMany.stderr index 3508652186..a821a6970a 100644 --- a/testsuite/tests/partial-sigs/should_compile/SkipMany.stderr +++ b/testsuite/tests/partial-sigs/should_compile/SkipMany.stderr @@ -1,13 +1,12 @@ TYPE SIGNATURES - SkipMany.GenParser :: - forall tok st a. tok -> st -> a -> GenParser tok st a skipMany :: forall tok st a. GenParser tok st a -> GenParser tok st () skipMany' :: forall tok st a. GenParser tok st a -> GenParser tok st () TYPE CONSTRUCTORS GenParser :: * -> * -> * -> * -COERCION AXIOMS +DATA CONSTRUCTORS + GenParser :: forall tok st a. tok -> st -> a -> GenParser tok st a Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/SomethingShowable.stderr b/testsuite/tests/partial-sigs/should_compile/SomethingShowable.stderr index 262b76d60a..dd83b62933 100644 --- a/testsuite/tests/partial-sigs/should_compile/SomethingShowable.stderr +++ b/testsuite/tests/partial-sigs/should_compile/SomethingShowable.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES somethingShowable :: Show Bool => Bool -> String -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/Uncurry.stderr b/testsuite/tests/partial-sigs/should_compile/Uncurry.stderr index c8c7a80962..b9816b9339 100644 --- a/testsuite/tests/partial-sigs/should_compile/Uncurry.stderr +++ b/testsuite/tests/partial-sigs/should_compile/Uncurry.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES unc :: forall w1 w2 w3. (w1 -> w2 -> w3) -> (w1, w2) -> w3 -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/UncurryNamed.stderr b/testsuite/tests/partial-sigs/should_compile/UncurryNamed.stderr index bdeacf3287..f04dfbb0e9 100644 --- a/testsuite/tests/partial-sigs/should_compile/UncurryNamed.stderr +++ b/testsuite/tests/partial-sigs/should_compile/UncurryNamed.stderr @@ -1,7 +1,5 @@ TYPE SIGNATURES unc :: forall a b w. (a -> b -> w) -> (a, b) -> w -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/partial-sigs/should_compile/WarningWildcardInstantiations.stderr b/testsuite/tests/partial-sigs/should_compile/WarningWildcardInstantiations.stderr index 26ace3144b..2c891dc69d 100644 --- a/testsuite/tests/partial-sigs/should_compile/WarningWildcardInstantiations.stderr +++ b/testsuite/tests/partial-sigs/should_compile/WarningWildcardInstantiations.stderr @@ -1,8 +1,6 @@ TYPE SIGNATURES bar :: forall t w. t -> (t -> w) -> w foo :: forall a. (Show a, Enum a) => a -> String -TYPE CONSTRUCTORS -COERCION AXIOMS Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/polykinds/T15592.stderr b/testsuite/tests/polykinds/T15592.stderr index 71dc3b20b3..c1b823e738 100644 --- a/testsuite/tests/polykinds/T15592.stderr +++ b/testsuite/tests/polykinds/T15592.stderr @@ -1,11 +1,9 @@ -TYPE SIGNATURES - T15592.MkT :: - forall {k} k1 (f :: k1 -> k -> *) (a :: k1) (b :: k). - f a b -> T f a b -> T f a b TYPE CONSTRUCTORS type role T nominal nominal representational nominal nominal T :: forall {k} k1. (k1 -> k -> *) -> k1 -> k -> * -COERCION AXIOMS +DATA CONSTRUCTORS + MkT :: forall {k} k1 (f :: k1 -> k -> *) (a :: k1) (b :: k). + f a b -> T f a b -> T f a b Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/roles/should_compile/Roles1.stderr b/testsuite/tests/roles/should_compile/Roles1.stderr index e11b454f99..3278701048 100644 --- a/testsuite/tests/roles/should_compile/Roles1.stderr +++ b/testsuite/tests/roles/should_compile/Roles1.stderr @@ -1,11 +1,3 @@ -TYPE SIGNATURES - Roles1.K1 :: forall a. a -> T1 a - Roles1.K2 :: forall a. a -> T2 a - Roles1.K3 :: forall k (a :: k). T3 a - Roles1.K4 :: forall (a :: * -> *) b. a b -> T4 a b - Roles1.K5 :: forall a. a -> T5 a - Roles1.K6 :: forall {k} (a :: k). T6 a - Roles1.K7 :: forall {k} (a :: k) b. b -> T7 a b TYPE CONSTRUCTORS type role T1 nominal T1 :: * -> * @@ -19,7 +11,14 @@ TYPE CONSTRUCTORS T6 :: forall {k}. k -> * type role T7 nominal phantom representational T7 :: forall {k}. k -> * -> * -COERCION AXIOMS +DATA CONSTRUCTORS + K7 :: forall {k} (a :: k) b. b -> T7 a b + K6 :: forall {k} (a :: k). T6 a + K5 :: forall a. a -> T5 a + K4 :: forall (a :: * -> *) b. a b -> T4 a b + K3 :: forall k (a :: k). T3 a + K2 :: forall a. a -> T2 a + K1 :: forall a. a -> T1 a Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/roles/should_compile/Roles2.stderr b/testsuite/tests/roles/should_compile/Roles2.stderr index 81cf221fbd..4cb55ec063 100644 --- a/testsuite/tests/roles/should_compile/Roles2.stderr +++ b/testsuite/tests/roles/should_compile/Roles2.stderr @@ -1,11 +1,10 @@ -TYPE SIGNATURES - Roles2.K1 :: forall a. IO a -> T1 a - Roles2.K2 :: forall a. FunPtr a -> T2 a TYPE CONSTRUCTORS T1 :: * -> * type role T2 phantom T2 :: * -> * -COERCION AXIOMS +DATA CONSTRUCTORS + K2 :: forall a. FunPtr a -> T2 a + K1 :: forall a. IO a -> T1 a Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] diff --git a/testsuite/tests/roles/should_compile/T8958.stderr b/testsuite/tests/roles/should_compile/T8958.stderr index 55a6303b64..eaad63859d 100644 --- a/testsuite/tests/roles/should_compile/T8958.stderr +++ b/testsuite/tests/roles/should_compile/T8958.stderr @@ -1,8 +1,6 @@ T8958.hs:1:31: warning: -XDatatypeContexts is deprecated: It was widely considered a misfeature, and has been removed from the Haskell language. -TYPE SIGNATURES - T8958.MkMap :: forall k v. [(k, v)] -> Map k v TYPE CONSTRUCTORS type role Map nominal representational Map :: * -> * -> * @@ -11,7 +9,9 @@ TYPE CONSTRUCTORS Representational :: * -> Constraint COERCION AXIOMS axiom T8958.N:Map :: Map k v = [(k, v)] -- Defined at T8958.hs:13:1 -INSTANCES +DATA CONSTRUCTORS + MkMap :: forall k v. [(k, v)] -> Map k v +CLASS INSTANCES instance [incoherent] Representational a -- Defined at T8958.hs:10:10 instance [incoherent] Nominal a -- Defined at T8958.hs:7:10 diff --git a/testsuite/tests/th/TH_Roles2.stderr b/testsuite/tests/th/TH_Roles2.stderr index 9112faf66f..3752e8c96a 100644 --- a/testsuite/tests/th/TH_Roles2.stderr +++ b/testsuite/tests/th/TH_Roles2.stderr @@ -1,8 +1,6 @@ -TYPE SIGNATURES TYPE CONSTRUCTORS type role T nominal representational T :: forall k. k -> * -COERCION AXIOMS Dependent modules: [] Dependent packages: [array-0.5.2.0, base-4.12.0.0, deepseq-1.4.4.0, ghc-boot-th-8.7, ghc-prim-0.5.3, integer-gmp-1.0.2.0, diff --git a/testsuite/tests/typecheck/should_compile/T12763.stderr b/testsuite/tests/typecheck/should_compile/T12763.stderr index c2c09d5214..ad3460c2da 100644 --- a/testsuite/tests/typecheck/should_compile/T12763.stderr +++ b/testsuite/tests/typecheck/should_compile/T12763.stderr @@ -5,7 +5,7 @@ TYPE CONSTRUCTORS C :: * -> Constraint COERCION AXIOMS axiom T12763.N:C :: C a = a -> () -- Defined at T12763.hs:6:1 -INSTANCES +CLASS INSTANCES instance C Int -- Defined at T12763.hs:9:10 Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, diff --git a/testsuite/tests/typecheck/should_compile/tc231.stderr b/testsuite/tests/typecheck/should_compile/tc231.stderr index 10128debbe..6c785b4a40 100644 --- a/testsuite/tests/typecheck/should_compile/tc231.stderr +++ b/testsuite/tests/typecheck/should_compile/tc231.stderr @@ -1,6 +1,4 @@ TYPE SIGNATURES - Node :: forall s a chain. s -> a -> chain -> Q s a chain - Z :: forall a. a -> Z a foo :: forall s b chain. Zork s (Z [Char]) b => @@ -15,6 +13,9 @@ COERCION AXIOMS axiom N:Zork :: Zork s a b = forall chain. Q s a chain -> ST s () -- Defined at tc231.hs:25:1 +DATA CONSTRUCTORS + Z :: forall a. a -> Z a + Node :: forall s a chain. s -> a -> chain -> Q s a chain Dependent modules: [] Dependent packages: [base-4.12.0.0, ghc-prim-0.5.3, integer-gmp-1.0.2.0] |