# Aleksey Kladov - Why Not Rust (Highlights) ![rw-book-cover|256](https://readwise-assets.s3.amazonaws.com/static/images/article2.74d541386bbf.png) ## Highlights - Ada is memory safe if you don’t use dynamic memory - Somewhat amusingly, Rust’s default ABI (which is not stable, to make it as efficient as possible) is sometimes worse than that of C: [#26494](https://github.com/rust-lang/rust/issues/26494#issuecomment-619506345). - The biggest one is probably the fact that Rust’s move semantics is based on values (`memcpy` at the machine code level). - Finally, while in theory Rust code should be more efficient due to the significantly richer aliasing information, enabling aliasing-related optimizations triggers LLVM bugs and miscompilations: [#54878](https://github.com/rust-lang/rust/issues/54878). - *First*, there’s no definition of Rust memory model, so it is impossible to formally check if a given unsafe block is valid or not. - `unsafe` blocks are not, in fact, modular