mem::replace -> Option::take
This commit is contained in:
parent
eca0964be5
commit
beb5272b61
1 changed files with 2 additions and 2 deletions
|
|
@ -29,13 +29,13 @@ impl <T> List<T> {
|
||||||
pub fn push(&mut self, elem: T) {
|
pub fn push(&mut self, elem: T) {
|
||||||
let new_node = Node {
|
let new_node = Node {
|
||||||
elem: elem,
|
elem: elem,
|
||||||
next: std::mem::replace(&mut self.head, None),
|
next: self.head.take(),
|
||||||
};
|
};
|
||||||
self.head = Some(Box::new(new_node));
|
self.head = Some(Box::new(new_node));
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn pop(&mut self) -> Option<T> {
|
pub fn pop(&mut self) -> Option<T> {
|
||||||
match std::mem::replace(&mut self.head, None) {
|
match self.head.take() {
|
||||||
None => None,
|
None => None,
|
||||||
Some(node) => {
|
Some(node) => {
|
||||||
self.head = node.next;
|
self.head = node.next;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue