Для кода:Доступа к содержанию в перечислении с принадлежащем указателем в циклю
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"
};
}
}
Я получаю следующее сообщение об ошибке:
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
Если изменить строку в междунар так ли компилирует штраф.
Мои вопросы: Как получить доступ к содержимому принадлежащего указателю в перечислении в цикле for? Есть ли альтернативный итератор, который я должен использовать?
Версия Rust, которую я использую, скомпилирована из мастера.
Я не рядом с моим компьютером, и 0.7 не удается установить на этом ноутбуке, но я думаю, вы должны попробовать '& Баз (исх х)' , –