-
Notifications
You must be signed in to change notification settings - Fork 12.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rollup merge of #109708 - spastorino:new-rpitit-20, r=compiler-errors
Specialization involving RPITITs is broken so ignore the diagnostic differences Just bless the corresponding test for `-Zlower-impl-trait-in-trait-to-assoc-ty` r? `@compiler-errors`
- Loading branch information
Showing
3 changed files
with
38 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
34 changes: 34 additions & 0 deletions
34
tests/ui/async-await/in-trait/dont-project-to-specializable-projection.next.stderr
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
warning: the feature `async_fn_in_trait` is incomplete and may not be safe to use and/or cause compiler crashes | ||
--> $DIR/dont-project-to-specializable-projection.rs:6:12 | ||
| | ||
LL | #![feature(async_fn_in_trait)] | ||
| ^^^^^^^^^^^^^^^^^ | ||
| | ||
= note: see issue #91611 <https://github.com/rust-lang/rust/issues/91611> for more information | ||
= note: `#[warn(incomplete_features)]` on by default | ||
|
||
error[E0053]: method `foo` has an incompatible type for trait | ||
--> $DIR/dont-project-to-specializable-projection.rs:16:35 | ||
| | ||
LL | default async fn foo(_: T) -> &'static str { | ||
| ^^^^^^^^^^^^ expected associated type, found future | ||
| | ||
note: type in trait | ||
--> $DIR/dont-project-to-specializable-projection.rs:12:27 | ||
| | ||
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:16:5 | ||
| | ||
LL | default async fn foo(_: T) -> &'static str { | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
| | ||
= note: specialization behaves in inconsistent and surprising ways with `#![feature(async_fn_in_trait)]`, and for now is disallowed | ||
|
||
error: aborting due to 2 previous errors; 1 warning emitted | ||
|
||
For more information about this error, try `rustc --explain E0053`. |
2 changes: 2 additions & 0 deletions
2
tests/ui/async-await/in-trait/dont-project-to-specializable-projection.rs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters