Comment by nextaccountic

2 years ago

> You can also discuss Rust's failures. Rust, after all, didn't get uninitialized memory right.

I think that's a success story because while Rust 1.0 shipped with the hopelessly broken std::mem::unitialized, Rust 1.36 shipped with std::mem::MaybeUninit that fixed the situation. (it's true that they can't definitely remove the broken API, but it can be aggressively linted against nonetheless)

That is, it's a flaw present in the first version of the language but a success of the development process and language evolution, without breaking backwards compatibility

https://doc.rust-lang.org/std/mem/fn.uninitialized.html

https://doc.rust-lang.org/std/mem/union.MaybeUninit.html