Angenommen, ich habe das folgende Snippet ( Spielplatz )
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);
}
Da Aweder Clonenoch ist Copy, würde ich davon ausgehen, dass der Wert von GLOBAL_Averschoben würde. Das macht für eine Konstante nicht viel Sinn und kann, wie gezeigt, sowieso nicht der Fall sein, da sie zweimal "verschoben" werden kann.
Was sind die Regeln , die das obige Snippet Arbeit ermöglichen unter Berücksichtigung Anicht Clonenoch Copy?