есть функция в которой надо найти позиций значений, если хоть одно не найдено выдавать ошибку:
fn read() -> Result<(), io::Err> {
let vec: Vec<u8> = !vec[2, 5, 8, 10, 15, 16];
if let Some(poz_1) = self.responce.iter().position(|&el| el == 8) &&
let Some(poz_2) = self.responce.iter().position(|&el| el == 15) &&
let Some(poz_3) = self.responce.iter().position(|&el| el == 12) {
return Ok(());
} else {
return io::Err::new("understading message");
}
}
компилятор не дает через && это делать
`let` expressions in this position are unstable
see issue #53667 <https://github.com/rust-lang/rust/issues/53667> for more informationrustcE0658
[E0658] `let` expressions in this position are unstable.
но писать 3+ if-ов или match выглядить трудночитабельно, как можно еше сделать?