So, User-Defined Attributes
Jacob Carlborg
doob at me.com
Fri Jan 4 07:58:11 PST 2013
On 2013-01-04 16:45, Philippe Sigaud wrote:
> Syntax:
>
> @(3) int a;
> @("string", 7) int b;
>
> enum Foo;
> @Foo int c;
>
> struct Bar
> {
> int x;
> }
>
> @Bar(3) int d;
>
>
> From that, I get we can put any CT symbol (even a value) as an
> attribute. I thought we were restricted to user defined types.
No, basically anything that can be put in a tuple can be used as an UDA.
I'm wondering if we want to add a meta attribute to Phobos or druntime
(object.d). Some thing like:
enum attribute;
@attribute struct Foo { }
Now, by convention "Foo" is an attribute and should only be used as an
attribute. We could also add some functions to std.traits for querying
UDA that takes advantage of this attribute.
--
/Jacob Carlborg
More information about the Digitalmars-d
mailing list