Dis que j'ai l'extrait de code suivant ( aire de jeux )
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);
}
Puisque A
n'est ni Clone
ni Copy
, je suppose que la valeur de GLOBAL_A
serait déplacée. Cela n'a pas beaucoup de sens pour un const et comme illustré ne peut pas être le cas de toute façon car il peut être "déplacé" deux fois.
Quelles sont les règles qui permettent l'extrait ci - dessus au travail considérant A
n'est pas Clone
ni Copy
?