Dependency tracking (--make) broken for re-exported modules
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.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 7.7 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |