メソッド

関数と同様、implでメソッドを実装する際にもジェネリック型特有の記法が必要です。

#![allow(unused)] fn main() { struct S; // Concrete type `S` // 具象型`S` struct GenericVal<T>(T); // Generic type `GenericVal` // ジェネリック型`GenericVal` // impl of GenericVal where we explicitly specify type parameters: // 型パラメータを指定したうえで、GenericValにメソッドを実装 impl GenericVal<f32> {} // Specify `f32` // `f32`の場合のメソッド impl GenericVal<S> {} // Specify `S` as defined above // 上で定義した`S`への実装 // `<T>` Must precede the type to remain generic // ジェネリック型のまま扱うには`<T>`が先に来る必要がある。 impl<T> GenericVal<T> {} }
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

参照

参照を返す関数, impl, struct