On Friday, 21 February 2020 at 01:41:21 UTC, Steven Schveighoffer
wrote:
On 2/18/20 12:11 PM, Marcel wrote:
Hello!
Say I have a struct where every member function can either be
static or not depending on a template parameter. Is there a
simple way to do this? Like, for example:
struct Foo(Condition)
{
static if (Condition) static:
void Bar() {}
void Baz() {}
}
Since D conditional compilation must always be a valid
declaration or statement, you cannot do something like this.
The closest you can do is to use mixins, which means you have
to write everything inside strings.
It has been proposed quite a few times to have a way to
enable/disable attributes based on a compile-time boolean. But
it's never come close to getting included.
-Steve
That's a shame...