Quellcode durchsuchen

Make sequences wrap around to avoid overflows

Instead of aborting with an `attempt to add with overflow` error, wrap the sequence around so that it goes back to 0 once it has reached the maximum value for the integer type.  Fixes #437.
Adam Nielsen vor 4 Jahren
Ursprung
Commit
036f1f7cec
1 geänderte Dateien mit 1 neuen und 1 gelöschten Zeilen
  1. 1 1
      core/src/util/mod.rs

+ 1 - 1
core/src/util/mod.rs

@@ -38,7 +38,7 @@ pub trait Seq {
 macro_rules! impl_seq {
     ($($ty:ty)*) => { $(
         impl Seq for $ty {
-            fn next(&self) -> Self { *self + 1 }
+            fn next(&self) -> Self { (*self).wrapping_add(1) }
         }
     )* }
 }