Hacker News new | ask | show | jobs
by proto_lambda 1012 days ago
> Rust just took C++ std::unique and std::shared ptr and made those integrated directly in the language, and the only option for allocation

Not really. Both Box and Rc/Arc are first and foremost library features implemented using the equivalent of malloc() and free(). Box is a bit special due to its deref semantics, but other than that, there's nothing stopping you from implementing them or something else yourself.

1 comments

Thanks, never wrote Rust so I'm just guessing. What else there is, besides static type checks? Is there a runtime side too?
There is no runtime (other than init/exit handling). The main thing that provides memory safety without a GC is the borrow checker, which is a language feature and independent of the smart pointer types in the standard library.