A mutant closure Fn(&mut ...)
由 matt rice
#6 in #fn-mut
7KB 63 行
此(实验性)crate声明了一个单种类型 FnMutant,
FnMutant
FnMutant 有一个字段 f: for<'a> Fn(X) -> Y,这指定了闭包必须对所有生命周期有效,因此任何通过 X 给予 f 的引用都不能被闭包捕获。
f: for<'a> Fn(X) -> Y
X
这导致了一个可以被多次调用的函数(与FnOnce不同),并且不会捕获唯一的借用(与FnMut不同)。因为调用后,给定一个 &mut T,该 &mut T 要么已返回,要么已超出作用域。
&mut T