4 ms·
It's a bit more complicated than that. Ada has no safe object deallocation, but guarantees safety as long as you don't use any unchecked operations (object dea
by Raphael_Amiard 10y ago
It's a bit more complicated than that. Ada has no safe object deallocation, but guarantees safety as long as you don't use any unchecked operations (object deallocation being one).
Ada is also much more powerful than C/C++ in terms of how far you can go with the safe subset of the language, since you can pass/return objects of unknown size in and out of functions by value.
There is no doubt that Rust static guarantees in terms of allocation/deallocation are very useful in some contexts. There is also no doubt that they're not sufficient at all to express every useful programs (for example you cannot safely express any structure with circularities, linked lists/graphs). In those cases you'll be back to unsafe constructs directly or indirectly.
So Rust has more expressivity in this regard but is still no silver bullet.