瀏覽代碼

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 4 年之前
父節點
當前提交
036f1f7cec
共有 1 個文件被更改,包括 1 次插入1 次删除
  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) }
         }
     )* }
 }