1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
pub struct Vec2<T: Sized + Copy> { x: T, y: T, } impl<T: Sized + Copy> Vec2<T> { pub fn new(x: T, y: T) -> Self { Self { x, y } } pub fn x(&self) -> T { self.x } pub fn y(&self) -> T { self.y } }