about summary refs log tree commit diff
path: root/tests/ui/async-await/format-await-send.rs
blob: 13ae7233fd680483797dd3b4b6e2e024bdf985d7 (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
// regression test for <https://github.com/rust-lang/rust/issues/101650>
// assert that Future which has format!() with an async function is Send

#![allow(unused)]

//@ check-pass
//@ edition: 2018

use core::future::Future;
use core::pin::Pin;

fn build_string() -> Pin<Box<dyn Future<Output = String> + Send>> {
    Box::pin(async move {
        let mut string_builder = String::new();
        string_builder += &format!("Hello {}", helper().await);
        string_builder
    })
}

async fn helper() -> String {
    "World".to_string()
}

fn main() {}