Compiling the following on DMD 2.061-2.064 using "dmd -c a.d" results in a
number of template instantiation failures (std.algorithm.startsWith). DMD 2.060
still works. This is very similar to 11225 (or rather that was the primary
cause for it), which probably was just a symptom of the same underlying cause.
a.d:
---
import b;
interface I {}
---
b.d
---
import a;
import std.traits;
interface J : I {} // comment out to let compilation succeed
struct A { }
template B(T) { enum mod = moduleName!T; }
pragma(msg, B!A.mod);
---
Sorry for this only partially reduced test case, but this has been lying around
for a while on my desk now and I never got the time to fully reduce it, so I
thought I'd rather report what I have before it falls under the table. But
also, it's likely that a fully reproduced case would again just lead to a
partial fix.
Comment #1 by dlang-bugzilla — 2013-11-20T20:46:24Z