From a5e9da8feb5110ab8ee8fe3821e6b6d53946f983 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=96mer=20Sinan=20A=C4=9Facan?= Date: Fri, 17 Jul 2015 00:06:28 +0200 Subject: Fix off-by-one error in GHCi line reporting (Trac #10578) Test Plan: I couldn't add tests because apparently line number reporting was already working correctly when loading script files. I don't know how to test by running commands using stdin, is this supported? Reviewers: austin, thomie, bgamari Reviewed By: thomie, bgamari Subscribers: hvr, thomie Differential Revision: https://phabricator.haskell.org/D1067 --- ghc/InteractiveUI.hs | 9 +++++--- .../tests/ghci.debugger/scripts/break003.stderr | 2 +- .../tests/ghci.debugger/scripts/break006.stderr | 8 ++++---- .../tests/ghci.debugger/scripts/print019.stderr | 4 ++-- testsuite/tests/ghci/prog009/ghci.prog009.stderr | 2 +- testsuite/tests/ghci/prog013/prog013.stderr | 2 +- testsuite/tests/ghci/scripts/Defer02.stderr | 4 ++-- testsuite/tests/ghci/scripts/T10248.stderr | 4 ++-- testsuite/tests/ghci/scripts/T2182ghci.stderr | 10 ++++----- testsuite/tests/ghci/scripts/T2182ghci2.stderr | 4 ++-- testsuite/tests/ghci/scripts/T2816.stderr | 2 +- testsuite/tests/ghci/scripts/T4127a.stderr | 6 +++--- testsuite/tests/ghci/scripts/T5564.stderr | 8 ++++---- testsuite/tests/ghci/scripts/T6027ghci.stdout | 2 +- testsuite/tests/ghci/scripts/T7730.stdout | 4 ++-- testsuite/tests/ghci/scripts/T7872.stdout | 4 ++-- testsuite/tests/ghci/scripts/T7873.stdout | 4 ++-- testsuite/tests/ghci/scripts/T8485.stderr | 2 +- testsuite/tests/ghci/scripts/T8579.stdout | 4 ++-- testsuite/tests/ghci/scripts/T8649.stderr | 6 +++--- testsuite/tests/ghci/scripts/T8959.stderr | 6 +++--- testsuite/tests/ghci/scripts/T9140.stdout | 4 ++-- testsuite/tests/ghci/scripts/T9293.stderr | 2 +- testsuite/tests/ghci/scripts/ghci012.stdout | 2 +- testsuite/tests/ghci/scripts/ghci040.stdout | 2 +- testsuite/tests/ghci/scripts/ghci041.stdout | 2 +- testsuite/tests/ghci/scripts/ghci042.stdout | 10 ++++----- testsuite/tests/ghci/scripts/ghci044.stderr | 6 +++--- testsuite/tests/ghci/scripts/ghci047.stderr | 4 ++-- testsuite/tests/ghci/scripts/ghci048.stderr | 12 +++++------ testsuite/tests/ghci/scripts/ghci050.stderr | 10 ++++----- testsuite/tests/ghci/scripts/ghci051.stderr | 6 +++--- testsuite/tests/ghci/scripts/ghci051.stdout | 18 ++++++++-------- testsuite/tests/ghci/scripts/ghci052.stderr | 24 +++++++++++----------- testsuite/tests/ghci/scripts/ghci053.stderr | 12 +++++------ testsuite/tests/ghci/scripts/ghci057.stderr | 2 +- testsuite/tests/ghci/should_run/T9914.stdout | 4 ++-- testsuite/tests/ghci/should_run/T9915.stderr | 2 +- testsuite/tests/patsyn/should_run/ghci.stderr | 2 +- testsuite/tests/patsyn/should_run/ghci.stdout | 2 +- testsuite/tests/safeHaskell/ghci/p10.stderr | 2 +- testsuite/tests/safeHaskell/ghci/p13.stderr | 4 ++-- testsuite/tests/safeHaskell/ghci/p14.stderr | 2 +- testsuite/tests/safeHaskell/ghci/p16.stderr | 8 ++++---- testsuite/tests/safeHaskell/ghci/p4.stderr | 6 +++--- testsuite/tests/safeHaskell/ghci/p6.stderr | 6 +++--- testsuite/tests/safeHaskell/ghci/p9.stderr | 2 +- testsuite/tests/th/T7276a.stdout | 4 ++-- 48 files changed, 130 insertions(+), 127 deletions(-) diff --git a/ghc/InteractiveUI.hs b/ghc/InteractiveUI.hs index cd58fc2fff..d834523cff 100644 --- a/ghc/InteractiveUI.hs +++ b/ghc/InteractiveUI.hs @@ -424,7 +424,10 @@ interactiveUI config srcs maybe_exprs = do stop = default_stop, editor = default_editor, options = [], - line_number = 1, + -- We initialize line number as 0, not 1, because we use + -- current line number while reporting errors which is + -- incremented after reading a line. + line_number = 0, break_ctr = 0, breaks = [], tickarrays = emptyModuleEnv, @@ -536,7 +539,7 @@ runGHCi paths maybe_exprs = do let show_prompt = verbosity dflags > 0 || is_tty -- reset line number - modifyGHCiState $ \st -> st{line_number=1} + modifyGHCiState $ \st -> st{line_number=0} case maybe_exprs of Nothing -> @@ -745,7 +748,7 @@ runCommands' eh sourceErrorHandler gCmd = gmask $ \unmask -> do case b of Nothing -> return Nothing Just success -> do - when (not success) $ maybe (return ()) lift sourceErrorHandler + unless success $ maybe (return ()) lift sourceErrorHandler unmask $ runCommands' eh sourceErrorHandler gCmd -- | Evaluate a single line of user input (either : or Haskell code). diff --git a/testsuite/tests/ghci.debugger/scripts/break003.stderr b/testsuite/tests/ghci.debugger/scripts/break003.stderr index 00d4237e49..bf3d2ef5a4 100644 --- a/testsuite/tests/ghci.debugger/scripts/break003.stderr +++ b/testsuite/tests/ghci.debugger/scripts/break003.stderr @@ -1,5 +1,5 @@ -:5:1: error: +:4:1: error: No instance for (Show (t -> t1)) arising from a use of ‘print’ (maybe you haven't applied a function to enough arguments?) In a stmt of an interactive GHCi command: print it diff --git a/testsuite/tests/ghci.debugger/scripts/break006.stderr b/testsuite/tests/ghci.debugger/scripts/break006.stderr index 8a90905260..9822dd785b 100644 --- a/testsuite/tests/ghci.debugger/scripts/break006.stderr +++ b/testsuite/tests/ghci.debugger/scripts/break006.stderr @@ -1,9 +1,9 @@ -:6:1: +:5:1: No instance for (Show t1) arising from a use of ‘print’ Cannot resolve unknown runtime type ‘t1’ Use :print or :force to determine these types - Relevant bindings include it :: t1 (bound at :6:1) + Relevant bindings include it :: t1 (bound at :5:1) Note: there are several potential instances: instance (Show a, Show b) => Show (Either a b) -- Defined in ‘Data.Either’ @@ -15,11 +15,11 @@ ...plus 33 others In a stmt of an interactive GHCi command: print it -:8:1: +:7:1: No instance for (Show t1) arising from a use of ‘print’ Cannot resolve unknown runtime type ‘t1’ Use :print or :force to determine these types - Relevant bindings include it :: t1 (bound at :8:1) + Relevant bindings include it :: t1 (bound at :7:1) Note: there are several potential instances: instance (Show a, Show b) => Show (Either a b) -- Defined in ‘Data.Either’ diff --git a/testsuite/tests/ghci.debugger/scripts/print019.stderr b/testsuite/tests/ghci.debugger/scripts/print019.stderr index 0c92dba4e4..15c9f839db 100644 --- a/testsuite/tests/ghci.debugger/scripts/print019.stderr +++ b/testsuite/tests/ghci.debugger/scripts/print019.stderr @@ -1,9 +1,9 @@ -:11:1: +:10:1: No instance for (Show a1) arising from a use of ‘print’ Cannot resolve unknown runtime type ‘a1’ Use :print or :force to determine these types - Relevant bindings include it :: a1 (bound at :11:1) + Relevant bindings include it :: a1 (bound at :10:1) Note: there are several potential instances: instance Show TyCon -- Defined in ‘Data.Typeable.Internal’ instance Show TypeRep -- Defined in ‘Data.Typeable.Internal’ diff --git a/testsuite/tests/ghci/prog009/ghci.prog009.stderr b/testsuite/tests/ghci/prog009/ghci.prog009.stderr index 2ad634d746..b2072f6413 100644 --- a/testsuite/tests/ghci/prog009/ghci.prog009.stderr +++ b/testsuite/tests/ghci/prog009/ghci.prog009.stderr @@ -1,7 +1,7 @@ A.hs:1:16: error: parse error on input ‘where’ -:26:1: error: +:25:1: error: Variable not in scope: yan Perhaps you meant ‘tan’ (imported from Prelude) diff --git a/testsuite/tests/ghci/prog013/prog013.stderr b/testsuite/tests/ghci/prog013/prog013.stderr index ce8827f6ca..a1b5651c9e 100644 --- a/testsuite/tests/ghci/prog013/prog013.stderr +++ b/testsuite/tests/ghci/prog013/prog013.stderr @@ -8,7 +8,7 @@ Bad.hs:3:8: error: Bad.hs:3:8: error: lexical error in string/character literal at character '\n' -:10:1: error: parse error on input ‘+’ +:9:1: error: parse error on input ‘+’ Bad.hs:3:8: error: lexical error in string/character literal at character '\n' diff --git a/testsuite/tests/ghci/scripts/Defer02.stderr b/testsuite/tests/ghci/scripts/Defer02.stderr index b5b3373489..4a92236b38 100644 --- a/testsuite/tests/ghci/scripts/Defer02.stderr +++ b/testsuite/tests/ghci/scripts/Defer02.stderr @@ -128,7 +128,7 @@ In an equation for ‘b’: b x = x == x (deferred type error) -:8:11: error: +:7:11: error: Couldn't match type ‘Bool’ with ‘Int’ Expected type: C Int Actual type: C Bool @@ -175,7 +175,7 @@ In an equation for ‘j’: j = myOp 23 (deferred type error) -:14:8: error: +:13:8: error: Couldn't match expected type ‘Bool’ with actual type ‘Int’ In the first argument of ‘print’, namely ‘(k 2)’ In the expression: print (k 2) diff --git a/testsuite/tests/ghci/scripts/T10248.stderr b/testsuite/tests/ghci/scripts/T10248.stderr index b54412ebc8..59b0b29078 100644 --- a/testsuite/tests/ghci/scripts/T10248.stderr +++ b/testsuite/tests/ghci/scripts/T10248.stderr @@ -1,12 +1,12 @@ -:3:10: warning: +:2:10: warning: Found hole: _ :: IO () In the second argument of ‘(<$>)’, namely ‘_’ In the first argument of ‘ghciStepIO :: IO a -> IO a’, namely ‘Just <$> _’ In a stmt of an interactive GHCi command: it <- ghciStepIO :: IO a -> IO a (Just <$> _) -*** Exception: :3:10: error: +*** Exception: :2:10: error: Found hole: _ :: IO () In the second argument of ‘(<$>)’, namely ‘_’ In the first argument of ‘ghciStepIO :: IO a -> IO a’, namely diff --git a/testsuite/tests/ghci/scripts/T2182ghci.stderr b/testsuite/tests/ghci/scripts/T2182ghci.stderr index 470e72945d..f5eafdfc88 100644 --- a/testsuite/tests/ghci/scripts/T2182ghci.stderr +++ b/testsuite/tests/ghci/scripts/T2182ghci.stderr @@ -1,25 +1,25 @@ -:3:1: error: +:2:1: error: No instance for (Show (t0 -> t0)) arising from a use of ‘print’ (maybe you haven't applied a function to enough arguments?) In a stmt of an interactive GHCi command: print it -:11:1: error: +:10:1: error: No instance for (Show (t0 -> t0)) arising from a use of ‘print’ (maybe you haven't applied a function to enough arguments?) In a stmt of an interactive GHCi command: print it -:20:1: error: +:19:1: error: No instance for (Show (t0 -> t0)) arising from a use of ‘print’ (maybe you haven't applied a function to enough arguments?) In a stmt of an interactive GHCi command: print it -:29:1: error: +:28:1: error: No instance for (Show (t0 -> t0)) arising from a use of ‘print’ (maybe you haven't applied a function to enough arguments?) In a stmt of an interactive GHCi command: print it -:50:1: error: +:49:1: error: No instance for (Show (t0 -> t0)) arising from a use of ‘print’ (maybe you haven't applied a function to enough arguments?) In a stmt of an interactive GHCi command: print it diff --git a/testsuite/tests/ghci/scripts/T2182ghci2.stderr b/testsuite/tests/ghci/scripts/T2182ghci2.stderr index f850e1d7b4..fde88e3c8a 100644 --- a/testsuite/tests/ghci/scripts/T2182ghci2.stderr +++ b/testsuite/tests/ghci/scripts/T2182ghci2.stderr @@ -1,8 +1,8 @@ -:8:1: +:7:1: No instance for (Show Float) arising from a use of ‘print’ In a stmt of an interactive GHCi command: print it -:16:1: +:15:1: No instance for (Show Float) arising from a use of ‘print’ In a stmt of an interactive GHCi command: print it diff --git a/testsuite/tests/ghci/scripts/T2816.stderr b/testsuite/tests/ghci/scripts/T2816.stderr index 69d8349778..bc9fa44254 100644 --- a/testsuite/tests/ghci/scripts/T2816.stderr +++ b/testsuite/tests/ghci/scripts/T2816.stderr @@ -1,2 +1,2 @@ -:2:1: error: Variable not in scope: α +:1:1: error: Variable not in scope: α diff --git a/testsuite/tests/ghci/scripts/T4127a.stderr b/testsuite/tests/ghci/scripts/T4127a.stderr index 58d1bb683e..829ae2f8ca 100644 --- a/testsuite/tests/ghci/scripts/T4127a.stderr +++ b/testsuite/tests/ghci/scripts/T4127a.stderr @@ -1,8 +1,8 @@ -:3:68: +:2:68: Multiple declarations of ‘f’ - Declared at: :3:32 - :3:68 + Declared at: :2:32 + :2:68 In the Template Haskell quotation [d| f = undefined class Foo x where diff --git a/testsuite/tests/ghci/scripts/T5564.stderr b/testsuite/tests/ghci/scripts/T5564.stderr index 309ff1e76c..a63bcc8a95 100644 --- a/testsuite/tests/ghci/scripts/T5564.stderr +++ b/testsuite/tests/ghci/scripts/T5564.stderr @@ -1,10 +1,10 @@ -:3:1: error: +:2:1: error: Variable not in scope: git - Perhaps you meant ‘it’ (line 2) + Perhaps you meant ‘it’ (line 1) -:5:1: error: +:4:1: error: Variable not in scope: fit Perhaps you meant one of these: ‘fst’ (imported from Prelude), ‘Ghci1.it’ (imported from Ghci1), - ‘it’ (line 4) + ‘it’ (line 3) diff --git a/testsuite/tests/ghci/scripts/T6027ghci.stdout b/testsuite/tests/ghci/scripts/T6027ghci.stdout index 2cc6934ea7..be1034b0c7 100644 --- a/testsuite/tests/ghci/scripts/T6027ghci.stdout +++ b/testsuite/tests/ghci/scripts/T6027ghci.stdout @@ -1 +1 @@ -data (?) -- Defined at :3:1 +data (?) -- Defined at :2:1 diff --git a/testsuite/tests/ghci/scripts/T7730.stdout b/testsuite/tests/ghci/scripts/T7730.stdout index e3a08c19f4..d91d058e53 100644 --- a/testsuite/tests/ghci/scripts/T7730.stdout +++ b/testsuite/tests/ghci/scripts/T7730.stdout @@ -1,8 +1,8 @@ type role A phantom phantom data A (x :: k) (y :: k1) - -- Defined at :3:1 + -- Defined at :2:1 A :: k -> k1 -> * type role T phantom data T (a :: k) where MkT :: forall (k :: BOX) (a :: k) a1. a1 -> T a - -- Defined at :7:1 + -- Defined at :6:1 diff --git a/testsuite/tests/ghci/scripts/T7872.stdout b/testsuite/tests/ghci/scripts/T7872.stdout index 81d960947c..4c577ce1cd 100644 --- a/testsuite/tests/ghci/scripts/T7872.stdout +++ b/testsuite/tests/ghci/scripts/T7872.stdout @@ -1,2 +1,2 @@ -type T = forall a. a -> a -- Defined at :3:1 -data D = MkT (forall b. b -> b) -- Defined at :4:1 +type T = forall a. a -> a -- Defined at :2:1 +data D = MkT (forall b. b -> b) -- Defined at :3:1 diff --git a/testsuite/tests/ghci/scripts/T7873.stdout b/testsuite/tests/ghci/scripts/T7873.stdout index 215757bb69..79a75ec7ea 100644 --- a/testsuite/tests/ghci/scripts/T7873.stdout +++ b/testsuite/tests/ghci/scripts/T7873.stdout @@ -1,7 +1,7 @@ data D1 where MkD1 :: (forall (k1 :: BOX) (p :: k1 -> *) (a :: k1). p a -> Int) -> D1 - -- Defined at :3:1 + -- Defined at :2:1 data D2 where MkD2 :: (forall (p :: k -> *) (a :: k). p a -> Int) -> D2 - -- Defined at :4:1 + -- Defined at :3:1 diff --git a/testsuite/tests/ghci/scripts/T8485.stderr b/testsuite/tests/ghci/scripts/T8485.stderr index bbef720fe2..d1c005b9f6 100644 --- a/testsuite/tests/ghci/scripts/T8485.stderr +++ b/testsuite/tests/ghci/scripts/T8485.stderr @@ -1,4 +1,4 @@ -:3:11: error: +:2:11: error: The role annotation for ‘X’ lacks an accompanying binding (The role annotation must be given where ‘X’ is declared) diff --git a/testsuite/tests/ghci/scripts/T8579.stdout b/testsuite/tests/ghci/scripts/T8579.stdout index 5220e7e37c..2db09d7fd4 100644 --- a/testsuite/tests/ghci/scripts/T8579.stdout +++ b/testsuite/tests/ghci/scripts/T8579.stdout @@ -1,2 +1,2 @@ -data A = Y -- Defined at :3:1 -data A = Y -- Defined at :3:1 +data A = Y -- Defined at :2:1 +data A = Y -- Defined at :2:1 diff --git a/testsuite/tests/ghci/scripts/T8649.stderr b/testsuite/tests/ghci/scripts/T8649.stderr index 257b112112..ae766e5aec 100644 --- a/testsuite/tests/ghci/scripts/T8649.stderr +++ b/testsuite/tests/ghci/scripts/T8649.stderr @@ -1,8 +1,8 @@ -:5:4: error: +:4:4: error: Couldn't match expected type ‘Ghci1.X’ with actual type ‘X’ - NB: ‘X’ is defined at :4:1-25 - ‘Ghci1.X’ is defined at :2:1-14 + NB: ‘X’ is defined at :3:1-25 + ‘Ghci1.X’ is defined at :1:1-14 In the first argument of ‘f’, namely ‘(Y 3)’ In the expression: f (Y 3) diff --git a/testsuite/tests/ghci/scripts/T8959.stderr b/testsuite/tests/ghci/scripts/T8959.stderr index b3995c3365..3f5707bd3a 100644 --- a/testsuite/tests/ghci/scripts/T8959.stderr +++ b/testsuite/tests/ghci/scripts/T8959.stderr @@ -3,7 +3,7 @@ Arrow command found where an expression was expected: () >- () -< () >>- () -<< () -:7:15: +:6:15: Couldn't match expected type ‘()’ with actual type ‘Bool’ In the pattern: True In a stmt of a pattern guard for @@ -15,7 +15,7 @@ Arrow command found where an expression was expected: () ↣ () ↢ () ⤜ () ⤛ () -:14:15: +:13:15: Couldn't match expected type ‘()’ with actual type ‘Bool’ In the pattern: True In a stmt of a pattern guard for @@ -27,7 +27,7 @@ Arrow command found where an expression was expected: () >- () -< () >>- () -<< () -:21:15: +:20:15: Couldn't match expected type ‘()’ with actual type ‘Bool’ In the pattern: True In a stmt of a pattern guard for diff --git a/testsuite/tests/ghci/scripts/T9140.stdout b/testsuite/tests/ghci/scripts/T9140.stdout index 401c8741c5..d9520c0960 100644 --- a/testsuite/tests/ghci/scripts/T9140.stdout +++ b/testsuite/tests/ghci/scripts/T9140.stdout @@ -1,10 +1,10 @@ -:3:5: +:2:5: You can't mix polymorphic and unlifted bindings a = (# 1 #) Probable fix: use a bang pattern -:4:5: +:3:5: You can't mix polymorphic and unlifted bindings a = (# 1, 3 #) Probable fix: use a bang pattern diff --git a/testsuite/tests/ghci/scripts/T9293.stderr b/testsuite/tests/ghci/scripts/T9293.stderr index a663562a60..8c7ac45202 100644 --- a/testsuite/tests/ghci/scripts/T9293.stderr +++ b/testsuite/tests/ghci/scripts/T9293.stderr @@ -1,5 +1,5 @@ -:5:1: error: +:4:1: error: Illegal generalised algebraic data declaration for ‘T’ (Use GADTs to allow GADTs) In the data declaration for ‘T’ diff --git a/testsuite/tests/ghci/scripts/ghci012.stdout b/testsuite/tests/ghci/scripts/ghci012.stdout index d19785b3ee..0fc695c4d1 100644 --- a/testsuite/tests/ghci/scripts/ghci012.stdout +++ b/testsuite/tests/ghci/scripts/ghci012.stdout @@ -1 +1 @@ -($$$) :: [a -> c] -> [a] -> [c] -- Defined at :2:8 +($$$) :: [a -> c] -> [a] -> [c] -- Defined at :1:8 diff --git a/testsuite/tests/ghci/scripts/ghci040.stdout b/testsuite/tests/ghci/scripts/ghci040.stdout index b440ef499d..d9ebd9c59e 100644 --- a/testsuite/tests/ghci/scripts/ghci040.stdout +++ b/testsuite/tests/ghci/scripts/ghci040.stdout @@ -1 +1 @@ -data Ghci1.T = A | ... -- Defined at :3:10 +data Ghci1.T = A | ... -- Defined at :2:10 diff --git a/testsuite/tests/ghci/scripts/ghci041.stdout b/testsuite/tests/ghci/scripts/ghci041.stdout index daf48fc25d..14b8726c76 100644 --- a/testsuite/tests/ghci/scripts/ghci041.stdout +++ b/testsuite/tests/ghci/scripts/ghci041.stdout @@ -1 +1 @@ -data R = A | ... -- Defined at :4:10 +data R = A | ... -- Defined at :3:10 diff --git a/testsuite/tests/ghci/scripts/ghci042.stdout b/testsuite/tests/ghci/scripts/ghci042.stdout index 2a75ecb496..5cb84f632f 100644 --- a/testsuite/tests/ghci/scripts/ghci042.stdout +++ b/testsuite/tests/ghci/scripts/ghci042.stdout @@ -1,6 +1,6 @@ -data T = A {...} -- Defined at :3:10 -data T = A {a :: Int} -- Defined at :3:13 -a :: Integer -- Defined at :6:5 +data T = A {...} -- Defined at :2:10 +data T = A {a :: Int} -- Defined at :2:13 +a :: Integer -- Defined at :5:5 3 -data R = B {a :: Int} -- Defined at :9:13 -data T = A {Ghci1.a :: Int} -- Defined at :3:1 +data R = B {a :: Int} -- Defined at :8:13 +data T = A {Ghci1.a :: Int} -- Defined at :2:1 diff --git a/testsuite/tests/ghci/scripts/ghci044.stderr b/testsuite/tests/ghci/scripts/ghci044.stderr index b49978dd39..9ff8acc5c7 100644 --- a/testsuite/tests/ghci/scripts/ghci044.stderr +++ b/testsuite/tests/ghci/scripts/ghci044.stderr @@ -1,8 +1,8 @@ -:10:1: error: +:9:1: error: Overlapping instances for C [Int] arising from a use of ‘f’ Matching instances: - instance [safe] C [Int] -- Defined at :7:10 - instance [safe] C a => C [a] -- Defined at :9:10 + instance [safe] C [Int] -- Defined at :6:10 + instance [safe] C a => C [a] -- Defined at :8:10 In the expression: f [4 :: Int] In an equation for ‘it’: it = f [4 :: Int] diff --git a/testsuite/tests/ghci/scripts/ghci047.stderr b/testsuite/tests/ghci/scripts/ghci047.stderr index 9428dbc1a9..dc8dfc9ecb 100644 --- a/testsuite/tests/ghci/scripts/ghci047.stderr +++ b/testsuite/tests/ghci/scripts/ghci047.stderr @@ -1,5 +1,5 @@ -:39:1: +:38:1: Couldn't match type ‘HFalse’ with ‘HTrue’ Expected type: HTrue Actual type: Or HFalse HFalse @@ -7,7 +7,7 @@ In the expression: f $ Baz 'a' In an equation for ‘it’: it = f $ Baz 'a' -:40:1: +:39:1: Couldn't match type ‘HFalse’ with ‘HTrue’ Expected type: HTrue Actual type: Or HFalse HFalse diff --git a/testsuite/tests/ghci/scripts/ghci048.stderr b/testsuite/tests/ghci/scripts/ghci048.stderr index 1b96e5da07..27cc18f708 100644 --- a/testsuite/tests/ghci/scripts/ghci048.stderr +++ b/testsuite/tests/ghci/scripts/ghci048.stderr @@ -1,10 +1,10 @@ -:4:16: +:3:16: Multiple declarations of ‘A’ - Declared at: :4:12 - :4:16 + Declared at: :3:12 + :3:16 -:6:16: +:5:16: Multiple declarations of ‘A’ - Declared at: :6:12 - :6:16 + Declared at: :5:12 + :5:16 diff --git a/testsuite/tests/ghci/scripts/ghci050.stderr b/testsuite/tests/ghci/scripts/ghci050.stderr index d1df9b8379..4b454bd8bf 100644 --- a/testsuite/tests/ghci/scripts/ghci050.stderr +++ b/testsuite/tests/ghci/scripts/ghci050.stderr @@ -1,13 +1,13 @@ -:6:49: error: +:5:49: error: Couldn't match expected type ‘ListableElem (a, a)’ with actual type ‘a’ ‘a’ is a rigid type variable bound by - the instance declaration at :6:10 + the instance declaration at :5:10 Relevant bindings include - b :: a (bound at :6:43) - a :: a (bound at :6:41) + b :: a (bound at :5:43) + a :: a (bound at :5:41) asList :: (a, a) -> [ListableElem (a, a)] - (bound at :6:33) + (bound at :5:33) In the expression: a In the expression: [a, b] diff --git a/testsuite/tests/ghci/scripts/ghci051.stderr b/testsuite/tests/ghci/scripts/ghci051.stderr index 2a528e847a..7a33dd57b6 100644 --- a/testsuite/tests/ghci/scripts/ghci051.stderr +++ b/testsuite/tests/ghci/scripts/ghci051.stderr @@ -1,9 +1,9 @@ -:7:9: error: +:6:9: error: Couldn't match type ‘T’ with ‘Ghci1.T’ - NB: ‘Ghci1.T’ is defined at :3:1-14 - ‘T’ is defined at :6:1-16 + NB: ‘Ghci1.T’ is defined at :2:1-14 + ‘T’ is defined at :5:1-16 Expected type: T' Actual type: T In the expression: C :: T' diff --git a/testsuite/tests/ghci/scripts/ghci051.stdout b/testsuite/tests/ghci/scripts/ghci051.stdout index f69b0e2de3..a3542869a5 100644 --- a/testsuite/tests/ghci/scripts/ghci051.stdout +++ b/testsuite/tests/ghci/scripts/ghci051.stdout @@ -1,9 +1,9 @@ -data T = C | D -- Defined at :9:1 -type T' = Ghci1.T -- Defined at :4:1 -data Ghci1.T = A | ... -- Defined at :3:10 -data Ghci4.T = B | ... -- Defined at :6:12 -data T = C | ... -- Defined at :9:14 -data T = ... | D -- Defined at :9:18 -b :: T' -- Defined at :5:5 -c :: Ghci4.T -- Defined at :8:5 -d :: T -- Defined at :10:5 +data T = C | D -- Defined at :8:1 +type T' = Ghci1.T -- Defined at :3:1 +data Ghci1.T = A | ... -- Defined at :2:10 +data Ghci4.T = B | ... -- Defined at :5:12 +data T = C | ... -- Defined at :8:14 +data T = ... | D -- Defined at :8:18 +b :: T' -- Defined at :4:5 +c :: Ghci4.T -- Defined at :7:5 +d :: T -- Defined at :9:5 diff --git a/testsuite/tests/ghci/scripts/ghci052.stderr b/testsuite/tests/ghci/scripts/ghci052.stderr index ce221887d6..4464891168 100644 --- a/testsuite/tests/ghci/scripts/ghci052.stderr +++ b/testsuite/tests/ghci/scripts/ghci052.stderr @@ -1,32 +1,32 @@ -:9:4: error: +:8:4: error: Couldn't match expected type ‘Ghci1.Planet’ with actual type ‘Planet’ - NB: ‘Planet’ is defined at :8:1-36 - ‘Ghci1.Planet’ is defined at :5:1-37 + NB: ‘Planet’ is defined at :7:1-36 + ‘Ghci1.Planet’ is defined at :4:1-37 In the first argument of ‘pn’, namely ‘Mercury’ In the expression: pn Mercury -:10:4: error: +:9:4: error: Couldn't match expected type ‘Ghci1.Planet’ with actual type ‘Planet’ - NB: ‘Planet’ is defined at :8:1-36 - ‘Ghci1.Planet’ is defined at :5:1-37 + NB: ‘Planet’ is defined at :7:1-36 + ‘Ghci1.Planet’ is defined at :4:1-37 In the first argument of ‘pn’, namely ‘Venus’ In the expression: pn Venus -:11:4: error: +:10:4: error: Couldn't match expected type ‘Ghci1.Planet’ with actual type ‘Planet’ - NB: ‘Planet’ is defined at :8:1-36 - ‘Ghci1.Planet’ is defined at :5:1-37 + NB: ‘Planet’ is defined at :7:1-36 + ‘Ghci1.Planet’ is defined at :4:1-37 In the first argument of ‘pn’, namely ‘Mars’ In the expression: pn Mars -:13:44: error: +:12:44: error: Couldn't match expected type ‘Planet’ with actual type ‘Ghci1.Planet’ - NB: ‘Ghci1.Planet’ is defined at :5:1-37 - ‘Planet’ is defined at :8:1-36 + NB: ‘Ghci1.Planet’ is defined at :4:1-37 + ‘Planet’ is defined at :7:1-36 In the pattern: Earth In an equation for ‘pn’: pn Earth = "E" diff --git a/testsuite/tests/ghci/scripts/ghci053.stderr b/testsuite/tests/ghci/scripts/ghci053.stderr index fe6d6c9bef..bb038faf23 100644 --- a/testsuite/tests/ghci/scripts/ghci053.stderr +++ b/testsuite/tests/ghci/scripts/ghci053.stderr @@ -1,16 +1,16 @@ -:10:12: error: +:9:12: error: Couldn't match expected type ‘Ghci1.Planet’ with actual type ‘Planet’ - NB: ‘Planet’ is defined at :8:1-41 - ‘Ghci1.Planet’ is defined at :5:1-49 + NB: ‘Planet’ is defined at :7:1-41 + ‘Ghci1.Planet’ is defined at :4:1-49 In the second argument of ‘(==)’, namely ‘Mercury’ In the expression: mercury == Mercury -:12:10: error: +:11:10: error: Couldn't match expected type ‘Planet’ with actual type ‘Ghci1.Planet’ - NB: ‘Ghci1.Planet’ is defined at :5:1-49 - ‘Planet’ is defined at :8:1-41 + NB: ‘Ghci1.Planet’ is defined at :4:1-49 + ‘Planet’ is defined at :7:1-41 In the second argument of ‘(==)’, namely ‘Earth’ In the expression: Venus == Earth diff --git a/testsuite/tests/ghci/scripts/ghci057.stderr b/testsuite/tests/ghci/scripts/ghci057.stderr index a663562a60..8c7ac45202 100644 --- a/testsuite/tests/ghci/scripts/ghci057.stderr +++ b/testsuite/tests/ghci/scripts/ghci057.stderr @@ -1,5 +1,5 @@ -:5:1: error: +:4:1: error: Illegal generalised algebraic data declaration for ‘T’ (Use GADTs to allow GADTs) In the data declaration for ‘T’ diff --git a/testsuite/tests/ghci/should_run/T9914.stdout b/testsuite/tests/ghci/should_run/T9914.stdout index 3dd5aff3f3..d9407d3877 100644 --- a/testsuite/tests/ghci/should_run/T9914.stdout +++ b/testsuite/tests/ghci/should_run/T9914.stdout @@ -1,5 +1,5 @@ 1 2 2 -data T1 = MkT1 -- Defined at :7:1 -data T2 = MkT2 -- Defined at :9:2 +data T1 = MkT1 -- Defined at :6:1 +data T2 = MkT2 -- Defined at :8:2 diff --git a/testsuite/tests/ghci/should_run/T9915.stderr b/testsuite/tests/ghci/should_run/T9915.stderr index 333f17ac81..95f5758517 100644 --- a/testsuite/tests/ghci/should_run/T9915.stderr +++ b/testsuite/tests/ghci/should_run/T9915.stderr @@ -1,5 +1,5 @@ -:3:9: error: +:2:9: error: parse error on input ‘=’ Perhaps you need a 'let' in a 'do' block? e.g. 'let x = 5' instead of 'x = 5' diff --git a/testsuite/tests/patsyn/should_run/ghci.stderr b/testsuite/tests/patsyn/should_run/ghci.stderr index 9593b15633..9740d06859 100644 --- a/testsuite/tests/patsyn/should_run/ghci.stderr +++ b/testsuite/tests/patsyn/should_run/ghci.stderr @@ -1,2 +1,2 @@ -*** Exception: :6:5-35: Non-exhaustive patterns in function foo +*** Exception: :5:5-35: Non-exhaustive patterns in function foo diff --git a/testsuite/tests/patsyn/should_run/ghci.stdout b/testsuite/tests/patsyn/should_run/ghci.stdout index e434de3dd6..3dcecbc7a6 100644 --- a/testsuite/tests/patsyn/should_run/ghci.stdout +++ b/testsuite/tests/patsyn/should_run/ghci.stdout @@ -1,3 +1,3 @@ -pattern Single :: t -> [t] -- Defined at :4:1 +pattern Single :: t -> [t] -- Defined at :3:1 foo :: [Bool] -> [Bool] [False] diff --git a/testsuite/tests/safeHaskell/ghci/p10.stderr b/testsuite/tests/safeHaskell/ghci/p10.stderr index e20f84f241..5104dd6a96 100644 --- a/testsuite/tests/safeHaskell/ghci/p10.stderr +++ b/testsuite/tests/safeHaskell/ghci/p10.stderr @@ -1,2 +1,2 @@ -:10:1: error: Variable not in scope: b +:9:1: error: Variable not in scope: b diff --git a/testsuite/tests/safeHaskell/ghci/p13.stderr b/testsuite/tests/safeHaskell/ghci/p13.stderr index f7e8b8524b..7ba149a36b 100644 --- a/testsuite/tests/safeHaskell/ghci/p13.stderr +++ b/testsuite/tests/safeHaskell/ghci/p13.stderr @@ -1,10 +1,10 @@ -:11:1: error: +:10:1: error: Unsafe overlapping instances for Pos [Int] arising from a use of ‘res’ The matching instance is: instance [overlapping] [safe] Pos [Int] - -- Defined at :9:30 + -- Defined at :8:30 It is compiled in a Safe module and as such can only overlap instances from the same module, however it overlaps the following instances from different modules: diff --git a/testsuite/tests/safeHaskell/ghci/p14.stderr b/testsuite/tests/safeHaskell/ghci/p14.stderr index 4d0b14e970..b015016622 100644 --- a/testsuite/tests/safeHaskell/ghci/p14.stderr +++ b/testsuite/tests/safeHaskell/ghci/p14.stderr @@ -1,2 +1,2 @@ -:10:1: parse error on input ‘{-# RULES’ +:9:1: parse error on input ‘{-# RULES’ diff --git a/testsuite/tests/safeHaskell/ghci/p16.stderr b/testsuite/tests/safeHaskell/ghci/p16.stderr index 9540119eae..e14727bc49 100644 --- a/testsuite/tests/safeHaskell/ghci/p16.stderr +++ b/testsuite/tests/safeHaskell/ghci/p16.stderr @@ -2,14 +2,14 @@ : warning: -XGeneralizedNewtypeDeriving is not allowed in Safe Haskell; ignoring -XGeneralizedNewtypeDeriving -:16:29: error: +:15:29: error: Can't make a derived instance of ‘Op T2’: ‘Op’ is not a derivable class Try GeneralizedNewtypeDeriving for GHC's newtype-deriving extension In the newtype declaration for ‘T2’ -:19:9: error: +:18:9: error: Data constructor not in scope: T2 :: T -> t - Perhaps you meant ‘T1’ (line 13) + Perhaps you meant ‘T1’ (line 12) -:22:4: error: Variable not in scope: y +:21:4: error: Variable not in scope: y diff --git a/testsuite/tests/safeHaskell/ghci/p4.stderr b/testsuite/tests/safeHaskell/ghci/p4.stderr index 2160c00d7d..5d70969f3a 100644 --- a/testsuite/tests/safeHaskell/ghci/p4.stderr +++ b/testsuite/tests/safeHaskell/ghci/p4.stderr @@ -1,8 +1,8 @@ -:6:9: error: +:5:9: error: Not in scope: ‘System.IO.Unsafe.unsafePerformIO’ -:7:9: error: +:6:9: error: Variable not in scope: x :: IO Integer -> t -:8:1: error: Variable not in scope: y +:7:1: error: Variable not in scope: y diff --git a/testsuite/tests/safeHaskell/ghci/p6.stderr b/testsuite/tests/safeHaskell/ghci/p6.stderr index 83343029d4..8cca54eb2f 100644 --- a/testsuite/tests/safeHaskell/ghci/p6.stderr +++ b/testsuite/tests/safeHaskell/ghci/p6.stderr @@ -1,10 +1,10 @@ -:12:1: error: +:11:1: error: Unacceptable result type in foreign declaration: Safe Haskell is on, all FFI imports must be in the IO monad When checking declaration: foreign import ccall safe "static sin" c_sin :: Double -> Double -:13:1: error: +:12:1: error: Variable not in scope: c_sin :: Integer -> t - Perhaps you meant ‘c_sin'’ (line 8) + Perhaps you meant ‘c_sin'’ (line 7) diff --git a/testsuite/tests/safeHaskell/ghci/p9.stderr b/testsuite/tests/safeHaskell/ghci/p9.stderr index e20f84f241..5104dd6a96 100644 --- a/testsuite/tests/safeHaskell/ghci/p9.stderr +++ b/testsuite/tests/safeHaskell/ghci/p9.stderr @@ -1,2 +1,2 @@ -:10:1: error: Variable not in scope: b +:9:1: error: Variable not in scope: b diff --git a/testsuite/tests/th/T7276a.stdout b/testsuite/tests/th/T7276a.stdout index 6aad44f6d5..3e8c4878a8 100644 --- a/testsuite/tests/th/T7276a.stdout +++ b/testsuite/tests/th/T7276a.stdout @@ -1,5 +1,5 @@ -:4:9: Warning: +:3:9: Warning: Couldn't match type ‘[Dec]’ with ‘Exp’ Expected type: Q Exp Actual type: DecsQ @@ -8,7 +8,7 @@ :1:1: Exception when trying to run compile-time code: - :4:9: + :3:9: Couldn't match type ‘[Dec]’ with ‘Exp’ Expected type: Q Exp Actual type: DecsQ -- cgit v1.2.1