User defined attributes use

Maxim Fomin maxim at maxim-fomin.ru
Mon Sep 16 21:42:18 PDT 2013


On Monday, 16 September 2013 at 19:21:47 UTC, H. S. Teoh wrote:
> On Mon, Sep 16, 2013 at 08:56:17PM +0200, Namespace wrote:
> [...]
>> I hate this NotNull struct hack. It is the same crap as the 
>> current
>> scope solution. BTW: I'm curious which built-in feature will be
>> removed next, maybe AA?
> [...]
>
> That wouldn't be a bad idea, actually. The current AA 
> implementation is
> so horribly broken, and so wrong in so many ways (there are at 
> least 75
> bugs related to AA's, some of the worst of which are 11037, 
> 11025,
> 10916, 10525, 10381, 10380, 10046, just to name a few), that it 
> would do
> a world of good to get rid of them altogether, and then 
> reintroduce a
> properly-designed library solution for them.
>
> Of course, in the meantime everyone whose code breaks because 
> of that
> will form a mob to lynch me, so I'll have to survive long 
> enough to get
> the library solution working first. :-P
>
>
> T

This demonstrates an interesting issue.

I think the primary reason why you are complaining about AAs is 
not because their implementation is flawed but because you can't 
fix it without dmd's internals knowledge :)
I always consider ability to hack dmd as important skill (at 
least in better language understanding because it is not defined 
by standard but by reference implementation) in D and that's why 
I am skeptical about many ideas proposed in form of DIPs - 
(unless they are proposed by those folks whose names often appear 
in dmd git commit log) because such proposals are not 
implementable without dmd's knowledge.
I remember one point made recently by one regular D forum 
participant that it is more important 'to know the language 
itself', 'to be abstract from one particular implementation' 
rather then knowing 'dirty implementation details' to propose 
DIPs and that those who know dmd will eventually implement DIPs - 
yet number of DIPs is close to 50 and judging by ratio 
implemented DIPs/total DIPs it obvious that such assumption 
doesn't hold.
As a result community is stuck with many features of language are 
flawed but they can be hardly fixed - plenty discussions and DIPs 
are generated but problems are not moved by an inch.
I think if a person who has druntime/phobos commits to fix some 
issue but no dmd's one should ask in a forum thread/directly 
address to Walter/Kenji for a help request (addressing Walter 
should happen without hesitation because he is the first to be 
blamed :) ).


More information about the Digitalmars-d-learn mailing list