blob: a688f503517d0b344fcf7f6e9a8e02c725d06903 [file]
#![feature(reborrow)]
use std::marker::{Reborrow, PhantomData};
struct CustomMarker<'a>(PhantomData<&'a ()>);
impl<'a> Reborrow for CustomMarker<'a> {}
fn method<'a>(_a: CustomMarker<'a>) -> &'a () {
&()
}
fn main() {
let a = CustomMarker(PhantomData);
let b = method(a);
let _ = (a, b); //~ERROR cannot move out of `a` because it is borrowed
}