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
.