How true.  A long-standing bug, thank you. Now fixed.

Simon

| -----Original Message-----
| From: [EMAIL PROTECTED]
[mailto:glasgow-haskell-bugs-
| [EMAIL PROTECTED] On Behalf Of Ian Lynagh
| Sent: 19 July 2005 23:24
| To: [email protected]
| Subject: Recompiling doesn't notice re-exports being removed
| 
| 
| Recompiling doesn't notice re-exports being removed:
| 
| 
| $ cat A.hs
| 
| module A where
| 
| foo :: Int
| foo = 4
| 
| $ cat B.hs
| 
| module B (foo) where
| 
| import A (foo)
| 
| $ cat C.hs
| 
| module Main (main) where
| 
| import B (foo)
| 
| main :: IO ()
| main = print foo
| 
| $ ghc --make C -o c
| Chasing modules from: C
| Compiling A                ( ./A.hs, ./A.o )
| Compiling B                ( ./B.hs, ./B.o )
| Compiling Main             ( C.hs, C.o )
| Linking ...
| $ sed -i "s/foo//" B.hs
| $ cat B.hs
| 
| module B () where
| 
| import A ()
| 
| $ ghc --make C -o c
| Chasing modules from: C
| Skipping  A                ( ./A.hs, ./A.o )
| Compiling B                ( ./B.hs, ./B.o )
| Skipping  Main             ( C.hs, C.o )
| Linking ...
| $ # -------- compilation above should have failed, as below
| $ rm *.o *.hi c
| $ ghc --make C -o c
| Chasing modules from: C
| Compiling A                ( ./A.hs, ./A.o )
| Compiling B                ( ./B.hs, ./B.o )
| Compiling Main             ( C.hs, C.o )
| 
| C.hs:4:10: Module `B' does not export `foo'
| $
| 
| 
| Thanks
| Ian
| 
| _______________________________________________
| Glasgow-haskell-bugs mailing list
| [email protected]
| http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to