// run-rustfix

#![allow(warnings)]

struct A;
struct B;

fn foo() -> Result<A, B> {
    Ok(A)
}

fn bar() -> Result<A, B> {
    foo()?
    //~^ ERROR try expression alternatives have incompatible types [E0308]
}

fn main() {}
