Rust <8>:lifetime 高级语法与 trait 关联绑定

1、生命周期关联:以下声明表示,'s >= 'cspa

struct Parser<'c, 's: 'c> {
    context: &'c Context<'s>,
}

2、泛型生命周期绑定code

struct Data<'a, T: 'a>(&'a T)

对于含有泛型引用成员的结构体,由于 T 自己多是引用甚至是多层引用,为保证在 T 自己为引用的状况下 lifetime 不短于结构体的限制,必须同时指定 T 类型自身的 lifetimeblog

3、以下 trait 定义方式,至关于为 trait 自身定义了 trait bound,即:实现 OutlinePrint 的实例,必须也同时实现 fmt::Display生命周期

trait OutlinePrint: fmt::Display {
    fn outline_print(&self) {
    }
}

...it

相关文章
相关标签/搜索