't> FnOnce(&'s Foo, &'t (dyn Bar + 'static))
а не
for <'s, 't, 'u> FnOnce(&'s Foo, &'t (dyn Bar + 'u))
Это не статик, а t. Просто под статик влезает и dyn Bar + 't
Если бы это было так, то с fn my(baz: impl for<'s, 't> Fn(&'s Foo, &'t (dyn Bar + 't))); я бы не получил ошибку = note: expected type `for<'s, 't> FnOnce<(&'s Foo, &'t (dyn Bar + 't))>` found type `for<'s, 't> FnOnce<(&'s Foo, &'t dyn Bar)>`
Обсуждают сегодня