mirror of
https://github.com/rust-lang/rust.git
synced 2025-09-29 07:08:14 +00:00

When encountering an unmet trait bound, point at local type that doesn't implement the trait: ``` error[E0277]: the trait bound `Bar<T>: Foo` is not satisfied --> $DIR/issue-64855.rs:9:19 | LL | pub struct Bar<T>(<Self as Foo>::Type) where Self: ; | ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound | help: the trait `Foo` is not implemented for `Bar<T>` --> $DIR/issue-64855.rs:9:1 | LL | pub struct Bar<T>(<Self as Foo>::Type) where Self: ; | ^^^^^^^^^^^^^^^^^ ```
100 lines
3.4 KiB
Plaintext
100 lines
3.4 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:17: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:17: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>()();
|
|
| ^^^^ unsatisfied trait bound
|
|
|
|
|
help: the trait `TraitWAssocConst` is not implemented for `Demo`
|
|
--> $DIR/issue-105330.rs:4:1
|
|
|
|
|
LL | pub struct 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[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:20:11
|
|
|
|
|
LL | foo::<Demo>();
|
|
| ^^^^ unsatisfied trait bound
|
|
|
|
|
help: the trait `TraitWAssocConst` is not implemented for `Demo`
|
|
--> $DIR/issue-105330.rs:4:1
|
|
|
|
|
LL | pub struct 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: aborting due to 9 previous errors
|
|
|
|
Some errors have detailed explanations: E0131, E0277, E0404, E0562, E0618, E0658.
|
|
For more information about an error, try `rustc --explain E0131`.
|