| //@ revisions: current next | |
| //@ ignore-compare-mode-next-solver (explicit revisions) | |
| //@[next] compile-flags: -Znext-solver | |
| //@ check-pass | |
| // A regression test for an edge case of candidate selection | |
| // in the old trait solver, see #132325 for more details. | |
| trait Trait<T> {} | |
| impl<T> Trait<T> for () {} | |
| fn impls_trait<T: Trait<U>, U>(_: T) -> U { todo!() } | |
| fn foo<T>() -> u32 | |
| where | |
| (): Trait<u32>, | |
| (): Trait<T>, | |
| { | |
| impls_trait(()) | |
| } | |
| fn main() {} |