about summary refs log tree commit diff
path: root/tests/ui/async-await/async-drop/open-drop-error2.rs
blob: b2a7b68190ec1d89e3849cd4250d1e565d151587 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//@compile-flags: -Zvalidate-mir -Zinline-mir=yes --crate-type=lib

#![feature(async_drop)]
#![allow(incomplete_features)]

use std::{
    future::{Future, async_drop_in_place},
    pin::pin,
    task::Context,
};

fn wrong() -> impl Sized {
    //~^ ERROR: the size for values of type `str` cannot be known at compilation time
    *"abc" // Doesn't implement Sized
}
fn weird(context: &mut Context<'_>) {
    let mut e = wrong();
    let h = unsafe { async_drop_in_place(&raw mut e) };
    let i = pin!(h);
    i.poll(context);
}