Это невозможно? Очевидно данными должен владеть flat_map потому что иначе разные filter_map создаваемые flat_map'ом не получат их. Но тогда filter_map должен получать по &mut со стака flat_map, что тоже нельзя?
не копируемы
ну тогда извращайся с .drain(). Немного стрёмно выглядит, учитывая что там на вход как бы &mut но при этом де-факто оно оставляет мапу в некоректном состоянии, но работает по крайней мере
а ты чит сделал
ждал этого решения
можно кстати заметно упростить через iter::from_fn: https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=527fca6e9b593aee8b6b9c2a8b3374c6 даже не страшно выглядит
кстати у меня от моего итератора идее снесло крышу
Обсуждают сегодня