Loops 在带有循环的异步代码中,不能一次多次借用可变代码

Loops 在带有循环的异步代码中,不能一次多次借用可变代码,loops,asynchronous,rust,lifetime,Loops,Asynchronous,Rust,Lifetime,是什么导致了代码中同时出现多个可变借用?我怀疑这与{ 异步fn活套(self,x:&'a mut u32)->F FIt在您的代码中不清楚为什么x和FI需要指定“x”的寿命比F.a和F本身更长……F.a只是对存储在“x”中的某个对象的引用F.a只是对存储在“x”中的某个对象的引用-如果u32是其他类型的替代,那么当可变引用也存在时,您不能保留对某个对象的引用。那么,您是说这里同时有两个可变引用——一个来自F.a和“x”是另一个吗?如果是的话,编译器如何判断F.a是对X内部某个东西的引用?我没有在

是什么导致了代码中同时出现多个可变借用?我怀疑这与
{

异步fn活套(self,x:&'a mut u32)->F FIt在您的代码中不清楚为什么
x
FI需要指定“x”的寿命比F.a和F本身更长……F.a只是对存储在“x”中的某个对象的引用F.a只是对存储在“x”中的某个对象的引用-如果
u32
是其他类型的替代,那么当可变引用也存在时,您不能保留对某个对象的引用。那么,您是说这里同时有两个可变引用——一个来自F.a和“x”是另一个吗?如果是的话,编译器如何判断F.a是对X内部某个东西的引用?我没有在任何地方明确指定。loganfsmyth的评论是对您发布的问题的解决方案,我只是警告您,如果您调用
looper
,而
self.a
引用s,编译器将拒绝您的代码
x
中的某物。