[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