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

相關文章
相關標籤/搜索