warning: the feature `return_type_notation` is incomplete and may not be safe to use and/or cause compiler crashes --> $DIR/normalizing-self-auto-trait-issue-109924.rs:7:12 | LL | #![feature(return_type_notation)] | ^^^^^^^^^^^^^^^^^^^^ | = note: see issue #109417 for more information = note: `#[warn(incomplete_features)]` on by default error[E0277]: `impl Future { <_ as Foo>::bar() }` cannot be sent between threads safely --> $DIR/normalizing-self-auto-trait-issue-109924.rs:22:11 | LL | build(Bar); | ----- ^^^ `impl Future { <_ as Foo>::bar() }` cannot be sent between threads safely | | | required by a bound introduced by this call | = help: the trait `for<'a> Send` is not implemented for `impl Future { <_ as Foo>::bar() }` note: this is a known limitation of the trait solver that will be lifted in the future --> $DIR/normalizing-self-auto-trait-issue-109924.rs:22:11 | LL | build(Bar); | ------^^^- | | | | | the trait solver is unable to infer the generic types that should be inferred from this argument | add turbofish arguments to this call to specify the types manually, even if it's redundant note: required by a bound in `build` --> $DIR/normalizing-self-auto-trait-issue-109924.rs:19:39 | LL | fn build(_: T) where T: Foo {} | ^^^^ required by this bound in `build` error: aborting due to 1 previous error; 1 warning emitted For more information about this error, try `rustc --explain E0277`.