в обще задача такая: 1. у юзера есть коллекция models в которой хранятся Model 2. я хочу получить функцию которая может мне плодить impl Iterator<Item = &Model> 3. Я хочу клонировать этот итератор. 4. между разными вызовами получения итератора юзер может мутировать models
Гаты не помогут. Контекст, захваченный в FnMut, должен блокироваться от изменения, после того как итератор вернёт ссылку. Но блокировка контекста FnMut не предусмотрена. Точнее нужен гат в определении FnMut
в обще задача такая: 1. у юзера есть коллекция models в которой хранятся Model 2. я хочу получить функцию которая может мне плодить impl Iterator<Item = &Model> 3. Я хочу клонировать этот итератор. 4. между разными вызовами получения итератора юзер может мутировать models
4. ты же не можешь получить доступ к объектам захваченным замыканием, тут надо что-то больше чем просто замыкание