rust/tests/ui/async-await/issue-72442.rs

27 lines
570 B
Rust

//@ edition:2018
//@ incremental
use std::fs::File;
use std::future::Future;
use std::io::prelude::*;
fn main() -> Result<(), Box<dyn std::error::Error>> {
block_on(async {
{
let path = std::path::Path::new(".");
let mut f = File::open(path.to_str())?;
//~^ ERROR the trait bound
let mut src = String::new();
f.read_to_string(&mut src)?;
Ok(())
}
})
}
fn block_on<F>(f: F) -> F::Output
where
F: Future<Output = Result<(), Box<dyn std::error::Error>>>,
{
Ok(())
}