Di 'che ho il seguente frammento ( parco giochi )
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);
}
Poiché Anon è né Clonené Copy, suppongo che il valore di GLOBAL_Asarebbe spostato. Ciò non ha molto senso per una const e, come mostrato, non può essere il caso, poiché può essere "spostato" due volte.
Quali sono le regole che consentono al frammento di cui sopra di funzionare considerando Ano Cloneo Copy?