Answers:
它fields
再次变得不可变。
fields
以前定义为mutable(let mut fields = …;
),用于sort_by_key
就地排序并要求目标是可变的。作者在此处选择以明确防止进一步的可变性。
在Rust中,将可变绑定“降级”到不可变是很常见的。
执行此操作的另一种常见方法是使用块表达式:
let fields = {
let mut fields = …;
fields.sort_by_key(…);
fields
};
该语句let var = var;
是var
不可变的,并绑定到其当前值。fields
被宣布为mut
更早。