]> git.lizzy.rs Git - rust.git/blob - src/test/ui/pin-macro/lifetime_errors_on_promotion_misusage.rs
Rollup merge of #104001 - Ayush1325:custom-entry, r=bjorn3
[rust.git] / src / test / ui / pin-macro / lifetime_errors_on_promotion_misusage.rs
1 // edition:2018
2 #![feature(pin_macro)]
3
4 use core::{
5     convert::identity,
6     marker::PhantomPinned,
7     mem::drop as stuff,
8     pin::pin,
9 };
10
11 fn function_call_stops_borrow_extension() {
12     let phantom_pinned = identity(pin!(PhantomPinned));
13     //~^ ERROR temporary value dropped while borrowed
14     stuff(phantom_pinned)
15 }
16
17 fn promotion_only_works_for_the_innermost_block() {
18     let phantom_pinned = {
19         let phantom_pinned = pin!(PhantomPinned);
20         //~^ ERROR temporary value dropped while borrowed
21         phantom_pinned
22     };
23     stuff(phantom_pinned)
24 }
25
26 fn main() {
27     function_call_stops_borrow_extension();
28     promotion_only_works_for_the_innermost_block();
29 }