[GHC] #8247: Dependency tracking (--make) broken for re-exported modules
GHC
ghc-devs at haskell.org
Fri Sep 6 20:41:30 CEST 2013
#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
More information about the ghc-tickets
mailing list