| #[derive(Debug)] |
| struct Rectangle { |
| width: u32, |
| height: u32, |
| } |
| |
| // ANCHOR: here |
| impl Rectangle { |
| fn area(&self) -> u32 { |
| self.width * self.height |
| } |
| } |
| |
| impl Rectangle { |
| fn can_hold(&self, other: &Rectangle) -> bool { |
| self.width > other.width && self.height > other.height |
| } |
| } |
| // ANCHOR_END: here |
| |
| fn main() { |
| let rect1 = Rectangle { |
| width: 30, |
| height: 50, |
| }; |
| let rect2 = Rectangle { |
| width: 10, |
| height: 40, |
| }; |
| let rect3 = Rectangle { |
| width: 60, |
| height: 45, |
| }; |
| |
| println!("Can rect1 hold rect2? {}", rect1.can_hold(&rect2)); |
| println!("Can rect1 hold rect3? {}", rect1.can_hold(&rect3)); |
| } |