Does not compile with DMD v2.030. Changing size_t to int and/or replacing invariant(int)[] with int[] makes the code compile.
test.d
------
void func1()
{
size_t func2(invariant(void)[] t)
{
return 0;
}
}
C:\>dmd test.d
test.d(5): found 'func2' when expecting ';' following 'statement'
test.d(10): found '}' when expecting ';' following 'statement'
test.d(12): found 'EOF' instead of statement
test.d(12): found 'EOF' instead of statement
test.d(12): found 'EOF' instead of statement
test.d(12): found 'EOF' instead of statement
test.d(12): found 'EOF' instead of statement
test.d(12): found 'EOF' instead of statement
test.d(12): found 'EOF' instead of statement
test.d(12): found 'EOF' instead of statement
test.d(12): found 'EOF' instead of statement
test.d(12): found 'EOF' instead of statement
test.d(12): found 'EOF' instead of statement
test.d(12): found 'EOF' instead of statement
test.d(12): found 'EOF' instead of statement
test.d(12): found 'EOF' instead of statement
test.d(12): found 'EOF' instead of statement
test.d(12): found 'EOF' instead of statement
test.d(12): found 'EOF' instead of statement
test.d(12): found 'EOF' instead of statement
test.d(12): found 'EOF' instead of statement