Katakanlah saya memiliki cuplikan ( taman bermain ) berikut
struct A {
pub val: u32
}
const GLOBAL_A: A = A {val: 2};
fn main() {
let some_a: A = GLOBAL_A;
let other_a: A = GLOBAL_A;
println!("double val = {}", some_a.val + other_a.val);
}
Karena A
tidak Clone
atau tidak Copy
, saya akan menganggap nilai GLOBAL_A
akan dipindahkan. Itu tidak masuk akal untuk const dan seperti yang ditunjukkan tidak dapat terjadi karena itu dapat "dipindahkan" dua kali.
Apa yang aturan yang memungkinkan potongan di atas bekerja mengingat A
tidak Clone
juga Copy
?