As described on the n.g.:
> 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
Comment #1 by k.hara.pg — 2014-05-29T02:23:47Z
(In reply to Walter Bright from comment #0)
> ConditionalStatement:
> Condition NoScopeNonEmptyStatement
> Condition NoScopeNonEmptyStatement else NoScopeNonEmptyStatement
This is an issue in the definition of ConditionalDeclaration.
And this is a dup of issue 12740.
*** This issue has been marked as a duplicate of issue 12740 ***