-
Notifications
You must be signed in to change notification settings - Fork 12.6k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Specialization involving RPITITs is broken so ignore the diagnostic d…
…ifferences for them
- Loading branch information
1 parent
478cbb4
commit eb7f645
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:/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