diff --git a/src/geometry.rs b/src/geometry.rs index dcb193e..d1e7c5a 100644 --- a/src/geometry.rs +++ b/src/geometry.rs @@ -23,14 +23,12 @@ impl Point { Self { x: 0, y: 0 } } - pub fn with_x(&mut self, x: u32) -> &mut Self { - self.x = x; - self + pub fn with_x(&self, x: u32) -> Self { + Self { x, y: self.y } } - pub fn with_y(&mut self, y: u32) -> &mut Self { - self.y = y; - self + pub fn with_y(&self, y: u32) -> Self { + Self { x: self.x, y } } pub fn x(&self) -> u32 { @@ -93,12 +91,12 @@ mod tests { #[test] fn test_point_set_x() { - assert_eq!(Point::new(42, 52).with_x(12), &Point::new(12, 52)); + assert_eq!(Point::new(42, 52).with_x(12), Point::new(12, 52)); } #[test] fn test_point_set_y() { - assert_eq!(Point::new(42, 52).with_y(12), &Point::new(42, 12)); + assert_eq!(Point::new(42, 52).with_y(12), Point::new(42, 12)); } #[test]