2022-10-03 20:27:11 -05:00
|
|
|
// edition: 2021
|
2023-03-07 15:26:02 -06:00
|
|
|
// [next] compile-flags: -Zlower-impl-trait-in-trait-to-assoc-ty
|
|
|
|
// revisions: current next
|
2022-10-03 20:27:11 -05:00
|
|
|
|
|
|
|
#![feature(async_fn_in_trait)]
|
|
|
|
#![allow(incomplete_features)]
|
|
|
|
|
|
|
|
use std::future::Future;
|
|
|
|
|
|
|
|
trait MyTrait {
|
|
|
|
async fn foo(&self) -> i32;
|
|
|
|
}
|
2022-10-04 18:35:49 -05:00
|
|
|
|
2022-10-03 20:27:11 -05:00
|
|
|
impl MyTrait for i32 {
|
|
|
|
fn foo(&self) -> impl Future<Output = i32> {
|
2023-02-21 19:10:52 -06:00
|
|
|
//~^ ERROR `impl Trait` only allowed in function and inherent method return types, not in `impl` method return types
|
2022-11-02 19:45:08 -05:00
|
|
|
async { *self }
|
2022-10-03 20:27:11 -05:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {}
|