blob: 1d97eee521094c6b044a1bbc8c8f7aa7abea6594 [file] [log] [blame]
//@ compile-flags: -Zmir-enable-passes=+DataflowConstProp
//@ edition: 2021
//@ build-pass
#![feature(async_drop)]
#![allow(incomplete_features)]
use std::mem::ManuallyDrop;
use std::{
future::async_drop_in_place,
pin::{pin, Pin},
};
fn main() {
a(b)
}
fn b() {}
fn a<C>(d: C) {
let e = pin!(ManuallyDrop::new(d));
let f = unsafe { Pin::map_unchecked_mut(e, |g| &mut **g) };
let h = unsafe { async_drop_in_place(f.get_unchecked_mut()) };
h;
}