> On the other hand, the Rust code is guaranteed at compile time to be free from buffer overruns
No it's not. In this line:
.zip(&buffer[i - 12..i])
you can just put any indices and it will compile.