Files
rust/tests/ui/delegation/generics/impl-to-trait-method.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

60 lines
1.9 KiB
Plaintext

error[E0277]: the trait bound `bounds::S: Trait0` is not satisfied
--> $DIR/impl-to-trait-method.rs:12:19
|
LL | Self: Trait0,
| ^^^^^^ unsatisfied trait bound
|
help: the trait `Trait0` is not implemented for `bounds::S`
--> $DIR/impl-to-trait-method.rs:21:5
|
LL | struct S(F);
| ^^^^^^^^
help: this trait has no implementations, consider adding one
--> $DIR/impl-to-trait-method.rs:5:5
|
LL | trait Trait0 {}
| ^^^^^^^^^^^^
= help: see issue #48214
help: add `#![feature(trivial_bounds)]` to the crate attributes to enable
|
LL + #![feature(trivial_bounds)]
|
error[E0277]: the trait bound `bounds::F: Trait0` is not satisfied
--> $DIR/impl-to-trait-method.rs:24:34
|
LL | reuse Trait1::<T>::foo { &self.0 }
| --- ^^^^^^^ unsatisfied trait bound
| |
| required by a bound introduced by this call
|
help: the trait `Trait0` is not implemented for `bounds::F`
--> $DIR/impl-to-trait-method.rs:18:5
|
LL | struct F;
| ^^^^^^^^
help: this trait has no implementations, consider adding one
--> $DIR/impl-to-trait-method.rs:5:5
|
LL | trait Trait0 {}
| ^^^^^^^^^^^^
note: required by a bound in `Trait1::foo`
--> $DIR/impl-to-trait-method.rs:12:19
|
LL | fn foo<U>(&self)
| --- required by a bound in this associated function
...
LL | Self: Trait0,
| ^^^^^^ required by this bound in `Trait1::foo`
error[E0282]: type annotations needed
--> $DIR/impl-to-trait-method.rs:39:22
|
LL | reuse Trait::foo { &self.0 }
| ^^^ cannot infer type for type parameter `T` declared on the trait `Trait`
error: aborting due to 3 previous errors
Some errors have detailed explanations: E0277, E0282.
For more information about an error, try `rustc --explain E0277`.