次のスニペット(遊び場)があるとしましょう
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にはあまり意味がなく、示されているように、2回「移動」できるため、とにかくそうなることはありません。
上記のスニペットを考慮動作するようルールはどのようなものA
ではありませんClone
やCopy
?