dmd
dmd copied to clipboard
Draft: replace AA runtime hooks with templated implementation
Adds the complete templated implementation to newaa.d, keeping binary compatibility with rt/aaa.d for now.
This should help inferring proper function attributes on the operations, aswell as using regular constructors/copy operation on key and value types.
Four of the six compiler hooks are replaced, but there are two more calls from TypeInfo_AssociativeArray's getHash() and equal() to forward.
Most of the time was spent fighting inout in template arguments :/