User Defined Attributes

Max Samukha maxsamukha at gmail.com
Thu Nov 8 10:03:52 PST 2012


On Thursday, 8 November 2012 at 12:42:38 UTC, Jacob Carlborg 
wrote:
> On 2012-11-08 10:08, Max Samukha wrote:
>
>> Could you explain why it is impossible without complicating 
>> the current
>> state of things? I gave it a quick try and it seems to work 
>> reasonably
>> well (a proper implementation will be more involved due to 
>> compiler bugs
>> and language issues irrelevant to this discussion):
>
> I just see no point in allowing random structs and classes 
> acting like attributes.
>
> Suddenly someone starts to use your struct as an attribute 
> without you having any intention of it acting like an attribute 
> and you don't know about it.

The problem is where to draw the line. There is nothing to stop 
an idiot programmer from applying your attributes to a wrong 
target, so we'd better take care of that by introducing those 
target-restricting attributes specially treated by the compiler.

Instead of throwing attributes on attributes, I'd rather have 
decorators based on templates as someone proposed. Those would 
allow the programmer to implement arbitrary restrictions on their 
usage.


More information about the Digitalmars-d-announce mailing list