| error[E0053]: method `foo` has an incompatible type for trait |
| --> $DIR/dont-project-to-specializable-projection.rs:14:5 |
| | |
| LL | default async fn foo(_: T) -> &'static str { |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected associated type, found future |
| | |
| note: type in trait |
| --> $DIR/dont-project-to-specializable-projection.rs:10:5 |
| | |
| LL | async fn foo(_: T) -> &'static str; |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| = note: expected signature `fn(_) -> impl Future<Output = &'static str>` |
| found signature `fn(_) -> impl Future<Output = &'static str>` |
| |
| error: async associated function in trait cannot be specialized |
| --> $DIR/dont-project-to-specializable-projection.rs:14:5 |
| | |
| LL | default async fn foo(_: T) -> &'static str { |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| | |
| = note: specialization behaves in inconsistent and surprising ways with async functions in traits, and for now is disallowed |
| |
| error[E0599]: no method named `poll` found for struct `Pin<&mut impl Future<Output = ()>>` in the current scope |
| --> $DIR/dont-project-to-specializable-projection.rs:49:28 |
| | |
| LL | match fut.as_mut().poll(ctx) { |
| | ^^^^ method not found in `Pin<&mut impl Future<Output = ()>>` |
| --> $SRC_DIR/core/src/future/future.rs:LL:COL |
| | |
| = note: the method is available for `Pin<&mut impl Future<Output = ()>>` here |
| | |
| = help: items from traits can only be used if the trait is in scope |
| help: trait `Future` which provides `poll` is implemented but not in scope; perhaps you want to import it |
| | |
| LL + use std::future::Future; |
| | |
| |
| error: aborting due to 3 previous errors |
| |
| Some errors have detailed explanations: E0053, E0599. |
| For more information about an error, try `rustc --explain E0053`. |