// This used to mis-compile because the mir-opt `SimplifyArmIdentity`
// did not check that the types matched up in the `Ok(r)` branch.
//
// run-pass
// compile-flags: -Zmir-opt-level=2

#[derive(Debug, PartialEq, Eq)]
enum SpecialsRes { Res(u64) }

fn e103() -> SpecialsRes {
    if let Ok(r) = "1".parse() {
        SpecialsRes::Res(r)
    } else {
        SpecialsRes::Res(42)
    }
}

fn main() {
    assert_eq!(e103(), SpecialsRes::Res(1));
}
