Rust ツアー 目次

ジェネリック関数

Rustのジェネリクスは、トレイトと密接に連携しています。パラメータ化された型 T を記述するとき、引数に実装しなければならない必須のトレイトを列挙することで、引数として使用できる型を制限することができます。

この例では、型 T はトレイト Foo を実装していなければなりません。

fn my_function<T>(foo: T)
where
    T:Foo
{
    ...
}

ジェネリクスを使うことで、コンパイル時に型とサイズが既知の静的型付け関数を作成し、静的ディスパッチとサイズ付きの値としての保存を可能にします。