Tipos genéricos nos permitem definir parcialmente uma struct
ou enum
, deixando que o compilador instancie uma versão dela definida em tempo de compilação totalmente com base em nosso código.
Geralmente o Rust pode inferir o tipo final observando a nossa instanciação, mas se ele precisar de ajuda você sempre pode ser explícito usando o operador ::<T>
, também conhecido pelo nome turbofish
(ele é um bom amigo meu!).