Rustin ympäriajo Sisällysluettelo

Geneeriset Funktiot

Geneeriset tyypit toimivat Rustissa käsi kädessä traittien kanssa. Kun kuvailemme parametrisoitua tyyppiä T, voimme rajoittaa, mitä tyyppejä voidaan käyttää argumenttina, luettelemalla, mitä traitteja argumentin täytyy toteuttaa.

Tässä esimerkissä tyypin T täytyy toteuttaa Foo:

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

Käyttämällä geneerisiä tyyppejä luomme käännösaikana staattisesti tyypitettyjä funktioita, joilla on tunnetut tyypit ja koot, minkä ansiosta voimme suorittaa staattista dispatchia ja tallentaa ne tunnetun kokoisena arvona.