manual memory management
Benjamin Thaut
code at benjamin-thaut.de
Mon Jan 7 09:57:48 PST 2013
Am 07.01.2013 16:49, schrieb Gor Gyolchanyan:
> On Mon, Jan 7, 2013 at 7:25 PM, David Nadlinger <see at klickverbot.at
> <mailto:see at 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 <http://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.
You can use my GC free hashmap if you want:
https://github.com/Ingrater/druntime/blob/master/src/core/hashmap.d
Kind Regards
Benjamin Thaut
More information about the Digitalmars-d
mailing list