Тур по Rust Зміст

Узагальнені функції

Узагальнені типи (generics) у Rust працюють пліч-о-пліч із трейтами. Коли ми описуємо узагальнений тип T, ми можемо обмежити, які типи можна використовувати як аргумент, перераховуючи які обов'язкові трейти повинні реалізовувати даний узагальнений аргумент.

У цьому прикладі тип T має реалізовувати трейт Foo:

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

Використовуючи узагальнений тип (generics), ми створюємо статичні типізовані функції під час компіляції, які матимуть відомі типи та розмір, що дозволяє нам виконувати статичну диспетчеризацію виклику і зберігати (функцію) у вигляді значення відомого розміру.