From 6a8a0ec6ec8bb8cf346ee0dd2c45ddcfbee7fbe6 Mon Sep 17 00:00:00 2001 From: Martin Haug Date: Tue, 3 May 2022 11:40:27 +0200 Subject: Code Review: Heap is Stack. Unsafe is Good. Spaghetti Code is Style. --- src/model/styles.rs | 23 ++++------------------- 1 file changed, 4 insertions(+), 19 deletions(-) (limited to 'src/model/styles.rs') diff --git a/src/model/styles.rs b/src/model/styles.rs index 1fddfd0e..ae4c1586 100644 --- a/src/model/styles.rs +++ b/src/model/styles.rs @@ -466,12 +466,7 @@ where type Output = Sides; fn fold(self, outer: Self::Output) -> Self::Output { - Sides { - left: self.left.fold(outer.left), - top: self.top.fold(outer.top), - right: self.right.fold(outer.right), - bottom: self.bottom.fold(outer.bottom), - } + self.zip(outer, |inner, outer, _| inner.fold(outer)) } } @@ -479,25 +474,15 @@ impl Fold for Sides>> { type Output = Sides>; fn fold(self, outer: Self::Output) -> Self::Output { - Sides { - left: self.left.unwrap_or(outer.left), - top: self.top.unwrap_or(outer.top), - right: self.right.unwrap_or(outer.right), - bottom: self.bottom.unwrap_or(outer.bottom), - } + self.zip(outer, |inner, outer, _| inner.unwrap_or(outer)) } } -impl Fold for Sides>> { +impl Fold for Sides>>> { type Output = Sides>>; fn fold(self, outer: Self::Output) -> Self::Output { - Sides { - left: self.left.or(outer.left), - top: self.top.or(outer.top), - right: self.right.or(outer.right), - bottom: self.bottom.or(outer.bottom), - } + self.zip(outer, |inner, outer, _| inner.unwrap_or(outer)) } } -- cgit v1.2.3