Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Параметры типа

Внутри тела элемента, который имеет объявления параметров типа, имена его параметров типа являются типами:

#![allow(unused)]
fn main() {
fn to_vec<A: Clone>(xs: &[A]) -> Vec<A> {
    if xs.is_empty() {
        return vec![];
    }
    let first: A = xs[0].clone();
    let mut rest: Vec<A> = to_vec(&xs[1..]);
    rest.insert(0, first);
    rest
}
}

Здесь first имеет тип A, ссылаясь на параметр типа A функции to_vec; и rest имеет тип Vec<A>, вектор с типом элемента A.