Hacker News new | ask | show | jobs
by tgv 127 days ago
But if I'm not mistaken, this is just handling index allocation, release and avoiding dangling manually. The programmer is still responsible, right? And I don't think Rust can do better for indices, since indices are normal, "eternal" values.
1 comments

> this is just handling index allocation, release and avoiding dangling manually

No, it is abstracted away. You just have to follow best practices when writing a library.

  resource foo(...); // This gets freed at the end of scope. See RAII.
  auto x = make_unique<resource>(...); // can be moved, freed when owner is.
  auto y = make_shared<resource>(...); // freed on zero reference count