[Issue 2309] New: Crash on a template mixing in a variadic template with an undefined template identifier

d-bugmail at puremagic.com d-bugmail at puremagic.com
Sat Aug 23 10:22:20 PDT 2008


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

           Summary: Crash on a template mixing in a variadic template with
                    an undefined template identifier
           Product: D
           Version: 1.034
          Platform: PC
        OS/Version: Windows
            Status: NEW
          Keywords: ice-on-invalid-code
          Severity: major
          Priority: P2
         Component: DMD
        AssignedTo: bugzilla at digitalmars.com
        ReportedBy: matti.niemenmaa+dbugzilla at iki.fi


template Id(xs...) { const Id = xs[0]; }

template Foo() { mixin Id!(NONEXISTENT!()); }

alias Foo!() x;

The above gives the following before crashing DMD:

foo.d(3): template instance identifier 'NONEXISTENT' is not defined

In the following case, no error message is given before the crash, which is why
I'm marking this as major:

template Id(xs...) { const Id = xs[0]; }

template Foo() { mixin Id!(NONEXISTENT!()); }

// removing the 'int' here brings the error message back
template Bar(alias F) { const int Bar = F!(); }

alias Bar!(Foo) x;


-- 



More information about the Digitalmars-d-bugs mailing list