Allow Conditional Compilation Inside Enum Declaration

Paul Backus snarwin at gmail.com
Mon Apr 1 22:00:49 UTC 2024


On Saturday, 30 March 2024 at 14:57:00 UTC, IchorDev wrote:
> The logical solution is to just allow conditional compilation 
> statements inside enums:
> ```d
> enum A{
> 	x,y,z,
>     static if(cond){
> 		w,
> 	}
> }
> ```

It's not very elegant, but you can do it with a string mixin:

```d
enum string enumMembers = "x, y, z, " ~ (cond ? "w, " : "");

mixin("enum A { " ~ enumMembers ~ " }");
```


More information about the dip.ideas mailing list