9.10 Generic Structs

9.10.1 Defining a Generic Struct

#![allow(unused)]
fn main() {
struct Point<T> {
    x: T,
    y: T,
}
}

You can use any type for T, resolved at instantiation:

struct Point<T> {
    x: T,
    y: T,
}
fn main() {
    let integer_point = Point { x: 5, y: 10 };
    let float_point = Point { x: 1.0, y: 4.0 };
}

9.10.2 Methods on Generic Structs

impl<T> Point<T> {
    fn x(&self) -> &T {
        &self.x
    }
}