error[E0521]: borrowed data escapes outside of function --> $DIR/trait-objects.rs:15:5 | LL | fn min_size(x: &mut dyn for<'a> StreamingIterator = &'a i32>) -> usize { | - - let's call the lifetime of this reference `'1` | | | `x` is a reference that is only valid in the function body LL | LL | x.size_hint().0 | ^^^^^^^^^^^^^ | | | `x` escapes the function body here | argument requires that `'1` must outlive `'static` | = note: due to current limitations in the borrow checker, this implies a `'static` lifetime error: aborting due to previous error For more information about this error, try `rustc --explain E0521`.