This is fixed in DMD2.028 but not in 1.042.
Assertion failure: 'i < parameters->dim' on line 806 in file 'template.c'
Comment #4 by clugdbug — 2009-09-12T11:58:52Z
This is the test case which is failing in dstress:
char[] testHelper(A ...)(){
char[] result;
foreach(t; a){
result ~= "int " ~ t ~ ";\n";
}
return result;
}
int main(){
mixin( testHelper!( "hello", "world" )() );
return 0;
}
Note that in the foreach(), it's 'a' instead of 'A'. So it's a bad test, which is actually an instance of bug 2229 (which I've just patched). The bug here was indeed fixed in 1.014.
Comment #5 by robert — 2009-11-07T07:52:58Z
The dstress test is failing again in dmd 1051:
dmd: template.c:4017: Identifier* TemplateInstance::genIdent(): Assertion `0' failed.
That DStress case is correct, it's in nocompile/, so shouldn't compile.
Comment #6 by robert — 2009-11-07T07:54:22Z
*** Issue 3482 has been marked as a duplicate of this issue. ***
Comment #7 by clugdbug — 2009-11-07T14:49:53Z
(In reply to comment #5)
> The dstress test is failing again in dmd 1051:
> dmd: template.c:4017: Identifier* TemplateInstance::genIdent(): Assertion `0'
> failed.
>
> That DStress case is correct, it's in nocompile/, so shouldn't compile.
Yes, but it's testing bug 2229, not the one which was originally reported here. I'm closing this one, and re-opening the other.
BTW it's not a regression. Bug 2229 was never fixed properly.