Anyone read it all and can tldr any interesting insights?
This came up before. TL;DR: If you use arena allocators everywhere then you won't have any memory errors!
I think the idea is a really interesting one but it would be better if he didn't wrap it in typical "I don't make mistakes" hubris. I mean I guess at least this time he has some more reason than "because I'm not stupid" but I think he's still wrong.
His technique probably reduces the chance of memory errors, but there's still nothing checking his work so he's still going to make mistakes.
The other issue he doesn't address is resource allocation. It's fine to just drop the memory of a lot of things but sometimes you have to close files, handles, etc. RAII handles that perfectly. I'm not sure about this.
I would say RAII and Rust's borrow checker are still superior but it's definitely true that they don't work well with arenas.
> I would say RAII and Rust's borrow checker are still superior but it's definitely true that they don't work well with arenas.
Note that this will definitely improve in future versions of Rust. Local allocators are an unstable feature already, and can support arena allocation.
As a C programmer who uses memory arenas quite frequently can you expand on what you know about Rust’s current or future support for such a feature?
I’d like to start writing new projects in Rust and I’d like to continue to use this approach to memory management!