fn foo_finder<It, Cl, I>(iter: It, closure: It) -> Option<I> where It: Iterator<Item = I>, Cl: FnMut(&I) -> bool, fn: async if It: async + Cl: async, fn: const if Cl: const, fn: !panics if It: !panics + F2: !panics { /* ... */ }
fn foo<F, T>(closure: F) -> Option<T> where F: FnMut(&T) -> bool, effect const if F: const, ?async, { /* ... */ }