1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
//@ edition:2018
use core::{
convert::identity,
marker::PhantomPinned,
mem::drop as stuff,
pin::pin,
};
fn function_call_stops_borrow_extension() {
let phantom_pinned = identity(pin!(PhantomPinned));
//~^ ERROR temporary value dropped while borrowed
stuff(phantom_pinned)
}
fn promotion_only_works_for_the_innermost_block() {
let phantom_pinned = {
let phantom_pinned = pin!(PhantomPinned);
//~^ ERROR temporary value dropped while borrowed
phantom_pinned
};
stuff(phantom_pinned)
}
fn main() {
function_call_stops_borrow_extension();
promotion_only_works_for_the_innermost_block();
}
|