2024-01-26 19:02:05 +00:00
|
|
|
error[E0599]: no method named `cmp` found for type parameter `T` in the current scope
|
2024-01-26 18:57:58 +00:00
|
|
|
--> $DIR/method-on-unbounded-type-param.rs:2:7
|
|
|
|
|
|
|
|
|
LL | fn f<T>(a: T, b: T) -> std::cmp::Ordering {
|
|
|
|
| - method `cmp` not found for this type parameter
|
|
|
|
LL | a.cmp(&b)
|
2024-01-26 19:02:05 +00:00
|
|
|
| ^^^ method cannot be called on `T` due to unsatisfied trait bounds
|
2024-01-26 18:57:58 +00:00
|
|
|
|
|
2024-01-26 19:02:05 +00:00
|
|
|
= help: items from traits can only be used if the type parameter is bounded by the trait
|
|
|
|
help: the following traits define an item `cmp`, perhaps you need to restrict type parameter `T` with one of them:
|
2024-01-26 18:57:58 +00:00
|
|
|
|
|
2024-01-26 19:02:05 +00:00
|
|
|
LL | fn f<T: Iterator>(a: T, b: T) -> std::cmp::Ordering {
|
|
|
|
| ++++++++++
|
2024-03-21 17:00:11 +00:00
|
|
|
LL | fn f<T: Ord>(a: T, b: T) -> std::cmp::Ordering {
|
|
|
|
| +++++
|
2024-01-26 18:57:58 +00:00
|
|
|
|
|
|
|
error[E0599]: the method `cmp` exists for reference `&T`, but its trait bounds were not satisfied
|
|
|
|
--> $DIR/method-on-unbounded-type-param.rs:5:10
|
|
|
|
|
|
|
|
|
LL | (&a).cmp(&b)
|
|
|
|
| ^^^ method cannot be called on `&T` due to unsatisfied trait bounds
|
|
|
|
|
|
|
|
|
= note: the following trait bounds were not satisfied:
|
|
|
|
`T: Ord`
|
|
|
|
which is required by `&T: Ord`
|
|
|
|
`&T: Iterator`
|
|
|
|
which is required by `&mut &T: Iterator`
|
|
|
|
`T: Iterator`
|
|
|
|
which is required by `&mut T: Iterator`
|
2024-01-30 18:10:12 +00:00
|
|
|
= help: items from traits can only be used if the type parameter is bounded by the trait
|
|
|
|
help: the following traits define an item `cmp`, perhaps you need to restrict type parameter `T` with one of them:
|
2024-01-26 18:57:58 +00:00
|
|
|
|
|
2024-01-30 18:10:12 +00:00
|
|
|
LL | fn g<T: Iterator>(a: T, b: T) -> std::cmp::Ordering {
|
|
|
|
| ++++++++++
|
2024-03-21 17:00:11 +00:00
|
|
|
LL | fn g<T: Ord>(a: T, b: T) -> std::cmp::Ordering {
|
|
|
|
| +++++
|
2024-01-26 18:57:58 +00:00
|
|
|
|
|
|
|
error[E0599]: the method `cmp` exists for reference `&T`, but its trait bounds were not satisfied
|
|
|
|
--> $DIR/method-on-unbounded-type-param.rs:8:7
|
|
|
|
|
|
|
|
|
LL | a.cmp(&b)
|
|
|
|
| ^^^ method cannot be called on `&T` due to unsatisfied trait bounds
|
|
|
|
|
|
|
|
|
= note: the following trait bounds were not satisfied:
|
|
|
|
`T: Ord`
|
|
|
|
which is required by `&T: Ord`
|
|
|
|
`&T: Iterator`
|
|
|
|
which is required by `&mut &T: Iterator`
|
|
|
|
`T: Iterator`
|
|
|
|
which is required by `&mut T: Iterator`
|
2024-01-30 18:10:12 +00:00
|
|
|
= help: items from traits can only be used if the type parameter is bounded by the trait
|
|
|
|
help: the following traits define an item `cmp`, perhaps you need to restrict type parameter `T` with one of them:
|
2024-01-26 18:57:58 +00:00
|
|
|
|
|
2024-01-30 18:10:12 +00:00
|
|
|
LL | fn h<T: Iterator>(a: &T, b: T) -> std::cmp::Ordering {
|
|
|
|
| ++++++++++
|
2024-03-21 17:00:11 +00:00
|
|
|
LL | fn h<T: Ord>(a: &T, b: T) -> std::cmp::Ordering {
|
|
|
|
| +++++
|
2024-01-26 18:57:58 +00:00
|
|
|
|
|
|
|
error[E0599]: the method `cmp` exists for struct `Box<dyn T>`, but its trait bounds were not satisfied
|
|
|
|
--> $DIR/method-on-unbounded-type-param.rs:14:7
|
|
|
|
|
|
2024-01-30 19:13:11 +00:00
|
|
|
LL | trait T {}
|
|
|
|
| ------- doesn't satisfy `dyn T: Iterator` or `dyn T: Ord`
|
2024-01-26 18:57:58 +00:00
|
|
|
...
|
2024-01-30 19:13:11 +00:00
|
|
|
LL | x.cmp(&x);
|
|
|
|
| ^^^ method cannot be called on `Box<dyn T>` due to unsatisfied trait bounds
|
2024-01-26 18:57:58 +00:00
|
|
|
|
|
|
|
|
= note: the following trait bounds were not satisfied:
|
|
|
|
`dyn T: Iterator`
|
|
|
|
which is required by `Box<dyn T>: Iterator`
|
|
|
|
`dyn T: Ord`
|
|
|
|
which is required by `Box<dyn T>: Ord`
|
|
|
|
`Box<dyn T>: Iterator`
|
|
|
|
which is required by `&mut Box<dyn T>: Iterator`
|
|
|
|
`dyn T: Iterator`
|
|
|
|
which is required by `&mut dyn T: Iterator`
|
2024-01-30 18:10:12 +00:00
|
|
|
= help: items from traits can only be used if the trait is implemented and in scope
|
|
|
|
= note: the following traits define an item `cmp`, perhaps you need to implement one of them:
|
2024-04-17 20:32:17 +00:00
|
|
|
candidate #1: `Ord`
|
|
|
|
= note: the trait `Iterator` defines an item `cmp`, but is explicitly unimplemented
|
2024-01-26 18:57:58 +00:00
|
|
|
|
|
|
|
error: aborting due to 4 previous errors
|
|
|
|
|
|
|
|
For more information about this error, try `rustc --explain E0599`.
|