[Issue 3293] A few more bugs with template mixins with identifiers

d-bugmail at puremagic.com d-bugmail at puremagic.com
Tue Sep 8 08:51:50 PDT 2009


http://d.puremagic.com/issues/show_bug.cgi?id=3293



--- Comment #3 from Don <clugdbug at yahoo.com.au> 2009-09-08 08:51:49 PDT ---
Here's a reduced test case for the second bug, which is ICE(expression.c).
Something to do with recursive alias parameters causing data corruption.
Only happens if there is an infinite template expansion, so I think this one is
ice-on-invalid-code. Somehow defining the return type as 'auto' circumvents the
infinite expansion -- but I'm not sure that it should.

---
alias const(void*) VoidPtr;

struct SomeRange(alias Storage){
    const guard = cast(const void *)Bug3293!(Storage).guard;
}

struct Bug3293(alias Storage){
    SomeRange!(Storage) foo;
    const VoidPtr guard = cast(void *)345;
}

SomeRange!(0)  a = Bug3293!(0)().foo;

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list