aha, takže let mut b ... znamená jen to, že do toho b můžu později přiřadit jiný slice, vůbec to nesouvisí s tím, co přiřazuji?
Jinak díky, takto to valí (v předchozím příkladu byla chyba a[3..4] vrací jednoprvkový slice, takže žádné b[1] neexistuje, sorry)
fn main() {
let mut a = [1,2,3,4,5,6];
let mut b = &mut a[3..5];
b[1] = 10;
for i in b.iter() {
println!("{}", i);
}
}