From 2e42ebad7453fbdd506e3e1d4487689240523900 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Fri, 20 Oct 2023 13:28:40 +0200 Subject: [PATCH] Simplified with if let --- src/matrix.rs | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/src/matrix.rs b/src/matrix.rs index f85274d..ab2f7e3 100644 --- a/src/matrix.rs +++ b/src/matrix.rs @@ -188,19 +188,13 @@ impl<'a, T> Iterator for MatrixIter1DRow<'a, T> { type Item = &'a T; fn next(&mut self) -> Option { - let v = self.iter.next(); - match v { - Some(_) => v, - None => { - let new_row = self.row.next(); - match new_row { - None => None, - Some(i) => { - self.iter = self.mat.iter_row(i); - self.iter.next() - } - } - } + if let Some(v) = self.iter.next() { + Some(v) + } else if let Some(new_row) = self.row.next() { + self.iter = self.mat.iter_row(new_row); + self.iter.next() + } else { + None } } } @@ -217,9 +211,8 @@ impl<'a, T> Iterator for MatrixIter1DRowMut<'a, T> { type Item = &'a mut T; fn next(&mut self) -> Option { - let v = self.iter.next(); - match v { - Some(_) => v, + if let v = self.iter.next() { + v, None => { let new_row = self.row.next(); match new_row {