While both involve aliasing, C's strict aliasing and Rust's aliasing are two different things. Rust pretty explicitly did not adopt the C style.
C's aliasing is based on type alone, hence its other name "type based alias analysis" or TBAA.
C's aliasing is based on type alone, hence its other name "type based alias analysis" or TBAA.
Though Linus and Linux turns off even strict aliasing/TBAA.
Rust's rules are very simple and easy to get right - not least because breaking them is a compiler error.
How is your comment consistent with some C compilers enabling users to disable TBAA/strict aliasing? Like the Linux kernel does. Do those codebases fit "compile to a very surprising series of instructions,"?