//@ run-pass
// Test that `Box<Test>` is equivalent to `Box<Test+'static>`, both in
// fields and fn arguments.

//@ pretty-expanded FIXME #23616

#![allow(dead_code)]

trait Test {
    fn foo(&self) { }
}

struct SomeStruct {
    t: Box<dyn Test>,
    u: Box<dyn Test+'static>,
}

fn a(t: Box<dyn Test>, mut ss: SomeStruct) {
    ss.t = t;
}

fn b(t: Box<dyn Test+'static>, mut ss: SomeStruct) {
    ss.t = t;
}

fn c(t: Box<dyn Test>, mut ss: SomeStruct) {
    ss.u = t;
}

fn d(t: Box<dyn Test+'static>, mut ss: SomeStruct) {
    ss.u = t;
}

fn main() {
}
