// check-pass trait Captures<'a> {} impl Captures<'_> for T {} fn foo(x: &mut i32) -> impl Sized + Captures<'_> + 'static {} fn overlapping_mut() { let i = &mut 1; let x = foo(i); let y = foo(i); } fn live_past_borrow() { let y; { let x = &mut 1; y = foo(x); } } fn main() {}