2 培养借用错误直觉的实用建议
1分钟内可阅读完
译文 · 基于 Learning Rust
培养借用错误直觉的实用建议
原文链接: https://quinedot.github.io/rust-learning/lifetime-intuition.html
所有权、借用与生命周期在 Rust 中涵盖的范围很广,因此本节篇幅较长。也很难对这一主题做出简洁的概览,因为新手最先遇到哪些方面,取决于他们在学习 Rust 过程中选择了什么项目。本指南的缘起,是为一位把零拷贝正则表达式 crate 当作学习项目的人提供建议;因此他们一开始就遇到了大量生命周期问题。选择 Web 框架的人更可能遇到围绕 Arc 和 Mutex 的问题,从 async 项目入手的人则很可能遇到许多 async 特有的错误,诸如此类。
尽管本节很长,仍有许多领域尚未触及,例如析构机制、共享所有权与共享可变性,等等。
即便如此,也不指望任何人能一次性吸收本指南中的全部内容。它旨在作为对该主题的广泛介绍。第一次阅读时可以略读,在看似相关的部分多花些时间,或把它们当作线索,自行查阅更深入的文档。希望你能对可能出现的错误类型有所感受,即便你尚未亲自遇到,这样当它们真的出现时,你不会完全摸不着头脑。
一般而言,你对所有权与借用的心智模型会经历几个演化阶段。时不时以新的眼光重新审视某一主题,是值得的。