enum and static if

ketmar via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Mar 11 07:41:02 PDT 2015


On Wed, 11 Mar 2015 14:36:07 +0000, wobbles wrote:

> On Wednesday, 11 March 2015 at 14:34:32 UTC, ketmar wrote:
>> On Wed, 11 Mar 2015 13:48:45 +0000, Namespace wrote:
>>
>>> This code does not work:
>>> 
>>> ----
>>> enum Test {
>>>      Foo,
>>> static if (__VERSION__ >= 2067)
>>>      Bar,
>>> }
>>>      Quatz
>>> }
>>> ----
>>> 
>>> Any chance that this could work?
>>
>> nope. `static if` is statement, so it works only where statement is
>> allowed. the same is true for `version`. this is by design.
> 
> You can do something like static if (__VERSION__ >= 2067)
>      enum Test{ ... }
> else
>      enum Test{ ... }
> 
> as a workaround?

sure, but you have to copypaste the whole enum in both places. maybe 
allowing `version` in enums worth a ER...
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://lists.puremagic.com/pipermail/digitalmars-d-learn/attachments/20150311/12f3f6c1/attachment.sig>


More information about the Digitalmars-d-learn mailing list