diff --git a/src/main.rs b/src/main.rs index 0208f17..8562b1b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -172,7 +172,7 @@ impl SField { // safety: // self.possible_vals is initialized with self.size * self.size // so self.pos can safely be used to index here - let possible_vals = unsafe { self.possible_values.get_unchecked(self.pos) }; + let possible_vals = &self.possible_values[self.pos]; for nr in possible_vals.iter() { if *nr <= current_nr { @@ -246,7 +246,7 @@ impl SField { } fn next(&mut self) -> bool { - let new_pos = self.pos + 1 + unsafe { *self.skipf.get_unchecked(self.pos + 1) as usize }; + let new_pos = self.pos + 1 + self.skipf[self.pos + 1] as usize; if new_pos >= NUM_FIELDS { return false; @@ -257,7 +257,7 @@ impl SField { } fn prev(&mut self) -> bool { - let new_pos = self.pos - 1 - unsafe { *self.skipb.get_unchecked(self.pos) as usize }; + let new_pos = self.pos - 1 - self.skipb[self.pos] as usize; if new_pos >= NUM_FIELDS { return false;