Skip to content

Commit 8fc5cea

Browse files
committed
code golf
1 parent 776c84f commit 8fc5cea

File tree

1 file changed

+5
-8
lines changed

1 file changed

+5
-8
lines changed

src/lib.rs

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -147,19 +147,16 @@ impl<'a, K: Clone, I: IntoIterator<Item = bool>> Iterator for UnboundedDecoder<'
147147
type Item = K;
148148

149149
fn next(&mut self) -> Option<K> {
150-
let mut node = match self.tree.arena.get(self.tree.root) {
151-
Some(root) => root,
152-
None => return None, // empty tree
153-
};
150+
let mut node = self.tree.arena.get(self.tree.root)?;
154151

155152
loop {
156153
match node.data {
157154
NodeData::Leaf { ref symbol } => return Some(symbol.clone()),
158155
NodeData::Branch { left, right } => {
159-
node = match self.iter.next() {
160-
Some(true) => &self.tree.arena[left],
161-
Some(false) => &self.tree.arena[right],
162-
None => return None,
156+
node = if self.iter.next()? {
157+
&self.tree.arena[left]
158+
} else {
159+
&self.tree.arena[right]
163160
};
164161
}
165162
}

0 commit comments

Comments
 (0)