D-Programming-Language/dmd — pull request #688 by yebblies (2012-02-03 05:45:24+00:00)
Title: Remove AssociativeArray from druntime

This removes all references to AssociativeArray in the compiler, as well as some hacks in the interpreter to support it.
I think some of what I fixed never worked.
The extensions that were in object.d are still there, just as ufcs methods instead of member functions. This means no hacky casting between types, and no need to mirror the structures in aaA.d.

Limitation: The byKey and byValue opApply methods do not work at compile time, but that is not a regression.

This is not quite ready, one case I couldn't get working was comparing an aa with a ref variable containing an aa, see line 105 in testaa3. @donc how do you force the interpreter to do this? (interpret.c 6329)

See also: https://github.com/D-Programming-Language/druntime/pull/143