Earlier quoted context omitted.
Does it just deallocate at the end of a scope? Why go halfway? It's obviously valuable and destructors are not complicated. Destructors can also close files, sockets, deallocate buffers from the GPU, etc. I think when people want C semantics they will just use C in general, but if there is something that solves these extreme pain points in a simple way it might be enough to get someone to switch.
Yes the temp allocator will remove things at the end of it's scope. It makes it very clear when memory will be affected and gives predictable code execution. There are other contexts for managing mutex locks so they auto close and you could dream up one for database connections and transactions too. The nice things about a context is you can always see it's there, destructors by design are a bit hidden which can make…
I have never heard anyone say they are hard to reason about, especially if there is no garbage collection or inheritance.