From 9087d3ad7fc2a9a9bcb4683bcb1ead8f72e03a51 Mon Sep 17 00:00:00 2001 From: Exalted5373 <247056922+Exalted5373@users.noreply.github.com> Date: Thu, 8 Oct 2026 16:25:17 -0700 Subject: [PATCH] PSD: as_chunks for the palette and 16/32-bit plane loops (clippy 1.98) clippy 1.98's manual_chunks lint fails `cargo xtask ci` on main at psd.rs:170/191/201 (chunks_exact with a constant size). The fixed-size chunks also drop the per-sample indexing. No behaviour change; the codecs tests pass. Co-Authored-By: Claude Opus 5.5 --- crates/codecs/src/psd.rs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/crates/codecs/src/psd.rs b/crates/codecs/src/psd.rs index 66dec826..3d26984e 100644 --- a/crates/codecs/src/psd.rs +++ b/crates/codecs/src/psd.rs @@ -167,9 +167,9 @@ pub(crate) fn decode(bytes: &[u8], opts: &DecodeOptions) -> Result { }; let idx = planes.first().ok_or_else(|| err("missing plane"))?; let mut v = zeroed::(n.checked_mul(3).ok_or_else(too_large)?, too_large)?; - for (o, &i) in v.chunks_exact_mut(3).zip(idx) { + for (o, &i) in v.as_chunks_mut::<3>().0.iter_mut().zip(idx) { let i = i as usize; - o.copy_from_slice(&[pal[i], pal[256 + i], pal[512 + i]]); + *o = [pal[i], pal[256 + i], pal[512 + i]]; } Buf::U8(v) } else { @@ -188,8 +188,8 @@ pub(crate) fn decode(bytes: &[u8], opts: &DecodeOptions) -> Result { 2 => { let mut v = zeroed::(samples, too_large)?; for (c, p) in planes.iter().enumerate() { - for (o, s) in v.iter_mut().skip(c).step_by(used).zip(p.chunks_exact(2)) { - let x = u16::from_be_bytes([s[0], s[1]]); + for (o, s) in v.iter_mut().skip(c).step_by(used).zip(p.as_chunks::<2>().0) { + let x = u16::from_be_bytes(*s); *o = if cmyk && c < 4 { 65535 - x } else { x }; } } @@ -198,8 +198,8 @@ pub(crate) fn decode(bytes: &[u8], opts: &DecodeOptions) -> Result { _ => { let mut v = zeroed::(samples, too_large)?; for (c, p) in planes.iter().enumerate() { - for (o, s) in v.iter_mut().skip(c).step_by(used).zip(p.chunks_exact(4)) { - let x = f32::from_be_bytes([s[0], s[1], s[2], s[3]]); + for (o, s) in v.iter_mut().skip(c).step_by(used).zip(p.as_chunks::<4>().0) { + let x = f32::from_be_bytes(*s); *o = if cmyk && c < 4 { 1.0 - x } else { x }; } }