From: Bennet Bleßmann Date: Thu, 31 Jul 2025 19:34:15 +0000 (+0200) Subject: fix match/if-let can be simplified to ? X-Git-Tag: v0.10.0~35^2~1^2~16 X-Git-Url: https://git.sagredo.dev/?a=commitdiff_plain;h=a639fec153af879b381fc28b697a2b625cd40f90;p=scryer-prolog.git fix match/if-let can be simplified to ? --- diff --git a/src/machine/cycle_detection.rs b/src/machine/cycle_detection.rs index da125518..a800a9b6 100644 --- a/src/machine/cycle_detection.rs +++ b/src/machine/cycle_detection.rs @@ -137,10 +137,7 @@ impl<'a, const STOP_AT_CYCLES: bool> CycleDetectingIter<'a, STOP_AT_CYCLES> { let cell = self.heap[h]; let arity = cell_as_atom_cell!(self.heap[h]).get_arity(); - let last_cell_loc = match self.traverse_subterm(h + 1, arity) { - Some(last_cell_loc) => last_cell_loc, - None => return None, - }; + let last_cell_loc = self.traverse_subterm(h + 1, arity)?; if last_cell_loc == h { if self.backward() { @@ -171,10 +168,7 @@ impl<'a, const STOP_AT_CYCLES: bool> CycleDetectingIter<'a, STOP_AT_CYCLES> { let mut cell = self.heap[self.current]; cell.set_value(self.next); - let last_cell_loc = match self.traverse_subterm(self.next as usize, 2) { - Some(last_cell_loc) => last_cell_loc, - None => return None, - }; + let last_cell_loc = self.traverse_subterm(self.next as usize, 2)?; if self.cycle_detection_active() { for idx in (self.next as usize..last_cell_loc).rev() { diff --git a/src/machine/system_calls.rs b/src/machine/system_calls.rs index ac09b7f8..10323c5c 100644 --- a/src/machine/system_calls.rs +++ b/src/machine/system_calls.rs @@ -4152,9 +4152,7 @@ impl Machine { let mut functor_writer = Heap::functor_writer(functor); - if let Err(e) = functor_writer(heap) { - return Err(e); - } + functor_writer(heap)?; num_functors += 1; }