mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-29 10:13:54 +00:00
dab3d5bb28
When a trait bound error occurs, we look for alternative types that would have made the bound succeed. For some reason `{type error}` sometimes would appear as a type that would do so. We now remove `{type error}` from the list in every case to avoid nonsensical `note`s.
118 lines
4.2 KiB
Plaintext
118 lines
4.2 KiB
Plaintext
error: expected one of `!` or `::`, found `A`
|
|
--> $DIR/issue-105330.rs:8:14
|
|
|
|
|
LL | impl TraitWAssocConst for impl Demo {
|
|
| - while parsing this item list starting here
|
|
LL |
|
|
LL | pubconst A: str = 32;
|
|
| ^ expected one of `!` or `::`
|
|
LL | }
|
|
| - the item list ends here
|
|
|
|
error[E0404]: expected trait, found struct `Demo`
|
|
--> $DIR/issue-105330.rs:6:32
|
|
|
|
|
LL | impl TraitWAssocConst for impl Demo {
|
|
| ^^^^ not a trait
|
|
|
|
error[E0658]: associated const equality is incomplete
|
|
--> $DIR/issue-105330.rs:11:28
|
|
|
|
|
LL | fn foo<A: TraitWAssocConst<A=32>>() {
|
|
| ^^^^
|
|
|
|
|
= note: see issue #92827 <https://github.com/rust-lang/rust/issues/92827> for more information
|
|
= help: add `#![feature(associated_const_equality)]` to the crate attributes to enable
|
|
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
|
|
|
|
error[E0658]: associated const equality is incomplete
|
|
--> $DIR/issue-105330.rs:18:29
|
|
|
|
|
LL | fn main<A: TraitWAssocConst<A=32>>() {
|
|
| ^^^^
|
|
|
|
|
= note: see issue #92827 <https://github.com/rust-lang/rust/issues/92827> for more information
|
|
= help: add `#![feature(associated_const_equality)]` to the crate attributes to enable
|
|
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
|
|
|
|
error[E0562]: `impl Trait` is not allowed in impl headers
|
|
--> $DIR/issue-105330.rs:6:27
|
|
|
|
|
LL | impl TraitWAssocConst for impl Demo {
|
|
| ^^^^^^^^^
|
|
|
|
|
= note: `impl Trait` is only allowed in arguments and return types of functions and methods
|
|
|
|
error[E0131]: `main` function is not allowed to have generic parameters
|
|
--> $DIR/issue-105330.rs:18:8
|
|
|
|
|
LL | fn main<A: TraitWAssocConst<A=32>>() {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ `main` cannot have generic parameters
|
|
|
|
error[E0277]: the trait bound `Demo: TraitWAssocConst` is not satisfied
|
|
--> $DIR/issue-105330.rs:12:11
|
|
|
|
|
LL | foo::<Demo>()();
|
|
| ^^^^ the trait `TraitWAssocConst` is not implemented for `Demo`
|
|
|
|
|
note: required by a bound in `foo`
|
|
--> $DIR/issue-105330.rs:11:11
|
|
|
|
|
LL | fn foo<A: TraitWAssocConst<A=32>>() {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `foo`
|
|
|
|
error[E0271]: type mismatch resolving `<Demo as TraitWAssocConst>::A == 32`
|
|
--> $DIR/issue-105330.rs:12:11
|
|
|
|
|
LL | foo::<Demo>()();
|
|
| ^^^^ expected `32`, found `<Demo as TraitWAssocConst>::A`
|
|
|
|
|
= note: expected constant `32`
|
|
found constant `<Demo as TraitWAssocConst>::A`
|
|
note: required by a bound in `foo`
|
|
--> $DIR/issue-105330.rs:11:28
|
|
|
|
|
LL | fn foo<A: TraitWAssocConst<A=32>>() {
|
|
| ^^^^ required by this bound in `foo`
|
|
|
|
error[E0618]: expected function, found `()`
|
|
--> $DIR/issue-105330.rs:12:5
|
|
|
|
|
LL | fn foo<A: TraitWAssocConst<A=32>>() {
|
|
| ----------------------------------- `foo::<Demo>` defined here returns `()`
|
|
LL | foo::<Demo>()();
|
|
| ^^^^^^^^^^^^^--
|
|
| |
|
|
| call expression requires function
|
|
|
|
error[E0277]: the trait bound `Demo: TraitWAssocConst` is not satisfied
|
|
--> $DIR/issue-105330.rs:21:11
|
|
|
|
|
LL | foo::<Demo>();
|
|
| ^^^^ the trait `TraitWAssocConst` is not implemented for `Demo`
|
|
|
|
|
note: required by a bound in `foo`
|
|
--> $DIR/issue-105330.rs:11:11
|
|
|
|
|
LL | fn foo<A: TraitWAssocConst<A=32>>() {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `foo`
|
|
|
|
error[E0271]: type mismatch resolving `<Demo as TraitWAssocConst>::A == 32`
|
|
--> $DIR/issue-105330.rs:21:11
|
|
|
|
|
LL | foo::<Demo>();
|
|
| ^^^^ expected `32`, found `<Demo as TraitWAssocConst>::A`
|
|
|
|
|
= note: expected constant `32`
|
|
found constant `<Demo as TraitWAssocConst>::A`
|
|
note: required by a bound in `foo`
|
|
--> $DIR/issue-105330.rs:11:28
|
|
|
|
|
LL | fn foo<A: TraitWAssocConst<A=32>>() {
|
|
| ^^^^ required by this bound in `foo`
|
|
|
|
error: aborting due to 11 previous errors
|
|
|
|
Some errors have detailed explanations: E0131, E0271, E0277, E0404, E0562, E0618, E0658.
|
|
For more information about an error, try `rustc --explain E0131`.
|