: #[derive(Debug)] pub struct Foo {     x: isize,     y: isize, }  impl Foo {     fn new(x: isize, y: isize) -> Foo {         Foo { x: x, y: y }     }      fn move_left_by(&mut self, steps: isize) {         self.x -= steps;     }      fn move_right_by(&mut self, steps: isize) {         self.x += steps;     }      pub fn 