User Defined Attributes

Walter Bright newshound2 at digitalmars.com
Tue Nov 6 08:50:53 PST 2012


On 11/6/2012 8:42 AM, dennis luehring wrote:
> Am 06.11.2012 16:18, schrieb Walter Bright:> On 11/6/2012 6:30 AM, dennis
> luehring wrote:
>  >   > Am 06.11.2012 14:14, schrieb Adam D. Ruppe:
>  >   >> On Tuesday, 6 November 2012 at 07:55:51 UTC, Walter Bright wrote:
>  >   >>> User Defined Attributes (UDA) are compile time expressions that
>  >   >>> can be attached to a declaration.
>  >   >>
>  >   >> Hmmm, it didn't work on the most important place for my use case,
>  >   >> function parameters:
>  >   >>
>  >   >> void a(["test"] int foo) {
>  >   >>       pragma(msg, __traits(getAttributes, foo));
>  >   >> }
>  >   >
>  >   > sad - but its still very young feature :)
>  >   >
>  >   > im using something like an description on my methods to describe parameter
>  >   > "features" for an resource manager - something like "read", "write", "copy",
>  >   > "read_write" etc.
>  > But there's already out=write, read=all of them, read_write=ref, copy=not a ref
>  > or an out.
>
> and now expand that to an higher level manager that use such information for
> implementing(generating) runtime loading and locking strategies in a tree/graph
> based environment - based on the parameters needs ... i've got something like
> that in C++ using its own interface description language and an generator

But D already has parameter attributes that cover those bases. What would UDAs 
add to that? (I know C++ is deficient in this, which is why IDL was invented, 
but I don't see what UDAs add to what D already provides - no IDL is needed for D).



More information about the Digitalmars-d-announce mailing list