Recompiling doesn't notice re-exports being removed

Simon Peyton-Jones simonpj at microsoft.com
Fri Jul 22 10:02:53 EDT 2005


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

Simon

| -----Original Message-----
| From: glasgow-haskell-bugs-bounces at haskell.org
[mailto:glasgow-haskell-bugs-
| bounces at haskell.org] On Behalf Of Ian Lynagh
| Sent: 19 July 2005 23:24
| To: glasgow-haskell-bugs at haskell.org
| 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
| Glasgow-haskell-bugs at haskell.org
| http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs



More information about the Glasgow-haskell-bugs mailing list