Adding UDA at compile time

Andrea Fontana via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Aug 26 07:29:29 PDT 2015


On Wednesday, 26 August 2015 at 14:01:00 UTC, Alex Parrill wrote:
> On Wednesday, 26 August 2015 at 08:19:04 UTC, Andrea Fontana 
> wrote:
>> I wonder if there's a way to add UDA to functions at 
>> compile-time (so I can read later from other parts of 
>> application).
>>
>> Andrea
>
> What do you mean? UDAs are already specified at compile time.
>
>
> 	@("hello")
> 	void foo() {
> 		
> 	}
>
> 	static assert(__traits(getAttributes, foo)[0] == "hello");

__traits(setAttributes, ...)

It would be useful, for example, if I have a list of functions to 
mark. Let's say

enum toExport = ["oldFunction", "thisToo"];
foreach(d; toExport) __traits(setAttributes, ...);


More information about the Digitalmars-d-learn mailing list