Rust生命周期

假设有两个引用 &'a i32&'b i32,它们的生命周期分别是 'a'b,若 'a >= 'b,则可以定义 'a:'b,表示 'a 至少要活得跟 'b 一样久。

#![allow(unused)]
struct DoubleRef<'a,'b:'a, T> {
    r: &'a T,
    s: &'b T
}

函数生命周期消除规则

闭包生命周期消除与函数生命周期消除区别较大。如下


#![allow(unused)]
fn main() {
fn fn_elision(x: &i32) -> &i32 { x }
let closure_slision = |x: &i32| -> &i32 { x };
}

最后更新于

这有帮助吗?