//@ revisions: current next //@[next] compile-flags: -Znext-solver //@ build-pass // Regression test for incomplete handling of Fn-trait goals, // fixed in #122267. trait Trait { type Assoc<'a>: FnOnce(&'a ()); } impl Trait for () { type Assoc<'a> = fn(&'a ()); } trait Indir { fn break_me() {} } impl Indir for F where for<'a> F::Assoc<'a>: FnOnce(&'a ()), { fn break_me() {} } fn foo() { F::break_me() } fn main() { foo::<()>(); }