说我有以下片段(游乐场)
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);
}
由于A
既不是也不Clone
是Copy
,我假设的值GLOBAL_A
将被移动。这对于const来说没有多大意义,而且无论如何也无法显示,因为它可以被“移动”两次。
允许以上代码片段起作用的规则A
是什么Clone
也不是Copy
?