pub struct Vector2 { x: f32, y: f32, } impl Default for Vector3 { fn default() -> Self { Self { x: 0_f32, y: 0_f32, z: 0_f32, } } } impl Vector2 { pub fn new(x: f32, y: f32) -> Self { Self { x, y } } } pub struct Vector3 { x: f32, y: f32, z: f32, } impl Default for Vector2 { fn default() -> Self { Self { x: 0_f32, y: 0_f32 } } } impl Vector3 { pub fn new(x: f32, y: f32, z: f32) -> Self { Self { x, y, z } } }