https://issues.dlang.org/show_bug.cgi?id=12818

          Issue ID: 12818
           Summary: ConditionalStatement grammar doesn't take into account
                    the : case
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P1
         Component: websites
          Assignee: [email protected]
          Reporter: [email protected]

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

--

Reply via email to