[Issue 2435] ICE when undefined type used in tuple function declaration

d-bugmail at puremagic.com d-bugmail at puremagic.com
Fri Jan 9 07:14:06 PST 2009


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


clugdbug at yahoo.com.au changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Assertion failure: 'i <     |ICE when undefined type used
                   |parameters->dim' on line 784|in tuple function
                   |in file 'template.c'        |declaration
            Version|2.020                       |1.036




------- Comment #1 from clugdbug at yahoo.com.au  2009-01-09 09:14 -------
Actually applies to D1 as well. Here's a slightly simplified test case:

Foo foo(A...)()
{
}

static assert(foo!(1, 2)());
--------
On DMD2:
Assertion failure: 'i < parameters->dim' on line 784 in file 'template.c'

On DMD1, it segfaults.
If there is only one parameter is passed to the tuple, it works correctly,
producing the error:
bug.d(1): Error: identifier 'Foo' is not defined

And another example shows that it's not the return value, it's any parameter:
--------
int foo(A...)(Foo x)
{
}

static assert(foo!(1,2)());


-- 



More information about the Digitalmars-d-bugs mailing list