Typy generyczne pozwalają nam na stworzenie częściowej definicji struktury struct czy wyliczenia enum, która pozwoli kompilatorowi na stworzenie bardziej konkretnej implementacji naszej wersji kodu w procesie kompilacji.
Ogólnie rzecz biorąc, Rust jest w stanie domyśleć się większości typów zmiennych analizując nasz kod. Jeśli jednak kompilator nie będzie w stanie samodzielnie określić typu, zawsze możemy udzielić mu wskazówki korzystając z operatora ::<T>. Ze względu na swój osobliwy wygląd przypominający tekstową reprezentację niewielkiej (choć zwinnej) ryby, operator ten jest znany pod nazwą turbofish.