Type parameters - The Rust Reference (original) (raw)
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
The Rust Reference
Type parameters
Within the body of an item that has type parameter declarations, the names of its type parameters are types:
#![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
}
}Here, first has type A, referring to to_vec’s A type parameter; andrest has type Vec<A>, a vector with element type A.