Is there a cleaner, more "rusty" way to write the loop?
fn foo<T: Eq>(things: Vec<T>, others: Vec<T>, start: usize) -> Result<(), ()> {
for (i, thing) in things.iter().enumerate() {
if let Some(true) = others.get(start + i).map(|other| other == thing) {
continue;
}
return Err(());
}
Ok(())
}