more idiomatic with closure

This commit is contained in:
Sander Hautvast 2022-02-14 13:05:47 +01:00
parent beb5272b61
commit 0cf2b5c247

View file

@ -35,13 +35,10 @@ impl <T> List<T> {
}
pub fn pop(&mut self) -> Option<T> {
match self.head.take() {
None => None,
Some(node) => {
self.head.take().map(|node| {
self.head = node.next;
Some(node.elem)
}
}
node.elem
})
}
}
@ -54,6 +51,6 @@ mod tests {
fn test() {
let mut list = List::new();
list.push(42);
println!("{:?}", list);
assert_eq!(Some(42), list.pop());
}
}