From 3974b511011279e1f249c39145152fffccd69e6a Mon Sep 17 00:00:00 2001 From: Dan Buch Date: Sat, 28 Nov 2020 17:48:57 -0500 Subject: [PATCH] Rect can hold! --- structs/src/main.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/structs/src/main.rs b/structs/src/main.rs index e4f45e8..06b41be 100644 --- a/structs/src/main.rs +++ b/structs/src/main.rs @@ -8,6 +8,10 @@ impl Rectangle { fn area(&self) -> u32 { self.width * self.height } + + fn can_hold(&self, other: &Rectangle) -> bool { + self.width > other.width && self.height > other.height + } } fn main() { @@ -15,9 +19,20 @@ fn main() { width: 30, height: 50, }; + let rect2 = Rectangle { + width: 10, + height: 40, + }; + let rect3 = Rectangle { + width: 60, + height: 45, + }; println!( "The area of the rectangle is {} square pixels.", rect1.area() ); + + println!("Can rect1 hold rect2? {}", rect1.can_hold(&rect2)); + println!("Can rect1 hold rect3? {}", rect1.can_hold(&rect3)); }