]> Repositorios git - scryer-prolog.git/commitdiff
simplify heap_iter.rs
authorMark Thom <[email protected]>
Sat, 3 Mar 2018 05:31:34 +0000 (22:31 -0700)
committerMark Thom <[email protected]>
Sat, 3 Mar 2018 05:31:34 +0000 (22:31 -0700)
src/prolog/heap_iter.rs

index a61f4a0e36dcdc459d1d49a4fc377c346b87196f..909442faf31734a030495933655d07944f7e0e86 100644 (file)
@@ -167,9 +167,7 @@ impl<HeapCellIter> Iterator for HeapCellAcyclicIterator<HeapCellIter>
 
     fn next(&mut self) -> Option<Self::Item> {
         while let Some(addr) = self.iter.stack().pop() {
-            if self.seen.contains(&addr) {
-                continue;
-            } else {
+            if !self.seen.contains(&addr) {
                 self.iter.stack().push(addr.clone());
                 self.seen.insert(addr);
                 break;
@@ -201,11 +199,9 @@ impl<HeapCellIter> Iterator for HeapCellZippedAcyclicIterator<HeapCellIter>
 
     fn next(&mut self) -> Option<Self::Item> {
         while let (Some(a1), Some(a2)) = (self.i1.stack().pop(), self.i2.stack().pop()) {
-            if self.seen.contains(&(a1.clone(), a2.clone())) {
-                continue;
-            } else {
+            if !self.seen.contains(&(a1.clone(), a2.clone())) {
                 self.i1.stack().push(a1.clone());
-                self.i2.stack().push(a2.clone());                
+                self.i2.stack().push(a2.clone());
                 self.seen.insert((a1, a2));
 
                 break;