There is a new edition of the book and this is an old link.
Generics are abstract stand-ins for concrete types or other properties.
struct Point<T, U> {
x: T,
y: U,
}
fn main() {
let both_integer = Point { x: 5, y: 10 };
let both_float = Point { x: 1.0, y: 4.0 };
let integer_and_float = Point { x: 5, y: 4.0 };
}
Here are the relevant sections in the new and old books: