On Tuesday, 24 May 2022 at 02:55:06 UTC, Tejas wrote:
On Tuesday, 24 May 2022 at 02:29:38 UTC, cc wrote:
```d
import core.memory;
import core.stdc.stdlib : malloc, free;
import core.lifetime : emplace;

[...]

FWIW your code will compile if you add `extern(C++)` to `Foo`

Interesting, thanks. I noticed something similar when trying to call malloc in a pure function...

std.internal.memory:
```d
extern (C) @nogc nothrow pure private
{
    pragma(mangle, "malloc") void* fakePureMalloc(size_t) @safe;
pragma(mangle, "calloc") void* fakePureCalloc(size_t nmemb, size_t size) @safe; pragma(mangle, "realloc") void* fakePureRealloc(return scope void* ptr, size_t size) @system;
}
```

Reply via email to