struct S; impl Iterator for S { type Item = i32; fn next(&mut self) -> Result { Ok(7) } //~^ ERROR method `next` has an incompatible type for trait //~| expected `Option`, found `Result` } fn main() {}