Thread overview
Idiomatic way to check for UDA?
Jun 07, 2015
Tofu Ninja
Jun 07, 2015
ketmar
Jun 07, 2015
Marc Schütz
Jun 07, 2015
ketmar
June 07, 2015
Whats the idiomatic way to check if an identifier has a specific UDA attached to it.

Also what should I use to define a UDA that doesn't need to carry any data? Just an empty template? Or does something else make more sense?
June 07, 2015
On Sun, 07 Jun 2015 05:32:46 +0000, Tofu Ninja wrote:

> Whats the idiomatic way to check if an identifier has a specific UDA attached to it.
> 
> Also what should I use to define a UDA that doesn't need to carry any data? Just an empty template? Or does something else make more sense?

there is `std.traits.hasUDA` added to phobos recently. but until official release you have to write your own `hasUDA`. alas.

as for defining UDA without data, you can use this trick:

  enum MyUDA;
  @MyUDA int i;

as it doesn't really need to be semantically analyzed, this forward declaration can work just fine.

June 07, 2015
On Sunday, 7 June 2015 at 06:20:55 UTC, ketmar wrote:
> On Sun, 07 Jun 2015 05:32:46 +0000, Tofu Ninja wrote:
>
>> Whats the idiomatic way to check if an identifier has a specific UDA
>> attached to it.
>> 
>> Also what should I use to define a UDA that doesn't need to carry any
>> data? Just an empty template? Or does something else make more sense?
>
> there is `std.traits.hasUDA` added to phobos recently.

Service:
https://github.com/D-Programming-Language/phobos/pull/3356
https://github.com/D-Programming-Language/phobos/pull/3363
June 07, 2015
On Sun, 07 Jun 2015 11:37:29 +0000, Marc Schütz wrote:

> On Sunday, 7 June 2015 at 06:20:55 UTC, ketmar wrote:
>> On Sun, 07 Jun 2015 05:32:46 +0000, Tofu Ninja wrote:
>>
>>> Whats the idiomatic way to check if an identifier has a specific UDA attached to it.
>>> 
>>> Also what should I use to define a UDA that doesn't need to carry any data? Just an empty template? Or does something else make more sense?
>>
>> there is `std.traits.hasUDA` added to phobos recently.
> 
> Service: https://github.com/D-Programming-Language/phobos/pull/3356 https://github.com/D-Programming-Language/phobos/pull/3363

thank you, i should provide the links from the start, so OP can copypaste the code.