A Rust generikus függvényei kéz a kézben járnak a trait-ekkel. Például egy paraméterezett T
típus esetén meghatározhatjuk, hogy mely típusok is illhetnek T
helyére, az által, hogy
felsorolunk traiteket, amiket az adott típusparaméternek meg kell valósítania (trait-megkötés).
Az alábbi példában T
-nek meg kell valósítania a Foo
trait-et:
fn my_function<T>(foo: T)
where
T: Foo
{
...
}
A generikus függvények használatával olyan típusos függvényeket tudunk létrehozni, amik mérete és típusa már a fordítás idején ismert, így ezeken lehetővé válik a statikus meghívás és ismert-méretű értékekként lehet őket tárolni.