<!-- Thank you for filing a bug report! 🐛 Please provide a short summary of the bug, along with any information you feel relevant to replicating the bug. --> I tried this code: ```rust struct A; struct B; struct C; fn f( a1: A, a2: A, b1: B, b2: B, c1: C, c2: C, ) {} fn main() { f( C, C, A, A, B, B, ); } ``` I expected to see this happen: the compiler giving an error and showing a hint that order of the argument are not correct. Instead, this happened: it stucks, waits forever. ### Meta It happens on both stable and nightly. Might be related to this: https://github.com/rust-lang/rust/issues/100478