According to the official grammar this is the definition for an attribute specifier:
AttributeSpecifier
Attribute :
Attribute DeclarationBlock
In fact, when you write
pure @safe nothrow @nogc:
or
pure @safe nothrow @nogc { }
there are multiple attributes that will be applied to the subsequent declarations.
Consequentely, in my opinion, the grammar is wrong and should be:
AttributeSpecifier
Attributes :
Attributes DeclarationBlock
Attributes
Attribute
Attribute Attributes
Comment #1 by robert.schadek — 2024-12-15T15:27:16Z