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).
