//@ test-mir-pass: ScalarReplacementOfAggregates
//@ compile-flags: -Cpanic=abort
//@ no-prefer-dynamic

trait Err {
    type Err;
}

struct Foo<T: Err> {
    // Check that the `'static` lifetime is erased when creating the local for `x`,
    // even if we fail to normalize the type.
    x: Result<Box<dyn std::fmt::Display + 'static>, <T as Err>::Err>,
    y: u32,
}

// EMIT_MIR lifetimes.foo.ScalarReplacementOfAggregates.diff
fn foo<T: Err>() {
    // CHECK-LABEL: fn foo(

    // CHECK-NOT: [foo:_.*]: Foo
    // CHECK-NOT: Box<dyn std::fmt::Display + 'static>
    let foo: Foo<T> = Foo { x: Ok(Box::new(5_u32)), y: 7_u32 };

    let x = foo.x;
    let y = foo.y;

    if let Ok(x) = x {
        eprintln!("{x} {y}");
    }
}

impl Err for () {
    type Err = ();
}

fn main() {
    foo::<()>()
}
