Rust官方宣布新一代借用检查器Polonius Alpha已登陆Nightly版本,预计年底转正Stable。它采用流敏感分析,能理解借用在不同代码分支中的真实生命周期,解决NLL误杀安全代码的问题。性能测试显示多数库编译时间几乎不受影响,开发者可通过`-Zpolonius=off`关闭。
Rust 团队在 nightly 版本中启用了下一代借用检查器 Polonius 的 Alpha 版本,计划在数月内稳定。该检查器支持流敏感分析,能解决 NLL 无法编译的代码,如条件分支中的借用问题。性能略有回归,但可接受,用户可通过 `-Zpolonius=off` 禁用。团队将监控问题并优化,目标在年底前稳定,之后暂停功能开发。
NLL 导致的非直觉的作用域扩大 1. NLL 完全无视词法作用域 1.1. 是否可以认为 NLL 在fb.set(&b);处缩短了fb的起始生存期以配合b? 1.2. 应该认为 NLL 缩短了fb 还是延长了b 的生存期? struct MyCell<T>(T); impl<T> MyCell<T> { pub fn set(&mut self, t: T) { ...
完成下面两步后,将自动完成登录并继续当前操作。