destroy and @safe
Antonio
antonio at abrevia.net
Tue Jun 21 16:20:32 UTC 2022
On Tuesday, 21 June 2022 at 15:13:36 UTC, Paul Backus wrote:
> If the destructor is `@system`, then the only way to call
> `destroy` in `@safe` code is to (1) determine the conditions
> necessary to call the destructor without violating memory
> safety, (2) ensure that those conditions are met (using compile
> time and/or runtime checks), and (3) wrap the call to `destroy`
> in a `@trusted` function.
>
> Since step (1) depends on the specific details of the
> destructor you want to call, I can't give any more specific
> advice unless you show a complete example that includes the
> destructor.
Thanks Paul.
The problem appears when destroying a dpq2 query result object
(not @safe). I supose I can accept postgres PGClean(result) is
safe "enought".
My code starts to be a @safe/@trusted mess (because external
libraries). The only solution I have is to "wrap" them or to
trust all code by default (I'm using vibe.d that forces @safe
code)
Only as a comment: I can remember now when dart/flutter
incorporated "sound null safety" and most of the third-party
libraries where ported by authors... everybody assumed this will
be the way of. D @safe "optional" adoption is a problem
As a personal advice, I would change the scoring system of the
packages to penalize when they are not "safe"
More information about the Digitalmars-d-learn
mailing list