// Test that type inference fails where there are multiple possible return types // for the `?` operator. fn f(x: &i32) -> Result { Ok(*x) } fn g() -> Result, ()> { let l = [1, 2, 3, 4]; l.iter().map(f).collect()? //~^ ERROR type annotations needed } fn main() { g(); }