summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Pickering <matthewtpickering@gmail.com>2017-04-12 14:10:54 -0400
committerBen Gamari <ben@smart-cactus.org>2017-04-12 14:53:06 -0400
commitfa5a73f0a86908da31ec72ce33d37a7a704a0600 (patch)
treee1e901fd20e84ab7a7949b354ab6cdbc957de320
parent2fc9c3e3df06cac9bdc1f109065f66a45fd78a9e (diff)
downloadhaskell-fa5a73f0a86908da31ec72ce33d37a7a704a0600.tar.gz
Allow qualified names to be children in export lists
When doing this I noticed a horrible amount of duplication between lookupSubBndrOcc and lookupExportChild (which I am responsible for). I opened #13545 to keep track of this. Reviewers: austin, bgamari Reviewed By: bgamari Subscribers: rwbarton, thomie GHC Trac Issues: #13528 Differential Revision: https://phabricator.haskell.org/D3434
-rw-r--r--compiler/typecheck/TcRnExports.hs2
-rw-r--r--testsuite/tests/module/T13528.hs13
-rw-r--r--testsuite/tests/module/all.T2
3 files changed, 16 insertions, 1 deletions
diff --git a/compiler/typecheck/TcRnExports.hs b/compiler/typecheck/TcRnExports.hs
index 3c0b8d3a58..b3d9317768 100644
--- a/compiler/typecheck/TcRnExports.hs
+++ b/compiler/typecheck/TcRnExports.hs
@@ -478,7 +478,7 @@ lookupExportChild parent rdr_name
| otherwise = do
gre_env <- getGlobalRdrEnv
- let original_gres = lookupGRE_RdrName rdr_name gre_env
+ let original_gres = lookupGlobalRdrEnv gre_env (rdrNameOcc rdr_name)
-- Disambiguate the lookup based on the parent information.
-- The remaining GREs are things that we *could* export here, note that
-- this includes things which have `NoParent`. Those are sorted in
diff --git a/testsuite/tests/module/T13528.hs b/testsuite/tests/module/T13528.hs
new file mode 100644
index 0000000000..60363ebc3e
--- /dev/null
+++ b/testsuite/tests/module/T13528.hs
@@ -0,0 +1,13 @@
+{-# LANGUAGE NoImplicitPrelude #-}
+
+module T13528 (
+ GHC.Exts.IsList(
+ Item
+ , fromList
+ , toList
+ )
+ , Data.Bool.Bool(True, False)
+) where
+
+import qualified GHC.Exts (IsList(..))
+import qualified Data.Bool (Bool(..))
diff --git a/testsuite/tests/module/all.T b/testsuite/tests/module/all.T
index d7e6b743ba..6d05c77a9e 100644
--- a/testsuite/tests/module/all.T
+++ b/testsuite/tests/module/all.T
@@ -282,3 +282,5 @@ test('T11970', normal, compile_fail, [''])
test('T11970A', [], multimod_compile, ['T11970A','-Wunused-imports'])
test('T11970B', normal, compile_fail, [''])
test('MultiExport', normal, compile, [''])
+test('T13528', normal, compile, [''])
+