Pour le code:Accès au contenu d'un ENUM avec un pointeur appartenant à une boucle
enum A {
Foo,
Bar,
Baz(~str)
}
#[test]
fn test_vector(){
let test_vec = ~[Foo, Bar, Baz(~"asdf")];
for x in test_vec.iter() {
match x {
&Foo => true,
&Bar => true,
&Baz(x) => x == ~"asdf"
};
}
}
Je reçois l'erreur suivante:
stackoverflow.rs:15:13: 15:19 error: cannot move out of dereference of & pointer
stackoverflow.rs:15 &Baz(x) => x == ~"asdf"
^~~~~~
error: aborting due to previous error
Si je change la chaîne à un int il compile bien.
Mes questions sont: Comment puis-je accéder au contenu d'un pointeur appartenant à une énumération dans une boucle for? Y a-t-il un autre itérateur que je devrais utiliser?
La version de Rust que j'utilise est compilée à partir du maître.
Je ne suis pas près de mon ordinateur, et 0,7 ne parvient pas à installer sur cet ordinateur portable, mais je pense que vous devriez essayer '& Baz (ref x)' . –