diff options
author | mniip <mniip@mniip.com> | 2016-10-01 00:26:04 -0400 |
---|---|---|
committer | Ben Gamari <ben@smart-cactus.org> | 2016-10-01 00:27:46 -0400 |
commit | 59d7ee53906b9cee7f279c1f9567af7b930f8636 (patch) | |
tree | b456f80838f98a25cffaedec750933701a542bcc /testsuite | |
parent | b61b7c2462b919de7eb4c373e2e2145c6d78d04c (diff) | |
download | haskell-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.stdout | 7 | ||||
-rw-r--r-- | testsuite/tests/ghci.debugger/scripts/hist001.stdout | 4 | ||||
-rw-r--r-- | testsuite/tests/ghci/scripts/T11547.script | 9 | ||||
-rw-r--r-- | testsuite/tests/ghci/scripts/T11547.stdout | 5 | ||||
-rw-r--r-- | testsuite/tests/ghci/scripts/T2976.stdout | 2 | ||||
-rwxr-xr-x | testsuite/tests/ghci/scripts/all.T | 1 |
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')], |