Arrays of structs
BBasile via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Thu Aug 27 05:35:40 PDT 2015
On Thursday, 27 August 2015 at 11:45:14 UTC, anonymous wrote:
> On Thursday 27 August 2015 13:15, BBasile wrote:
>
>> https://github.com/BBasile/iz/blob/master/import/iz/types.d#L125 https://github.com/BBasile/iz/blob/master/import/iz/types.d#L150 https://github.com/BBasile/iz/blob/master/import/iz/types.d#L191
>
> Your use of @trusted is wrong and dangerous. @trusted functions
> are supposed to be memory-safe, but you're marking unsafe
> functions with it.
>
> Things like a @trusted `free` [1] are just plain wrong. `free`
> isn't memory- safe.
>
> The problems with @trusted templates can be more subtle. Even
> if the template body itself doesn't do anything unsafe, the
> template arguments are being trusted, too. So if the template
> ever calls any code from the arguments (including constructors,
> destructors, postblits, ...), then it cannot be marked @trusted.
>
>
> [1]
> https://github.com/BBasile/iz/blob/master/import/iz/types.d#L112
the pointer is checked before the call. Yes it can be dangling
but free goes in pair with the newPtr funct. I plan to do better
when Andrei's allocators will be released:
https://github.com/BBasile/phobos/blob/showcase-construct/std/experimental/allocator/showcase.d#L105
Anyway. I cheat a bit with attributes but as long as it's only
for me...I know this kinds of functions are not phobos-level.
More information about the Digitalmars-d-learn
mailing list