Hmm, I wonder about the use-cases of userland destructors.  It seems to
me they are mostly useful for sanity checks, and maybe to close
resources.  Are there others?

If not, I wouldn't worry much about the visibility of destructors,
because resources are scheduled for replacement anyway.

Besides closing resources and killing processes I've seen them store data to disk for caching, remove temp files, call callbacks/dispatch events, change state on other objects, dump stored errors to error_log in a loop in an error handler...

It looks like there's quite a lot of use-cases for them (Which can go wrong if called twice) that don't necessarily require resources to be involved

Reply via email to