On 4/7/15 6:27 PM, Andrei Alexandrescu wrote:
On 4/7/15 3:22 PM, deadalnix wrote:
On Tuesday, 7 April 2015 at 22:14:46 UTC, Andrei Alexandrescu wrote:
Arrays would need to move data. Current hashtables rely on values
staying put. -- Andrei
I think it is fair to say current AA are bankrupt and need a revamping
anyway.
Doesn't strike me as a fair statement.
We can make the in operator return a wrapper that cast to bool (safely)
and get/update the data (systemely).
That's not enough. People may take the address of elements in the
hashtable and assume the data stays put. This is currently safe and
legal in D.
The correct way forward is to implement the AA in the library in the
safest way possible. Then, make the library implementation customizable
for specialized situations. But it needs to be fully in the library, not
partly in the compiler as it is now. Until that point, all these
discussions on AA updates are useless.
-Steve