Nói rằng tôi có đoạn trích sau ( sân chơi )
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);
}
Vì A
không phải Clone
cũng không Copy
, tôi sẽ cho rằng giá trị của GLOBAL_A
sẽ được di chuyển. Điều đó không có ý nghĩa nhiều đối với một const và như thể hiện không thể là trường hợp nào vì nó có thể được "di chuyển" hai lần.
Các quy tắc cho phép đoạn trích trên hoạt động A
là gì Clone
cũng không phải là Copy
gì?