Example DMD-valid code rejected by language spec:
---
foreach (foo, const ref bar; qwer.tyuiop)
---
The grammar spec says this:
ForeachType:
'ref'? TypeCtors? BasicType Declarator
'ref'? TypeCtors? Identifier
Either the compiler should be changed to require that 'ref' appear first, or the grammar should be corrected to allow 'ref' to appear after type constructors.