trait Future { type Item; type Error; } use std::error::Error; fn foo() -> impl Future> { //~^ ERROR not satisfied Ok(()) } fn main() {}