about summary refs log tree commit diff
path: root/tests/ui/async-await/async-drop/deref-later-projection.rs
blob: baf81daf766b65a5dc9f509780e310cb9f05f027 (plain)
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
// Ex-ICE: #140975
//@ compile-flags: -Zvalidate-mir
//@ build-pass
//@ edition:2021
#![crate_type = "lib"]
#![feature(async_drop)]
#![allow(incomplete_features)]

use std::{future::AsyncDrop, pin::Pin};

struct HasAsyncDrop ;
impl Drop for HasAsyncDrop {
    fn drop(&mut self) {}
}
impl AsyncDrop for HasAsyncDrop {
    async fn drop(self: Pin<&mut Self>) {}
}

struct Holder {
    inner: HasAsyncDrop,
}
async fn bar() {
    Holder {
        inner: HasAsyncDrop
   };
}