rust/tests/ui/on-unimplemented/parent-label.stderr
Esteban Küber 049c32797b On E0277, point at type that doesn't implement bound
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: ;
   | ^^^^^^^^^^^^^^^^^
```
2025-08-22 17:55:15 +00:00

110 lines
2.9 KiB
Plaintext

error[E0277]: the trait bound `Foo: Trait` is not satisfied
--> $DIR/parent-label.rs:14:11
|
LL | let x = || {
| -- in this scope
LL | f(Foo {});
| - ^^^^^^ unsatisfied trait bound
| |
| required by a bound introduced by this call
|
help: the trait `Trait` is not implemented for `Foo`
--> $DIR/parent-label.rs:8:1
|
LL | struct Foo;
| ^^^^^^^^^^
help: this trait has no implementations, consider adding one
--> $DIR/parent-label.rs:6:1
|
LL | trait Trait {}
| ^^^^^^^^^^^
note: required by a bound in `f`
--> $DIR/parent-label.rs:10:9
|
LL | fn f<T: Trait>(x: T) {}
| ^^^^^ required by this bound in `f`
error[E0277]: the trait bound `Foo: Trait` is not satisfied
--> $DIR/parent-label.rs:16:15
|
LL | let y = || {
| -- in this scope
LL | f(Foo {});
| - ^^^^^^ unsatisfied trait bound
| |
| required by a bound introduced by this call
|
help: the trait `Trait` is not implemented for `Foo`
--> $DIR/parent-label.rs:8:1
|
LL | struct Foo;
| ^^^^^^^^^^
help: this trait has no implementations, consider adding one
--> $DIR/parent-label.rs:6:1
|
LL | trait Trait {}
| ^^^^^^^^^^^
note: required by a bound in `f`
--> $DIR/parent-label.rs:10:9
|
LL | fn f<T: Trait>(x: T) {}
| ^^^^^ required by this bound in `f`
error[E0277]: the trait bound `Foo: Trait` is not satisfied
--> $DIR/parent-label.rs:22:15
|
LL | fn main() {
| --------- in this scope
...
LL | f(Foo {});
| - ^^^^^^ unsatisfied trait bound
| |
| required by a bound introduced by this call
|
help: the trait `Trait` is not implemented for `Foo`
--> $DIR/parent-label.rs:8:1
|
LL | struct Foo;
| ^^^^^^^^^^
help: this trait has no implementations, consider adding one
--> $DIR/parent-label.rs:6:1
|
LL | trait Trait {}
| ^^^^^^^^^^^
note: required by a bound in `f`
--> $DIR/parent-label.rs:10:9
|
LL | fn f<T: Trait>(x: T) {}
| ^^^^^ required by this bound in `f`
error[E0277]: the trait bound `Foo: Trait` is not satisfied
--> $DIR/parent-label.rs:26:7
|
LL | fn main() {
| --------- in this scope
...
LL | f(Foo {});
| - ^^^^^^ unsatisfied trait bound
| |
| required by a bound introduced by this call
|
help: the trait `Trait` is not implemented for `Foo`
--> $DIR/parent-label.rs:8:1
|
LL | struct Foo;
| ^^^^^^^^^^
help: this trait has no implementations, consider adding one
--> $DIR/parent-label.rs:6:1
|
LL | trait Trait {}
| ^^^^^^^^^^^
note: required by a bound in `f`
--> $DIR/parent-label.rs:10:9
|
LL | fn f<T: Trait>(x: T) {}
| ^^^^^ required by this bound in `f`
error: aborting due to 4 previous errors
For more information about this error, try `rustc --explain E0277`.