Class destructors - clarify what is safe
Paul Backus
snarwin at gmail.com
Sat Feb 14 22:03:17 UTC 2026
On Saturday, 14 February 2026 at 18:42:21 UTC, H. S. Teoh wrote:
>> As we can explicitly call destroy() on a class instance
>> multiple times, do we need to be "careful" of only closing a
>> file once, rather than closing a file multiple times, if that
>> can cause issues.
>
> Calling .destroy on a class object more than once may trigger
> UB.
This is technically true, in the sense that calling any function
could conceivably trigger UB, but destructors *should* be
idempotent, and any destructor marked as @safe *must* be
idempotent.
More information about the Digitalmars-d-learn
mailing list