[Issue 7904] Template instantiation failure depending on compilation order
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Fri Nov 29 21:32:10 PST 2013
https://d.puremagic.com/issues/show_bug.cgi?id=7904
Vladimir Panteleev <thecybershadow at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|INVALID |WORKSFORME
--- Comment #3 from Vladimir Panteleev <thecybershadow at gmail.com> 2013-11-30 07:32:05 EET ---
My apologies, this was a bad reduction - an obvious fact I should have noticed.
Here is a working test case for DMD 2.059:
=== a.d ===
import std_algorithm;
string longPath(string s)
{
s.startsWith("");
assert(0);
}
=== b.d ===
import std_algorithm;
void handleABC()
{
replace() ;
}
void dumpScriptTrait()
{
a;
}
=== std_algorithm.d ===
template binaryFun(alias fun)
{
}
R find(alias pred = "a == b", R, E)(R , E )
if (is(typeof(binaryFun!pred()) ))
{
}
R1 find(R1, R2)(R1 , R2 )
{
assert(false);
}
bool startsWith()(){}
bool startsWith(alias pred = "a == b", R1, R2)(R1 , R2 )
if (is(typeof(binaryFun!pred)))
{
return false;
}
char[] replace()()
{
find("", "");
assert(0);
}
However, this bug was fixed in 2.064.2.
--
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list