Re: Using onOutOfMemoryError in C wrappers

2021-03-24 Thread Per Nordlöw via Digitalmars-d-learn
On Wednesday, 24 March 2021 at 10:25:21 UTC, Basile B. wrote: In now way. But in your question you mentioned @nogc nothrow and not @safe and pure. Ok, thanks. Note that core.exception.onOutOfMemoryError is already qualified as @nogc nothrow pure @trusted.

Re: Using onOutOfMemoryError in C wrappers

2021-03-24 Thread Jack via Digitalmars-d-learn
On Wednesday, 24 March 2021 at 08:31:19 UTC, Basile B. wrote: On Wednesday, 24 March 2021 at 07:58:22 UTC, Per Nordlöw wrote: When wrapping C code that tries to allocate memory resources via functions such as X* X_create(); should one call `onOutOfMemoryError();` upon null return? Making

Re: Using onOutOfMemoryError in C wrappers

2021-03-24 Thread Basile B. via Digitalmars-d-learn
On Wednesday, 24 March 2021 at 08:51:34 UTC, Per Nordlöw wrote: On Wednesday, 24 March 2021 at 08:31:19 UTC, Basile B. wrote: There are several ways to do that. In addition to onOutOfMemoryError, you can use a static instance void v() @nogc nothrow { __gshared oom = new OutOfMemoryErro

Re: Using onOutOfMemoryError in C wrappers

2021-03-24 Thread Per Nordlöw via Digitalmars-d-learn
On Wednesday, 24 March 2021 at 08:31:19 UTC, Basile B. wrote: There are several ways to do that. In addition to onOutOfMemoryError, you can use a static instance void v() @nogc nothrow { __gshared oom = new OutOfMemoryError(); auto X* = X_create(); if (X is null) throw o

Re: Using onOutOfMemoryError in C wrappers

2021-03-24 Thread Basile B. via Digitalmars-d-learn
On Wednesday, 24 March 2021 at 07:58:22 UTC, Per Nordlöw wrote: When wrapping C code that tries to allocate memory resources via functions such as X* X_create(); should one call `onOutOfMemoryError();` upon null return? Making more D wrappers `nothrow @nogc`. There are several ways to

Using onOutOfMemoryError in C wrappers

2021-03-24 Thread Per Nordlöw via Digitalmars-d-learn
When wrapping C code that tries to allocate memory resources via functions such as X* X_create(); should one call `onOutOfMemoryError();` upon null return? Making more D wrappers `nothrow @nogc`.