[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