changeset 502:cd65e1fd5346

cache: Attempt first steps at finding out more about #1
author Lewin Bormann <lbo@spheniscida.de>
date Sun, 16 Feb 2020 11:28:07 +0100
parents d202298abc3b
children 4d1d8ff2ed19
files src/cache.rs
diffstat 1 files changed, 6 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/cache.rs	Sat Feb 15 23:30:50 2020 +0100
+++ b/src/cache.rs	Sun Feb 16 11:28:07 2020 +0100
@@ -66,6 +66,9 @@
     }
 
     fn remove_last(&mut self) -> Option<T> {
+        if self.count() == 0 {
+            return None
+        }
         if self.head.prev.is_some() {
             let mut lasto = unsafe {
                 replace(
@@ -74,7 +77,10 @@
                 )
             };
 
+            assert!(lasto.is_some());
             if let Some(ref mut last) = lasto {
+                assert!(last.prev.is_some());
+                assert!(self.head.prev.is_some());
                 self.head.prev = last.prev;
                 self.count -= 1;
                 return replace(&mut (*last).data, None);