请教:借用检查的分析
💡
原文中文,约600字,阅读约需2分钟。
📝
内容提要
本文介绍了 Rust 中的可变借用规则,重点讲解了在重叠作用域中进行可变借用的情况,以及没有实现 Copy trait 的情况下的可变借用。作者通过代码示例说明了为什么不会违反借用规则,并测试了可变借用的编译通过情况。
🎯
关键要点
- 本文介绍了 Rust 中的可变借用规则。
- 重点讲解了在重叠作用域中进行可变借用的情况。
- 讨论了没有实现 Copy trait 的情况下的可变借用。
- 通过代码示例说明了为什么不会违反借用规则。
- 测试了可变借用的编译通过情况。
- 第一次可变借用 data 后,第二次可变借用 data 通过解引用 ref1 实现。
- ref1 和 ref2 的作用域重叠,但实际可以通过编译。
- 猜测可以通过编译是因为 *ref1 拥有 data 的 write、read、own 权限。
- 拥有 own 权限是因为整型 10 实现了 Copy trait。
- 测试没有实现 Copy trait 的情况,依然可以编译通过,推测不成立。
🏷️
标签
➡️