On 4/10/15 8:45 PM, Daniel Murphy wrote:
"Andrei Alexandrescu"  wrote in message
news:[email protected]...

Can you make a salient argument that this is a step in the right
direction? In that case what's the vision for future steps? Thanks! --
Andrei

This approach makes the common cases of AAs in the data segment work.
This enables a very useful idiom of defining a constant lookup table and
using it at runtime to map values.

The hashing and AA implementations that need to be replicated in the
compiler are trivial, and easily updated if anybody does change the
druntime implementation.  At worst it's pretty much a copy-paste from
the druntime sources.  And as I've said, I'm happy provide a matching
dmd implementation of anybody's new druntime implementation.

A future library AA implementation would not be complicated by this
patch, because the code in this patch is only reached when an AA literal
survives until codegen.  A library AA would lower the AA literal to some
other construct before codegen.

This is a step in the right direction because it will make the common
cases of this feature work.  That's it.  It doesn't hurt or help other
AA issues in a significant way.

This is nice work, but sorry it is hardly conductive to warm fuzzy feelings. -- Andrei

Reply via email to