imports in one file can effect imports in another even if the files don't import one another
compile the soon to be attached file together and they work. Remove either of the imports and b.d fails. Also if b.d is compiled by it's self it fails
case 1:
dmd a.d b.d
case 2:
dmd b.d
Comment #1 by shro8822 — 2007-09-15T01:10:18Z
Created attachment 180
part 1
Comment #2 by shro8822 — 2007-09-15T01:11:10Z
Created attachment 181
part 2
Comment #3 by smjg — 2007-09-15T09:47:20Z
Please remember to assign keywords to bug reports. To everybody reading this: Please look through issues you've reported and check for missing keywords.
Here's what I get (DMD 1.020):
- dmd a.d passes regardless of which imports are present
- dmd b.d xfails regardless of which imports are present
- dmd a.d b.d xfails unless both imports are present, in which case it xpasses
- dmd b.d a.d likewise
(Using dstress terminology here....)
Comment #4 by leandro.lucarella — 2009-11-13T16:04:32Z
For easy reading:
a.d
---
private import std.cstream;
void main(){}
---
b.d
---
import std.stdio;
void B()
{
std.file.read(__FILE__);
}
---
Seems to work with DMD 2.035, what I don't understand is where the hell std.file comes from! It compiles even making the b.d import "static"!
Comment #5 by code — 2012-02-16T18:46:10Z
*** This issue has been marked as a duplicate of issue 313 ***