Hacker News new | ask | show | jobs
by munificent 3409 days ago
> a simple object which holds your DOM handles via incrementing numeric IDs and pass them back to your Rust (or C++) code.

How do you know when to release those handles so the GC can clean them up?

1 comments

In my case I knew when the owning Rust struct was destroyed, and it was guaranteed to be the only thing holding the element handle so I would just free the DOM node during the destruction logic.

For something more general purpose I'd probably just use a destructor (whether C++ or Rust) with the same guarantee of single-ownership of the underlying ID, and the DOM node will automatically be freed once the native handle goes out of scope.

Edit: Of course, you'd have to prohibit copies on the native side.