commentaire sur pop
malin: let mut temp = self.head.take()?;
Mais ça se fait en 1 take
pub fn pop(&mut self) -> Option<T> {
let Node { data, next } = *self.head.take()?;
self.head = next;
Some(data)
}
alternative:
pub fn pop(&mut self) -> Option<T> {
self.list.take().map(|e| {
self.list = e.next;
e.val
})
}
Modification effectuée par Axel Viala