[nhc-bugs] re-export of `import hiding'
Malcolm Wallace
Malcolm.Wallace@cs.york.ac.uk
Thu, 1 Nov 2001 13:46:03 +0000
> 1) Here is the story: we have a module `Haskell' that imports both
> `Atom' and `Prettier' both of which define `string'.
>
> > module Haskell ( module Haskell, module Atom )
> > where
> > import Atom hiding ( string )
> > import qualified Atom
> > import Prettier
>
> Now, does `Haskell' export the identifier `string'? GHC says no,
> nhc98 says yes. Honestly, I don't know whether GHC or nhc98 is
> wrong as I did not follow all the postings concerning the module system.
Here is a patch for this bug.
Regards,
Malcolm
Index: src/compiler98/PreImport.hs
===================================================================
RCS file: /usr/src/master/nhc/src/compiler98/PreImport.hs,v
retrieving revision 1.15
diff -u -r1.15 PreImport.hs
--- src/compiler98/PreImport.hs 2001/10/18 16:53:52 1.15
+++ src/compiler98/PreImport.hs 2001/11/01 13:40:19
@@ -414,5 +414,9 @@
[] -> st
postidanots ->
-}
- iextractVarsType reExport q postidanots ctxs typ () st
+ iextractVarsType (\q tid idkind ->
+ if imported tid && not (q tid)
+ then reExport q tid idkind
+ else IEnone)
+ q postidanots ctxs typ () st