我一直在阅读这个,它展示了一个简单的例子,说明了多个可变借款者如何抛出这个错误"cannot borrow point as mutable more than once at a time"。生命周期省略规则非常清楚地说明了为什么会发生这种情况:x_mut()返回一个可变的借入,它至少要在self的可变借用期内生存。
可变的借用应该存在的事实,因为只要self解释这个错误?
但是,在这个新重构的函数中,我需要传递一个必须是可变的,并通过引用传递的参数。突然间,绝对行内工作的代码,只是因为可变的引用传递而中断。error[E0499]: cannot borrow `str_to_int` as mutable more than once at a time
--> src/main.rs第二循环(str_to_int_inline)与第三循环(str_to_int)相同,只是行为是内联的
下面的代码将一些值插入到HashMap中,然后将其取出: let mut map = HashMap:^^^ second mutable borrow occurs here | - first borrow ends here
在仔细阅读了remove()和方法的对于我来说,方法签名没有什么特别之处,为什么remove()方法不为当前作用域的其余部分不断地借用映射,