1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
//@ run-pass
// Test that `Box<Test>` is equivalent to `Box<Test+'static>`, both in
// fields and fn arguments.
#![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() {
}
|