Um tour por Rust Índice

Funções genéricas

Os genéricos no Rust trabalham lado a lado com as traits. Quando descrevemos um tipo parametrizado T, podemos restringir quais tipos podem ser usados como argumento listando as traits necessárias que o argumento deve implementar.

Neste exemplo o tipo T deve implementar a trait Foo:

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

Usando genéricos criamos funções tipadas estáticas em tempo de compilação que terão tipos e tamanhos conhecidos, permitindo executar dispatchs estáticos e armazená-lo como um valor dimensionado.