トレイト
トレイトのメソッドにおけるライフタイムのアノテーションは、基本的には関数に似ています。impl
にもライフタイムのアノテーションがあることに注意してください。
// ライフタイムのアノテーションつき構造体 #[derive(Debug)] struct Borrowed<'a> { x: &'a i32, } // ライフタイムのアノテーションつきimpl impl<'a> Default for Borrowed<'a> { fn default() -> Self { Self { x: &10, } } } fn main() { let b: Borrowed = Default::default(); println!("b is {:?}", b); }