On Thursday, 29 May 2014 at 00:58:35 UTC, Walter Bright wrote:
Off the top of my head:
static if (condition)
else :
... declarations ...
All attributes apply to either:
1. the next statement or declaration
2. { ... }
3. : ...
That case is (3), as static if is set up as an attribute.
Static if is not an attribute.
ConditionalStatement:
Condition NoScopeNonEmptyStatement
Condition NoScopeNonEmptyStatement else
NoScopeNonEmptyStatement
Condition:
VersionCondition
DebugCondition
StaticIfCondition
Attribute:
LinkageAttribute
AlignAttribute
DeprecatedAttribute
ProtectionAttribute
Pragma
static
extern
abstract
final
override
synchronized
auto
scope
const
immutable
inout
shared
__gshared
Property
nothrow
pure
ref