| error[E0277]: the trait bound `foo::Struct: Trait` is not satisfied |
| --> foo-current.rs:13:19 |
| | |
| 13 | check_trait::<foo::Struct>(); |
| | ^^^^^^^^^^^ the trait `Trait` is not implemented for `foo::Struct` |
| | |
| note: there are multiple different versions of crate `foo` in the dependency graph |
| --> foo-current.rs:7:1 |
| | |
| 4 | extern crate foo; |
| | ----------------- one version of crate `foo` used here, as a direct dependency of the current crate |
| 5 | |
| 6 | pub struct Struct; |
| | ----------------- this type implements the required trait |
| 7 | pub trait Trait {} |
| | ^^^^^^^^^^^^^^^ this is the required trait |
| | |
| ::: foo-prev.rs:X:Y |
| | |
| 4 | pub struct Struct; |
| | ----------------- this type doesn't implement the required trait |
| 5 | pub trait Trait {} |
| | --------------- this is the found trait |
| = note: two types coming from two different versions of the same crate are different types even if they look the same |
| = help: you can use `cargo tree` to explore your dependency tree |
| note: required by a bound in `check_trait` |
| --> foo-current.rs:10:19 |
| | |
| 10 | fn check_trait<T: Trait>() {} |
| | ^^^^^ required by this bound in `check_trait` |
| |
| error: aborting due to 1 previous error |
| |
| For more information about this error, try `rustc --explain E0277`. |