--- Comment #3 from Don <> 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:
------- You are receiving this mail because: -------

Reply via email to