(A better title would be appreciated) ### Code ```Rust use std::io::Read; fn f<T: Read, U, Read>() {} ``` ### Current output ```Shell Compiling playground v0.0.1 (/playground) error[E0404]: expected trait, found type parameter `Read` --> src/lib.rs:3:9 | 1 | use std::io::Read; | ---- you might have meant to refer to this trait 2 | 3 | fn f<T: Read, U, Read>() {} | ^^^^ ---- found this type parameter | | | not a trait | help: consider importing one of these items instead | 1 + use exr::io::Read; | 1 + use hyper::rt::Read; | 1 + use serde_json::de::Read; | 1 + use std::io::Read; | ``` ### Desired output I like this part: ```Shell --> src/lib.rs:3:9 | 1 | use std::io::Read; | ---- you might have meant to refer to this trait 2 | 3 | fn f<T: Read, U, Read>() {} | ^^^^ ---- found this type parameter | | | not a trait ``` It could have a suggestion like `did you mean : instead of ,`, especially because `,<.>;:` are very close to each other on a US keyboard and could very well be a typo. ### Rationale and extra context Applying the suggestion `use std::io::Read` will result in a compile error. ### Other cases _No response_ ### Rust Version ```Shell rustc 1.75.0 (82e1608df 2023-12-21) binary: rustc commit-hash: 82e1608dfa6e0b5569232559e3d385fea5a93112 commit-date: 2023-12-21 host: x86_64-unknown-linux-gnu release: 1.75.0 LLVM version: 17.0.6 Also reproducable with current playground nightly (1.77.0) ``` ### Anything else? _No response_ <!-- TRIAGEBOT_START --> <!-- TRIAGEBOT_ASSIGN_START --> <!-- TRIAGEBOT_ASSIGN_DATA_START$${"user":"trevyn"}$$TRIAGEBOT_ASSIGN_DATA_END --> <!-- TRIAGEBOT_ASSIGN_END --> <!-- TRIAGEBOT_END -->