AFAIK, auto-vectorization has the same limitation in Rust as in C and C++ - it cannot be required. Hence, it is very easy to break the vectorization in brittle ways, without even noticing the issue.<p>It would be nice to have a sort of autovec-or-error annotation for preventing this.
If you learned Rust first but find yourself reading a lot of C then this is also a good thing to read because of the parallels it draws with the languages.
TL;DR: An introduction to Rust which starts with a Rust-unsafe C program, writing a Rust equivalent, then evolves it towards some of the higher-level abstractions in Rust.<p>(As opposed to the non-dangerous way which means writing safe code to begin with and mentioning unsafe as the exception)