http://digitalmars.com/d/2.0/declaration.html
As defined, the Declarator rule prevents parsing a simple function such as
void foo() {}
The problem is that BasicType2 cannot be optional in Declarator
Parsing gives
Declaration
Decl
BasicType Declarator FunctionBody
void Declarator FunctionBody
void BasicType2 Identifier DeclaratorSuffixes FunctionBody
void BasicType2 foo DeclaratorSuffixes FunctionBody
void BasicType2 foo DeclaratorSuffix FunctionBody
void BasicType2 foo Parameters FunctionBody
void BasicType2 foo () FunctionBody
void BasicType2 foo () {}
There is no valid expansion for BasicType2