же не мутабельная ссылка, там прям владение забирает:
                  
                  
                  error[E0507]: cannot move out of `self.storage` which is behind a mutable reference
                  
                  
                    --> src/kv.rs:78:34
                  
                  
                     |
                  
                  
                  78 |         let commands: Vec<Log> = self.storage
                  
                  
                     |                                  ^^^^^^^^^^^^ move occurs because `self.storage` has type `T`, which does not implement the `Copy` trait
                  
                  
                  
                  
                  
                  error: aborting due to previous error
                  
                  
                
self.storage.by_ref().map(...)?
В итераторе хоть практически всё и забирает владение, есть impl<I: Iterator> Iterator for &mut I, т.е. уникальная ссылка на итератор это тоже итератор
Обсуждают сегодня