# Aleksey Kladov - Why Not Rust (Highlights)

## 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