Tour de Rust Table des matières

Fonctions géneriques

Avec Rust les génériques vont de pair avec les traits. Lorsqu'un paramètre de fonction est un type paramétré T, le compilateur contraint les types qui peuvent être utilisés comme argument de la fonction. Le mot-clé where permet de lister les traits que l'argument doit implémenter.

Dans cet exemple, le type T doit implémenter le traitFoo:

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

En utilisant des génériques, nous créons des fonctions statiquement typées au moment de la compilation dont le type et la taille seront connus. Cela nous permet d'effectuer un dispatch statique et de stocker des valeurs dont la taille est connue.