On Mon, Jan 7, 2013 at 7:25 PM, David Nadlinger <see@klickverbot.at> wrote:
On Monday, 7 January 2013 at 15:01:27 UTC, Gor Gyolchanyan wrote:
How can I have an associative array, which uses a custom allocator?

I'm afraid the only viable solution right now is to implement your own AA type as a struct with overloaded operators (which is in fact what the built-in AAs are lowered to as well).

There are two downside to this, though - besides, of course, the fact that you need a custom implementation:
 - You cannot pass your type to library functions expecting a built-in associative array.
 - You lose the convenient literal syntax. This could be fixed in the language, though, by providing a rewrite to a variadic constructor of user types for array/AA literals, thus eliminating the need for GC allocations (gah, another thing I just need to find the time to write up a DIP for…).

David

This means, that dlang.org is lying. D doesn't provide both a garbage collector and manual memory management. It provides a garbage collector and a lousy excuse for manual memory management. As much as I love D for it's metaprogramming and generative programming, it's not even remotely fit for system-level programming the way it claims it is.

I don't mean to be trolling, but it's not the first time I got grossly disappointed in D.

--
Bye,
Gor Gyolchanyan.