Annotation of lifetimes in trait methods basically are similar to functions. Note that impl may have annotation of lifetimes too.

// A struct with annotation of lifetimes.
struct Borrowed<'a> {
    x: &'a i32,

// Annotate lifetimes to impl.
impl<'a> Default for Borrowed<'a> {
    fn default() -> Self {
        Self {
            x: &10,

fn main() {
    let b: Borrowed = Default::default();
    println!("b is {:?}", b);



関連キーワード:  Traits, 関数, Result, By, Example, Rust, エラー, テストケース, lifetimes, Option