From: Mark Thom Date: Sat, 3 Mar 2018 05:31:34 +0000 (-0700) Subject: simplify heap_iter.rs X-Git-Tag: v0.8.110~544 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=c4a206da02ba2c459d1f268bd555e6210701f68b;p=scryer-prolog.git simplify heap_iter.rs --- diff --git a/src/prolog/heap_iter.rs b/src/prolog/heap_iter.rs index a61f4a0e..909442fa 100644 --- a/src/prolog/heap_iter.rs +++ b/src/prolog/heap_iter.rs @@ -167,9 +167,7 @@ impl Iterator for HeapCellAcyclicIterator fn next(&mut self) -> Option { 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 Iterator for HeapCellZippedAcyclicIterator fn next(&mut self) -> Option { 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;