What is the Correct way to Malloc in @nogc section?

Foo via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Fri Feb 13 15:04:24 PST 2015


On Friday, 13 February 2015 at 22:55:27 UTC, anonymous wrote:
> On Thursday, 12 February 2015 at 23:52:41 UTC, Foo wrote:
>> This is something I've done recently.
>> Would be glad if my code will help you:
>> https://github.com/Dgame/m3
>> Especially the m3.d module could be useful for you.
>
> /* Class and Struct */
>
> emplace: You can't assume zero-initialization for structs.
> destruct: Is not memory-safe, and must not be marked @trusted.
>
> /* Array */
>
> make: You can't assume zero-initialization. T.sizeof is not the 
> size of an element.
I'm aware of that.
> reserve: Not safe (you're freeing the old memory), must not be 
> @trusted.
> append: T.sizeof is not the size of an element. You're 
> multiplying twice with T.sizeof; in `append`, and also in 
> `reserve`.
> destruct: Not safe, must not be @trusted.
Ah, that is nice to know. I will fix this soon. Or would you help 
me out with an PR?

Don't understand me wrong. My code is not perfect, but maybe it 
can be helpful for someone.


More information about the Digitalmars-d-learn mailing list