История изменений
Исправление Silerus, (текущая версия) :
Это не важно, язык запрещает работать с тем чего нет. Но вот вам вариант с указателем
use std::cell::RefCell;
fn main() {
// это во время компиляции проверяется
let mut arr = Box::new([' ';100]);
//let mut arr:Box<['';100]>; - так работать не будет
arr[99]='b';
println!("{:?}",arr);
// это рантайм
let mut arr = RefCell::new([' ';100]);
//let mut arr: RefCell<[char;100]>; так не скомпилируется
arr.get_mut()[99]='b';
println!("{:?}",arr);
}
Исходная версия Silerus, :
Это не важно, язык запрещает работать с тем чего нет. Но вот вам вариант с указателем
use std::cell::RefCell;
fn main() {
// это во время компиляции проверяется
let mut arr = Box::new([' ';100]);
//let mut arr:Box<['';100]>; - так работать не будет
arr[99]='b';
println!("{:?}",arr);
// это рантайм
let mut arr = RefCell::new([' ';100]);
// let mut arr: RefCell<[char;100]>; так не скомпилируется
arr[99]='b';
println!("{:?}",arr);
}