diff --git a/Cargo.lock b/Cargo.lock index ed189b7..f97f6f6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -350,9 +350,9 @@ dependencies = [ [[package]] name = "rand" -version = "0.8.5" +version = "0.8.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +checksum = "5ca0ecfa931c29007047d1bc58e623ab12e5590e8c7cc53200d5202b69266d8a" dependencies = [ "rand_core", ] diff --git a/src/block.rs b/src/block.rs index 0deaf5f..ef040fc 100644 --- a/src/block.rs +++ b/src/block.rs @@ -549,10 +549,10 @@ mod tests { #[test] fn decode_tail_round_trip() { for n in 1..=3usize { - let input: Vec = (0u8..=255) - .step_by(if n == 0 { 1 } else { 256 / n + 1 }) - .take(n) - .collect(); + // n ∈ {1, 2, 3}; step_by stride spreads `take(n)` samples across + // the byte range. `n == 0` would divide-by-zero, but it's + // excluded by the loop bounds. + let input: Vec = (0u8..=255).step_by(256 / n + 1).take(n).collect(); let encoded = base85::encode(&input); let mut out = vec![0u8; n]; decode_tail(encoded.as_bytes(), &mut out, 0).expect("valid encoding");