For example:
- Crate A uses the rand crate from crates.io.
- Crate B depends on Crate A in Cargo.toml.
- Crate B wants to instantiate a type from Crate A with a specific random number generator, but forgets to add the rand crate to its own Cargo.toml.
This will lead to the following error:
^ trait rand::XorShiftRng: rand::Rng not satisfied
When really the problem is that the wrong trait is being used because the rand crates are different. An improved error message here mentioning that the trait was found but there is a mis-match would help out a lot.