summaryrefslogtreecommitdiff
path: root/testsuite
diff options
context:
space:
mode:
authormniip <mniip@mniip.com>2016-10-01 00:26:04 -0400
committerBen Gamari <ben@smart-cactus.org>2016-10-01 00:27:46 -0400
commit59d7ee53906b9cee7f279c1f9567af7b930f8636 (patch)
treeb456f80838f98a25cffaedec750933701a542bcc /testsuite
parentb61b7c2462b919de7eb4c373e2e2145c6d78d04c (diff)
downloadhaskell-59d7ee53906b9cee7f279c1f9567af7b930f8636.tar.gz
GHCi: Don't remove shadowed bindings from typechecker scope.
The shadowed out bindings are accessible via qualified names like Ghci1.foo. Since they are accessable in the renamer the typechecker should be able to see them too. As a consequence they show up in :show bindings. This fixes T11547 Test Plan: Fixed current tests to accomodate to new stuff in :show bindings Added a test that verifies that the typechecker doesn't crash Reviewers: austin, bgamari, simonpj Reviewed By: simonpj Subscribers: simonpj, thomie Differential Revision: https://phabricator.haskell.org/D2447 GHC Trac Issues: #11547
Diffstat (limited to 'testsuite')
-rw-r--r--testsuite/tests/ghci.debugger/scripts/break011.stdout7
-rw-r--r--testsuite/tests/ghci.debugger/scripts/hist001.stdout4
-rw-r--r--testsuite/tests/ghci/scripts/T11547.script9
-rw-r--r--testsuite/tests/ghci/scripts/T11547.stdout5
-rw-r--r--testsuite/tests/ghci/scripts/T2976.stdout2
-rwxr-xr-xtestsuite/tests/ghci/scripts/all.T1
6 files changed, 28 insertions, 0 deletions
diff --git a/testsuite/tests/ghci.debugger/scripts/break011.stdout b/testsuite/tests/ghci.debugger/scripts/break011.stdout
index 47fb7b135d..ac5b7e3a24 100644
--- a/testsuite/tests/ghci.debugger/scripts/break011.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/break011.stdout
@@ -23,6 +23,13 @@ _exception = SomeException
"foo"
"CallStack (from HasCallStack):
error, called at Test7.hs:2:18 in main:Main")
+Ghci1._exception :: SomeException = SomeException
+ (ErrorCallWithLocation
+ "foo"
+ "CallStack (from HasCallStack):
+ error, called at Test7.hs:<line>:<column> in <package-id>:Main")
+Ghci2._result :: a = _
+Ghci3._result :: IO a = _
_result :: a = _
_exception :: SomeException = SomeException
(ErrorCallWithLocation
diff --git a/testsuite/tests/ghci.debugger/scripts/hist001.stdout b/testsuite/tests/ghci.debugger/scripts/hist001.stdout
index a19a34f315..523605b00a 100644
--- a/testsuite/tests/ghci.debugger/scripts/hist001.stdout
+++ b/testsuite/tests/ghci.debugger/scripts/hist001.stdout
@@ -12,6 +12,7 @@ Logged breakpoint at Test3.hs:2:22-31
_result :: [a]
f :: t -> a
xs :: [t]
+Ghci1._result :: [a] = _
xs :: [t] = []
f :: t -> a = _
_result :: [a] = _
@@ -19,7 +20,10 @@ Logged breakpoint at Test3.hs:2:18-20
_result :: a
f :: Integer -> a
x :: Integer
+Ghci1._result :: [a] = _
xs :: [t] = []
+Ghci2.f :: t -> a = _
+Ghci2._result :: [a] = _
x :: Integer = 2
f :: Integer -> a = _
_result :: a = _
diff --git a/testsuite/tests/ghci/scripts/T11547.script b/testsuite/tests/ghci/scripts/T11547.script
new file mode 100644
index 0000000000..c4c15d6f78
--- /dev/null
+++ b/testsuite/tests/ghci/scripts/T11547.script
@@ -0,0 +1,9 @@
+foo = foo
+:t Ghci1.foo
+foo = foo
+:t Ghci2.foo
+:t Ghci1.foo
+data Foo = Foo | Bar
+data Foo = Bar
+:t Foo
+:t Ghci3.Bar
diff --git a/testsuite/tests/ghci/scripts/T11547.stdout b/testsuite/tests/ghci/scripts/T11547.stdout
new file mode 100644
index 0000000000..6f2a8333c3
--- /dev/null
+++ b/testsuite/tests/ghci/scripts/T11547.stdout
@@ -0,0 +1,5 @@
+Ghci1.foo :: t
+Ghci2.foo :: t
+Ghci1.foo :: t
+Foo :: Ghci3.Foo
+Ghci3.Bar :: Ghci3.Foo
diff --git a/testsuite/tests/ghci/scripts/T2976.stdout b/testsuite/tests/ghci/scripts/T2976.stdout
index 9fdc11072c..de31112bb3 100644
--- a/testsuite/tests/ghci/scripts/T2976.stdout
+++ b/testsuite/tests/ghci/scripts/T2976.stdout
@@ -1,6 +1,8 @@
test :: Integer = 0
test = 0
test :: Integer = 0
+Ghci1.test :: Integer = 0
test :: [Char] = _
test = "test"
+Ghci1.test :: Integer = 0
test :: [Char] = "test"
diff --git a/testsuite/tests/ghci/scripts/all.T b/testsuite/tests/ghci/scripts/all.T
index 9e3656728d..20888ae1db 100755
--- a/testsuite/tests/ghci/scripts/all.T
+++ b/testsuite/tests/ghci/scripts/all.T
@@ -258,6 +258,7 @@ test('T11376', normal, ghci_script, ['T11376.script'])
test('T12007', normal, ghci_script, ['T12007.script'])
test('T11975', normal, ghci_script, ['T11975.script'])
test('T10963', normal, ghci_script, ['T10963.script'])
+test('T11547', normal, ghci_script, ['T11547.script'])
test('T12520', normal, ghci_script, ['T12520.script'])
test('T12091',
[expect_broken(12091), extra_run_opts('-fobject-code')],