Bug 4003 – The result changes only with the order of source files.
Status
RESOLVED
Resolution
FIXED
Severity
major
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
Other
OS
Windows
Creation time
2010-03-25T08:54:00Z
Last change time
2014-02-15T02:44:32Z
Assigned to
nobody
Creator
zan77137
Comments
Comment #0 by zan77137 — 2010-03-25T08:54:01Z
from http://dusers.dip.jp/modules/forum/index.php?post_id=220
The bug occurred with changing the order of import, or order of files as compiler options.
------------------------
main.d
------------------------
import std.stdio;
void main(){}
------------------------
test.d
------------------------
import std.typecons;
Tuple!(string) t;
-----------------------
Case of success:
dmd -unittest test.d main.d
Case of failure:
dmd -unittest main.d test.d
std\typecons.d(424): Error: static assert (is(Tuple!(string,float) == Tuple!(string,float))) is false
std\typecons.d(413): instantiated from here: Tuple!(string,float)
...
Comment #1 by simen.kjaras — 2010-06-08T06:41:43Z
*** Issue 4294 has been marked as a duplicate of this issue. ***
Comment #2 by bugzilla — 2010-06-08T07:03:47Z
I'm raising the importance of this. Every time your program uses two Phobos modules that both import std.typecons, you risk running into this bug.
See bug 4294 for a marginally more narrow test case.