mem::replace -> Option::take

This commit is contained in:
Sander Hautvast 2022-02-14 12:57:41 +01:00
parent eca0964be5
commit beb5272b61

View file

@ -29,13 +29,13 @@ impl <T> List<T> {
pub fn push(&mut self, elem: T) {
let new_node = Node {
elem: elem,
next: std::mem::replace(&mut self.head, None),
next: self.head.take(),
};
self.head = Some(Box::new(new_node));
}
pub fn pop(&mut self) -> Option<T> {
match std::mem::replace(&mut self.head, None) {
match self.head.take() {
None => None,
Some(node) => {
self.head = node.next;