Summary: ICE with variadic template parameters
           Product: D
           Version: unspecified
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: DMD

This code:

int foo(Types...)(string a)

void main()
    auto a = foo!(int, double)("s");

fails with: 

dmd: template.c:798: MATCH
TemplateDeclaration::deduceFunctionTemplateMatch(Loc, Objects*, Expression*,
Expressions*, Objects*): Assertion `i < parameters->dim' failed.

Adding a return 0; inside foo fixes the problem. The compiler should issue an
error message giving information about what went wrong.


Reply via email to