Если я хочу надежно кодировать в Rust
Тогда не стоит использовать unsafe
. Есть несколько законных причин для unsafe
(например, доступ к областям памяти, которые известны и безопасны для использования, например, на нескольких регистрах микроконтроллеров), но, как правило, вы не должны его использовать.
я должен кодировать, не используя арифметику указателей и просто используя соответствующий индекс массива, например
Да. Нет никакой причины (в данном конкретном случае) вообще использовать unsafe
. Просто используйте
for i in 0..buf.len() {
println!("Value {}", buf[i]);
}
Этот код, однако, не считается "ржавым", вместо этого используйте цикл for
for i in &buf {
println!("Value {}", i);
}