// { dg-options "-w -O0 -fdump-tree-gimple" }
struct Foo {
    First: i32,
    Second: f32
}
struct Bar {
    First: i32,
    Second: f32
}
struct Baz {
    First: i32,
    Second: f32
}
const A:Foo = Foo { First: 1, Second: 1.0 };
const B:Bar = Bar { First: 2, Second: 2.0 };
const C:Baz = Baz { First: 3, Second: 2.0 };
const fn test() -> f32 {
    if (A.First == 2) {
        return A.Second;
    }
    else if (B.First == 2) {
        return B.Second;
    }
    else if (C.First == 2) {
        return C.Second;
    }
    return 0.0;
}
const D:f32 = test();
fn main() {
    // { dg-final { scan-tree-dump-times {d = 2.0} 1 gimple } }
    let d = D;
}