Proposal: user defined attributes

dennis luehring dl.soluz at gmx.net
Mon Mar 19 03:42:38 PDT 2012


Am 19.03.2012 10:03, schrieb F i L:
> dennis luehring wrote:
>>  i don't get the GC relation here?
>>
>>  all attribute values are static const - because they are
>>  type-related (static) and read-only, attributes are type
>>  orientated not instance orientated
>
> C# doesn't support free-types (everything's wrapped up in
> classes) so the technique isn't going to be identical. In D,
> you'd need to be able to declare an attribute on virtually any
> entity declaration and have the compiler dish out the appropriate
> code.
>
> Trove's suggesting that the compiler simply looks up user-defined
> functions associated with<AttributeX>  and inject the code into
> the appropriate place, which I think is a good idea. The problem
> I see is how to do more advanced structural changes like C# does
> with [FieldOffset(0)]. Things like:
>
>       @Int.Fast int index;
>       assert(index.sizeof == int.sizeof) // always?
>
> which might break the type system, so I'm not sure it's even
> possible. The compiler might have passed the point of no-return
> with such attributes.
>
> Regardless, I think was Trove's suggesting would work well.

sound to simple to fit in non trival cases


More information about the Digitalmars-d mailing list