-
Notifications
You must be signed in to change notification settings - Fork 12.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Auto merge of #113429 - compiler-errors:rollup-wkv4w9a, r=compiler-er…
…rors Rollup of 8 pull requests Successful merges: - #111917 (Simplify duplicate checks for mir validator) - #112008 (Fix incorrect documented default bufsize in bufreader/writer) - #112825 (Don't call `type_of` on TAIT in defining scope in new solver) - #113164 (Add a regression test for #109054) - #113318 (Revert "alloc: Allow comparing Boxs over different allocators", add regression test) - #113397 (Prefer object candidates in new selection) - #113419 (Avoid calling item_name for RPITIT) - #113421 (Do not assert >1 RPITITs on collect_return_position_impl_trait_in_trait_tys) r? `@ghost` `@rustbot` modify labels: rollup
- Loading branch information
Showing
23 changed files
with
307 additions
and
151 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
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
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
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
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
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
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
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
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
39 changes: 39 additions & 0 deletions
39
tests/ui/async-await/in-trait/return-not-existing-pair.current.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,39 @@ | ||
error[E0726]: implicit elided lifetime not allowed here | ||
--> $DIR/return-not-existing-pair.rs:12:20 | ||
| | ||
LL | impl<'a, 'b, T, U> MyTrait<T> for U { | ||
| ^^^^^^^^^^ expected lifetime parameters | ||
| | ||
help: indicate the anonymous lifetimes | ||
| | ||
LL | impl<'a, 'b, T, U> MyTrait<'_, '_, T> for U { | ||
| +++++++ | ||
|
||
error[E0412]: cannot find type `ConnImpl` in this scope | ||
--> $DIR/return-not-existing-pair.rs:8:48 | ||
| | ||
LL | async fn foo(&'a self, key: &'b T) -> (&'a ConnImpl, &'b T); | ||
| ^^^^^^^^ not found in this scope | ||
|
||
error[E0186]: method `foo` has a `&self` declaration in the trait, but not in the impl | ||
--> $DIR/return-not-existing-pair.rs:14:5 | ||
| | ||
LL | async fn foo(&'a self, key: &'b T) -> (&'a ConnImpl, &'b T); | ||
| ------------------------------------------------------------ `&self` used in trait | ||
... | ||
LL | async fn foo(_: T) -> (&'a U, &'b T) {} | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&self` in impl | ||
|
||
error[E0308]: mismatched types | ||
--> $DIR/return-not-existing-pair.rs:14:42 | ||
| | ||
LL | async fn foo(_: T) -> (&'a U, &'b T) {} | ||
| ^^ expected `(&U, &T)`, found `()` | ||
| | ||
= note: expected tuple `(&'a U, &'b T)` | ||
found unit type `()` | ||
|
||
error: aborting due to 4 previous errors | ||
|
||
Some errors have detailed explanations: E0186, E0308, E0412, E0726. | ||
For more information about an error, try `rustc --explain E0186`. |
39 changes: 39 additions & 0 deletions
39
tests/ui/async-await/in-trait/return-not-existing-pair.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,39 @@ | ||
error[E0726]: implicit elided lifetime not allowed here | ||
--> $DIR/return-not-existing-pair.rs:12:20 | ||
| | ||
LL | impl<'a, 'b, T, U> MyTrait<T> for U { | ||
| ^^^^^^^^^^ expected lifetime parameters | ||
| | ||
help: indicate the anonymous lifetimes | ||
| | ||
LL | impl<'a, 'b, T, U> MyTrait<'_, '_, T> for U { | ||
| +++++++ | ||
|
||
error[E0412]: cannot find type `ConnImpl` in this scope | ||
--> $DIR/return-not-existing-pair.rs:8:48 | ||
| | ||
LL | async fn foo(&'a self, key: &'b T) -> (&'a ConnImpl, &'b T); | ||
| ^^^^^^^^ not found in this scope | ||
|
||
error[E0186]: method `foo` has a `&self` declaration in the trait, but not in the impl | ||
--> $DIR/return-not-existing-pair.rs:14:5 | ||
| | ||
LL | async fn foo(&'a self, key: &'b T) -> (&'a ConnImpl, &'b T); | ||
| ------------------------------------------------------------ `&self` used in trait | ||
... | ||
LL | async fn foo(_: T) -> (&'a U, &'b T) {} | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&self` in impl | ||
|
||
error[E0308]: mismatched types | ||
--> $DIR/return-not-existing-pair.rs:14:42 | ||
| | ||
LL | async fn foo(_: T) -> (&'a U, &'b T) {} | ||
| ^^ expected `(&U, &T)`, found `()` | ||
| | ||
= note: expected tuple `(&'a U, &'b T)` | ||
found unit type `()` | ||
|
||
error: aborting due to 4 previous errors | ||
|
||
Some errors have detailed explanations: E0186, E0308, E0412, E0726. | ||
For more information about an error, try `rustc --explain E0186`. |
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,19 @@ | ||
// edition:2021 | ||
// [next] compile-flags: -Zlower-impl-trait-in-trait-to-assoc-ty | ||
// revisions: current next | ||
|
||
#![feature(async_fn_in_trait)] | ||
|
||
trait MyTrait<'a, 'b, T> { | ||
async fn foo(&'a self, key: &'b T) -> (&'a ConnImpl, &'b T); | ||
//~^ ERROR: cannot find type `ConnImpl` in this scope [E0412] | ||
} | ||
|
||
impl<'a, 'b, T, U> MyTrait<T> for U { | ||
//~^ ERROR: implicit elided lifetime not allowed here [E0726] | ||
async fn foo(_: T) -> (&'a U, &'b T) {} | ||
//~^ ERROR: method `foo` has a `&self` declaration in the trait, but not in the impl [E0186] | ||
//~| ERROR: mismatched types [E0308] | ||
} | ||
|
||
fn main() {} |
9 changes: 9 additions & 0 deletions
9
tests/ui/async-await/in-trait/return-not-existing-type-wrapping-rpitit.current.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,9 @@ | ||
error[E0412]: cannot find type `Missing` in this scope | ||
--> $DIR/return-not-existing-type-wrapping-rpitit.rs:10:25 | ||
| | ||
LL | fn bar() -> Wrapper<Missing<impl Sized>>; | ||
| ^^^^^^^ not found in this scope | ||
|
||
error: aborting due to previous error | ||
|
||
For more information about this error, try `rustc --explain E0412`. |
9 changes: 9 additions & 0 deletions
9
tests/ui/async-await/in-trait/return-not-existing-type-wrapping-rpitit.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,9 @@ | ||
error[E0412]: cannot find type `Missing` in this scope | ||
--> $DIR/return-not-existing-type-wrapping-rpitit.rs:10:25 | ||
| | ||
LL | fn bar() -> Wrapper<Missing<impl Sized>>; | ||
| ^^^^^^^ not found in this scope | ||
|
||
error: aborting due to previous error | ||
|
||
For more information about this error, try `rustc --explain E0412`. |
20 changes: 20 additions & 0 deletions
20
tests/ui/async-await/in-trait/return-not-existing-type-wrapping-rpitit.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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
// edition:2021 | ||
// [next] compile-flags: -Zlower-impl-trait-in-trait-to-assoc-ty | ||
// revisions: current next | ||
|
||
#![feature(return_position_impl_trait_in_trait)] | ||
|
||
struct Wrapper<T>(T); | ||
|
||
trait Foo { | ||
fn bar() -> Wrapper<Missing<impl Sized>>; | ||
//~^ ERROR: cannot find type `Missing` in this scope [E0412] | ||
} | ||
|
||
impl Foo for () { | ||
fn bar() -> Wrapper<i32> { | ||
Wrapper(0) | ||
} | ||
} | ||
|
||
fn main() {} |
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
Oops, something went wrong.