NLL 导致的非直觉的作用域扩大
1. NLL 完全无视词法作用域
1.1. 是否可以认为 NLL 在fb.set(&b);处缩短了fb的起始生存期以配合b?
1.2. 应该认为 NLL 缩短了fb还是延长了b的生存期?
struct MyCell
2. 强制延长外部变量生存期得到符合直觉的编译失败
struct MyCell
3.Drop导致隐式生存期延长而编译失败
主代码与 1 完全相同, 与 1 相比仅多一个空Drop, 而编译失败原因同 2
struct MyCell
4. 编译失败 循环使得fb生存期不能缩短
有可能rust升级使其可通过编译
struct MyCell
5. 编译成功 基本等同于 4
NLL 过于智能的消除了loop
struct MyCell
审核编辑:汤梓红
-
代码
+关注
关注
30文章
4941浏览量
73135 -
编译
+关注
关注
0文章
688浏览量
34942
原文标题:NLL 导致的非直觉的作用域扩大
文章出处:【微信号:Rust语言中文社区,微信公众号:Rust语言中文社区】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
介绍一些与变量相关的存储属性与作用域
Java中bean的作用域
基于修正的直觉模糊集成算子
软直觉multiplicative集
程度粗糙直觉模糊集模型研究分析综述
解读Spring 的内置作用域及开发应用

NLL导致的非直觉的作用域扩大
评论