On Thursday, 26 October 2017 at 15:09:48 UTC, bauss wrote:
Why is it not allowed to have empty UDAs for classes?

Let's say we have an UDA like this:
struct Exclude { }

Then we want to put it on a class like:

@Exclude class Foo
{
    ...
}

This will fail with the following error:
Error: type Exclude has no value

But on everything else we can place an empty UDA like that ex. on a function:

This is okay:

@Exclude void foo()
{
    ...
}

Can someone explain to me why it's not possible with classes?

FWIW all parameterless UDA in LDC use a struct literal e.g.
https://github.com/ldc-developers/druntime/blob/ldc/src/ldc/attributes.d#L237

Reply via email to