Fix #15423 by using pprAStmtContext
authorRyan Scott <ryan.gl.scott@gmail.com>
Fri, 20 Jul 2018 10:50:50 +0000 (12:50 +0200)
committerKrzysztof Gogolewski <krz.gogolewski@gmail.com>
Fri, 20 Jul 2018 10:50:50 +0000 (12:50 +0200)
Summary:
Previously, we were using `pprStmtContext` instead, which
led to error messages missing indefinite articles where they were
required.

Test Plan: make test TEST="T13242a T7786 Typeable1"

Reviewers: bgamari

Subscribers: rwbarton, thomie, carter

GHC Trac Issues: #15423

Differential Revision: https://phabricator.haskell.org/D4992

compiler/hsSyn/HsExpr.hs
testsuite/tests/ado/T13242a.stderr
testsuite/tests/indexed-types/should_fail/T7786.stderr
testsuite/tests/typecheck/should_run/Typeable1.stderr

index 96d86c8..a5c65fb 100644 (file)
@@ -2804,7 +2804,7 @@ pprMatchContextNoun PatBindGuards   = text "pattern binding guards"
 pprMatchContextNoun LambdaExpr      = text "lambda abstraction"
 pprMatchContextNoun ProcExpr        = text "arrow abstraction"
 pprMatchContextNoun (StmtCtxt ctxt) = text "pattern binding in"
-                                      $$ pprStmtContext ctxt
+                                      $$ pprAStmtContext ctxt
 pprMatchContextNoun PatSyn          = text "pattern synonym declaration"
 
 -----------------
index a8e6495..f31307d 100644 (file)
@@ -4,7 +4,7 @@ T13242a.hs:10:5: error:
       ‘a’ is a rigid type variable bound by
         a pattern with constructor: A :: forall a. Eq a => a -> T,
         in a pattern binding in
-             'do' block
+             'do' block
         at T13242a.hs:10:3-5
     • In the expression:
         do A x <- undefined
index af9ca89..a82a1ca 100644 (file)
@@ -30,7 +30,7 @@ T7786.hs:97:31: error:
       from the context: xxx ~ 'Empty
         bound by a pattern with constructor: Nil :: forall a. Sing 'Empty,
                  in a pattern binding in
-                      'do' block
+                      'do' block
         at T7786.hs:96:22-24
     • In the second argument of ‘($)’, namely ‘Sub db k sub’
       In a stmt of a 'do' block: return $ Sub db k sub
index 77d2604..ec16681 100644 (file)
@@ -9,7 +9,7 @@ Typeable1.hs:22:5: error: [-Winaccessible-code (in -Wdefault), -Werror=inaccessi
                  (t ~ a b) =>
                  TypeRep a -> TypeRep b -> TypeRep t,
         in a pattern binding in
-             'do' block
+             'do' block
     • In the pattern: App x y
       In a stmt of a 'do' block: App x y <- pure x
       In the expression: