From 075d66c8b8ad7b9a9fbb962d4ac0049961695395 Mon Sep 17 00:00:00 2001 From: Vladislav Zavialov Date: Wed, 30 Sep 2020 09:24:39 +0300 Subject: Fix pretty-printing of the mult-polymorphic arrow A follow-up to !4020 (5830a12c46e7227c276a8a71213057595ee4fc04) --- compiler/GHC/Utils/Outputable.hs | 2 +- testsuite/tests/linear/should_fail/LinearErrOrigin.stderr | 8 ++++---- testsuite/tests/linear/should_fail/LinearPartialSig.stderr | 4 ++-- testsuite/tests/linear/should_fail/LinearVar.stderr | 6 +++--- testsuite/tests/roles/should_compile/Roles13.stderr | 2 +- testsuite/tests/simplCore/should_compile/T4201.stdout | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/compiler/GHC/Utils/Outputable.hs b/compiler/GHC/Utils/Outputable.hs index 6dd5b88fbb..025f2bdae9 100644 --- a/compiler/GHC/Utils/Outputable.hs +++ b/compiler/GHC/Utils/Outputable.hs @@ -677,7 +677,7 @@ lbrace = docToSDoc $ Pretty.lbrace rbrace = docToSDoc $ Pretty.rbrace mulArrow :: SDoc -> SDoc -mulArrow d = text "#" <+> d <+> arrow +mulArrow d = text "%" <> d <+> arrow forAllLit :: SDoc diff --git a/testsuite/tests/linear/should_fail/LinearErrOrigin.stderr b/testsuite/tests/linear/should_fail/LinearErrOrigin.stderr index 02dc7216db..7bd7222618 100644 --- a/testsuite/tests/linear/should_fail/LinearErrOrigin.stderr +++ b/testsuite/tests/linear/should_fail/LinearErrOrigin.stderr @@ -5,15 +5,15 @@ LinearErrOrigin.hs:7:7: error: the type signature for: foo :: forall a b (p :: GHC.Types.Multiplicity) (q :: GHC.Types.Multiplicity). - (a # p -> b) -> a # q -> b + (a %p -> b) -> a %q -> b at LinearErrOrigin.hs:6:1-31 ‘q’ is a rigid type variable bound by the type signature for: foo :: forall a b (p :: GHC.Types.Multiplicity) (q :: GHC.Types.Multiplicity). - (a # p -> b) -> a # q -> b + (a %p -> b) -> a %q -> b at LinearErrOrigin.hs:6:1-31 • In an equation for ‘foo’: foo f x = f x • Relevant bindings include - f :: a # p -> b (bound at LinearErrOrigin.hs:7:5) - foo :: (a # p -> b) -> a # q -> b (bound at LinearErrOrigin.hs:7:1) + f :: a %p -> b (bound at LinearErrOrigin.hs:7:5) + foo :: (a %p -> b) -> a %q -> b (bound at LinearErrOrigin.hs:7:1) diff --git a/testsuite/tests/linear/should_fail/LinearPartialSig.stderr b/testsuite/tests/linear/should_fail/LinearPartialSig.stderr index 704fcb258c..cc302ec4b6 100644 --- a/testsuite/tests/linear/should_fail/LinearPartialSig.stderr +++ b/testsuite/tests/linear/should_fail/LinearPartialSig.stderr @@ -3,5 +3,5 @@ LinearPartialSig.hs:5:9: error: • Found type wildcard ‘_’ standing for ‘'Many :: GHC.Types.Multiplicity’ To use the inferred type, enable PartialTypeSignatures - • In the type ‘a # _ -> a’ - In the type signature: f :: a # _ -> a + • In the type ‘a %_ -> a’ + In the type signature: f :: a %_ -> a diff --git a/testsuite/tests/linear/should_fail/LinearVar.stderr b/testsuite/tests/linear/should_fail/LinearVar.stderr index cdbb4de1c9..85a9cff899 100644 --- a/testsuite/tests/linear/should_fail/LinearVar.stderr +++ b/testsuite/tests/linear/should_fail/LinearVar.stderr @@ -1,13 +1,13 @@ LinearVar.hs:5:5: error: • Couldn't match type ‘m’ with ‘'Many’ - Expected: a # m -> b + Expected: a %m -> b Actual: a -> b ‘m’ is a rigid type variable bound by the type signature for: - f :: forall a b (m :: GHC.Types.Multiplicity). a # m -> b + f :: forall a b (m :: GHC.Types.Multiplicity). a %m -> b at LinearVar.hs:4:1-14 • In the expression: undefined :: a -> b In an equation for ‘f’: f = undefined :: a -> b • Relevant bindings include - f :: a # m -> b (bound at LinearVar.hs:5:1) + f :: a %m -> b (bound at LinearVar.hs:5:1) diff --git a/testsuite/tests/roles/should_compile/Roles13.stderr b/testsuite/tests/roles/should_compile/Roles13.stderr index 8b55b600a5..1a5a04b37f 100644 --- a/testsuite/tests/roles/should_compile/Roles13.stderr +++ b/testsuite/tests/roles/should_compile/Roles13.stderr @@ -14,7 +14,7 @@ convert :: Wrap Age -> Int convert = convert1 `cast` (_R - # <'Many>_N ->_R Roles13.N:Wrap[0] (Roles13.N:Age[0]) + %<'Many>_N ->_R Roles13.N:Wrap[0] (Roles13.N:Age[0]) :: (Wrap Age -> Wrap Age) ~R# (Wrap Age -> Int)) -- RHS size: {terms: 1, types: 0, coercions: 0, joins: 0/0} diff --git a/testsuite/tests/simplCore/should_compile/T4201.stdout b/testsuite/tests/simplCore/should_compile/T4201.stdout index 14c7c957de..d6c3879899 100644 --- a/testsuite/tests/simplCore/should_compile/T4201.stdout +++ b/testsuite/tests/simplCore/should_compile/T4201.stdout @@ -1,4 +1,4 @@ [HasNoCafRefs, LambdaFormInfo: LFReEntrant 1, Arity: 1, Strictness: , Unfolding: InlineRule (0, True, True) - bof `cast` (Sym (N:Foo[0]) # <'Many>_N ->_R _R)] + bof `cast` (Sym (N:Foo[0]) %<'Many>_N ->_R _R)] -- cgit v1.2.1