[Issue 11563] New: Module dependency cycle causes unrelated template instantiations to fail
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Wed Nov 20 02:45:25 PST 2013
https://d.puremagic.com/issues/show_bug.cgi?id=11563
Summary: Module dependency cycle causes unrelated template
instantiations to fail
Product: D
Version: D2
Platform: All
OS/Version: All
Status: NEW
Severity: regression
Priority: P2
Component: DMD
AssignedTo: nobody at puremagic.com
ReportedBy: sludwig at outerproduct.org
Depends on: 11225
--- Comment #0 from Sönke Ludwig <sludwig at outerproduct.org> 2013-11-20 02:45:17 PST ---
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.
--
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