2.5.4 引用生命周期
1分钟内可阅读完
译文 · 基于 Learning Rust
引用生命周期
原文链接: https://quinedot.github.io/rust-learning/st-references.html
下面这点你在 Rust 中会经常用到,甚至无需多想:
&'long T可强制转换为&'short T&'long mut T可强制转换为&'short mut T
技术术语是「在生命周期上协变(covariant)」,但实用的直觉是「引用的(外层)生命周期可以缩短」。
这一性质对类型为引用的值成立,但对其他类型并不总是成立。例如,我们很快会看到,嵌套在另一引用内的引用的生命周期,这一性质并不总是成立。当性质不成立时,通常是由于不变性(invariance)。
即便你从未真正思考过协变,你也会逐渐培养出直觉——以至于最终遇到不变性、性质不成立时,你会感到意外。我们很快会看一些例子。