Rustのライフタイムとジェネリクスを指定した構造体の型定義

ライフタイムとジェネリクスを定義した構造体を作成したはいいが、型を定義するのに少し手こずった。ライフタイムの部分は'_と指定すれば良いようだ。

#[derive(Debug)]
struct Foo<'a, T> {
    x: &'a T,
}

fn main() {
    let a: Foo<'_, &'static str> = Foo { x: &"hoge" };
    let b: Foo<'_, String> = Foo { x: &"hoge".to_string() };
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA