// run-pass #![allow(unused_must_use)] use std::slice::Iter; use std::io::{Error, ErrorKind, Result}; use std::vec::*; fn foo(it: &mut Iter) -> Result { Ok(*it.next().unwrap()) } fn bar() -> Result { let data: Vec = Vec::new(); if true { return Err(Error::new(ErrorKind::NotFound, "msg")); } let mut it = data.iter(); foo(&mut it) } fn main() { bar(); }