From 72060b779a6411800f0e7052898133539b6b4713 Mon Sep 17 00:00:00 2001 From: David Tolnay Date: Mon, 22 Mar 2021 16:09:29 -0700 Subject: [PATCH] Extend test_format_u8 to include u8::MAX This is equivalent to looping 0..=u8::MAX, except that `..=` syntax is not supported on old rustc and `...` syntax is not supported on new rustc, so loop it is. --- serde/src/ser/impls.rs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/serde/src/ser/impls.rs b/serde/src/ser/impls.rs index 2e6c7424..c254ac65 100644 --- a/serde/src/ser/impls.rs +++ b/serde/src/ser/impls.rs @@ -706,10 +706,17 @@ fn format_u8(mut n: u8, out: &mut [u8]) -> usize { #[cfg(feature = "std")] #[test] fn test_format_u8() { - for i in 0..(u8::MAX as u16) { + let mut i = 0u8; + + loop { let mut buf = [0u8; 3]; - let written = format_u8(i as u8, &mut buf); + let written = format_u8(i, &mut buf); assert_eq!(i.to_string().as_bytes(), &buf[..written]); + + match i.checked_add(1) { + Some(next) => i = next, + None => break, + } } }