// Check that the `'_` in `dyn Trait + '_` acts like ordinary elision, // and not like an object lifetime default. // // cc #48468 fn a(items: &[T]) -> Box> { // ^^^^^^^^^^^^^^^^^^^^^ bound *here* defaults to `'static` Box::new(items.iter()) //~^ ERROR lifetime may not live long enough } fn b(items: &[T]) -> Box + '_> { Box::new(items.iter()) // OK, equivalent to c } fn c<'a, T>(items: &'a [T]) -> Box + 'a> { Box::new(items.iter()) // OK, equivalent to b } fn main() { }