//@ check-pass | |
trait Captures<'a> {} | |
impl<T> 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() {} |