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: ; | ^^^^^^^^^^^^^^^^^ ```
61 lines
2.1 KiB
Plaintext
61 lines
2.1 KiB
Plaintext
error[E0277]: `T` is not a tuple
|
|
--> $DIR/builtin-fail.rs:8:23
|
|
|
|
|
LL | assert_is_tuple::<T>();
|
|
| ^ the trait `Tuple` is not implemented for `T`
|
|
|
|
|
note: required by a bound in `assert_is_tuple`
|
|
--> $DIR/builtin-fail.rs:3:23
|
|
|
|
|
LL | fn assert_is_tuple<T: std::marker::Tuple + ?Sized>() {}
|
|
| ^^^^^^^^^^^^^^^^^^ required by this bound in `assert_is_tuple`
|
|
help: consider restricting type parameter `T` with unstable trait `Tuple`
|
|
|
|
|
LL | fn from_param_env<T: std::marker::Tuple>() {
|
|
| ++++++++++++++++++++
|
|
|
|
error[E0277]: `i32` is not a tuple
|
|
--> $DIR/builtin-fail.rs:13:23
|
|
|
|
|
LL | assert_is_tuple::<i32>();
|
|
| ^^^ the trait `Tuple` is not implemented for `i32`
|
|
|
|
|
note: required by a bound in `assert_is_tuple`
|
|
--> $DIR/builtin-fail.rs:3:23
|
|
|
|
|
LL | fn assert_is_tuple<T: std::marker::Tuple + ?Sized>() {}
|
|
| ^^^^^^^^^^^^^^^^^^ required by this bound in `assert_is_tuple`
|
|
|
|
error[E0277]: `i32` is not a tuple
|
|
--> $DIR/builtin-fail.rs:15:24
|
|
|
|
|
LL | assert_is_tuple::<(i32)>();
|
|
| ^^^ the trait `Tuple` is not implemented for `i32`
|
|
|
|
|
note: required by a bound in `assert_is_tuple`
|
|
--> $DIR/builtin-fail.rs:3:23
|
|
|
|
|
LL | fn assert_is_tuple<T: std::marker::Tuple + ?Sized>() {}
|
|
| ^^^^^^^^^^^^^^^^^^ required by this bound in `assert_is_tuple`
|
|
|
|
error[E0277]: `TupleStruct` is not a tuple
|
|
--> $DIR/builtin-fail.rs:17:23
|
|
|
|
|
LL | assert_is_tuple::<TupleStruct>();
|
|
| ^^^^^^^^^^^ unsatisfied trait bound
|
|
|
|
|
help: the trait `Tuple` is not implemented for `TupleStruct`
|
|
--> $DIR/builtin-fail.rs:5:1
|
|
|
|
|
LL | struct TupleStruct(i32, i32);
|
|
| ^^^^^^^^^^^^^^^^^^
|
|
note: required by a bound in `assert_is_tuple`
|
|
--> $DIR/builtin-fail.rs:3:23
|
|
|
|
|
LL | fn assert_is_tuple<T: std::marker::Tuple + ?Sized>() {}
|
|
| ^^^^^^^^^^^^^^^^^^ required by this bound in `assert_is_tuple`
|
|
|
|
error: aborting due to 4 previous errors
|
|
|
|
For more information about this error, try `rustc --explain E0277`.
|