
#8247: Dependency tracking (--make) broken for re-exported modules ------------------------------------+------------------------------------- Reporter: heisenbug | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.7 Keywords: | Operating System: Unknown/Multiple Architecture: Unknown/Multiple | Type of failure: None/Unknown Difficulty: Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | ------------------------------------+------------------------------------- Say, I re-export a module, from which I hide some bindings: {{{ module B (module A) where import A hiding (a1) }}} where `A` is defined thus: {{{ module A where a1 = 5 a2 = 42 a3 = 113 }}} I use `B` from `C`: {{{ module C where import B a2 = 142 }}} Build `C`, with `ghc --make C.hs`, observing redefinition error (of `a2`). Now hide also `a2` in `B` like this (by editing `B.hs`): {{{ module B (module A) where import A hiding (a1, a2) }}} Build `C` again, and observe that the error persists, because `B` has not been rebuilt, and its interface file not regenerated. Deleting `B.hi` and recompiling resolves the situation. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8247 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler