//@ revisions: old next //@[next] compile-flags: -Znext-solver //@[old] check-pass // cc #119820 trait Trait {} impl Trait for &T {} impl Trait for u32 {} fn hr_bound() where for<'a> &'a T: Trait, { } fn foo() where T: Trait, for<'a> &'a &'a T: Trait, { // We get a universe error when using the `param_env` candidate // but are able to successfully use the impl candidate. Without // the leak check both candidates may apply and we prefer the // `param_env` candidate in winnowing. hr_bound::<&T>(); //[next]~^ ERROR the trait bound `for<'a> &'a &T: Trait` is not satisfied } fn main() {}