borrow-checker FAQsa day agoRustworkaroundsborrow-checkerhttps://jyn.dev/borrow-checker-faqs/Copy Link要在修改集合的同时修改其元素,请使用'while let'而非'for'循环,以避免双重可变借用。当使用捕获具有不相交字段的结构体的闭包时,请使用'let'语句显式捕获所需字段,以避免移动整个结构体。将代码移至单独的函数可能导致编译失败,因为编译器无法识别不相交字段或错误的生命周期;解决方法是将函数内联或重构结构体。要在需要可变访问结构体时使用来自该结构体的迭代器,请先将迭代器收集到新集合(如Vec)中,以满足借用检查器。