// Test that the lifetime from the enclosing `&` is "inherited" // through the `MyBox` struct. #![allow(dead_code)] trait Test { fn foo(&self) { } } struct SomeStruct<'a> { t: &'a MyBox, u: &'a MyBox, } struct MyBox { b: Box } fn c<'a>(t: &'a MyBox, mut ss: SomeStruct<'a>) { ss.t = t; //~^ ERROR lifetime may not live long enough } fn main() { }