Scott Meyers' DConf 2014 keynote "The Last Thing D Needs"
Walter Bright via Digitalmars-d-announce
digitalmars-d-announce at puremagic.com
Wed May 28 18:28:57 PDT 2014
On 5/28/2014 6:06 PM, Brian Schott wrote:
> 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.
They are handled that way by the parser.
https://github.com/D-Programming-Language/dmd/blob/master/src/parse.c#L379
Looks like there's an omission in the grammar. Thanks for pointing it out.
https://issues.dlang.org/show_bug.cgi?id=12818
>
> 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
More information about the Digitalmars-d-announce
mailing list