diff --git a/src/libtest/lib.rs b/src/libtest/lib.rs index a855d80f42a40..9d1640d10b28c 100644 --- a/src/libtest/lib.rs +++ b/src/libtest/lib.rs @@ -1108,7 +1108,14 @@ impl Bencher { return summ5; } - n *= 2; + // If we overflow here just return the results so far. We check a + // multiplier of 10 because we're about to multiply by 2 and the + // next iteration of the loop will also multiply by 5 (to calculate + // the summ5 result) + n = match n.checked_mul(10) { + Some(_) => n * 2, + None => return summ5, + }; } } }