y: i32,
}
fn main() {
let mut a = Point { x: 1, y: 2 };
a.x += 1;
let b = Point { y: 1, ..a };
a.x += 1;
println!("{}", b.x);
}
Почему в данном примере после оператора ..a переменная а всё ещё доступна если при объявлении структуры идёт присваивание и по сути значение из структуры а должны переместиться в b? Надеюсь понятно объяснил
Обращение пошло не ко всему a, а только к полю x. Он - i32, то есть примитив, то есть для него имплементирован Copy-trait.
Обсуждают сегодня