Explorar o código

made match statement more succinct by ignoring none value

rachel-rose %!s(int64=5) %!d(string=hai) anos
pai
achega
e6d76428d1
Modificáronse 1 ficheiros con 11 adicións e 27 borrados
  1. 11 27
      src/crypto/merkle.rs

+ 11 - 27
src/crypto/merkle.rs

@@ -168,28 +168,16 @@ impl<Node: Hashable> CommitmentTree<Node> {
 impl<Node: Hashable> Encodable for CommitmentTree<Node> {
     fn encode<S: io::Write>(&self, mut s: S) -> Result<usize> {
         let mut len = 0;
-        match self.left {
-            Some(v) => {
-                len += v.encode(&mut s)?;
-                1
-            }
-            None => 0,
-        };
-        match self.right {
-            Some(v) => {
+        if let Some(v) = self.left {
+            len += v.encode(&mut s)?;
+        }
+        if let Some(v) = self.right {
+            len += v.encode(&mut s)?;
+        }
+        for parent in self.parents.iter() {
+            if let Some(v) = parent {
                 len += v.encode(&mut s)?;
-                1
             }
-            None => 0,
-        };
-        for c in self.parents.iter() {
-            match c {
-                Some(v) => {
-                    len += v.encode(&mut s)?;
-                    1
-                }
-                None => 0,
-            };
         }
         Ok(len)
     }
@@ -258,13 +246,9 @@ impl<Node: Hashable> Encodable for IncrementalWitness<Node> {
             len += c.encode(&mut s)?;
         }
         len += self.cursor_depth.encode(&mut s)?;
-        match &self.cursor {
-            Some(v) => {
-                len += v.encode(&mut s)?;
-                1
-            }
-            None => 0,
-        };
+        if let Some(v) = self.cursor {
+            len += v.encode(&mut s)?;
+        }
         Ok(len)
     }
 }