From fef557aaf1e2183a1d132ceeaac7b37992dde97a Mon Sep 17 00:00:00 2001 From: paq <89paku@gmail.com> Date: Fri, 10 Apr 2026 12:43:06 +0900 Subject: [PATCH 1/2] chore: fix clippy warnings --- zerompk/benches/deserialize_large_array.rs | 4 +-- zerompk/src/impl.rs | 8 +++--- zerompk/src/lib.rs | 3 +-- zerompk/src/read.rs | 2 +- zerompk/src/write.rs | 30 +++++++++++----------- zerompk/tests/derive.rs | 5 +--- 6 files changed, 24 insertions(+), 28 deletions(-) diff --git a/zerompk/benches/deserialize_large_array.rs b/zerompk/benches/deserialize_large_array.rs index 507a370..3727265 100644 --- a/zerompk/benches/deserialize_large_array.rs +++ b/zerompk/benches/deserialize_large_array.rs @@ -41,8 +41,8 @@ fn deserialize_large_array_msgpacker(b: &mut test::Bencher) { b.iter(|| { let data = test::black_box(&msgpack); for _ in 0..N { - let mut buf = data.clone(); - let (_, deserialized): (usize, Vec) = msgpacker::unpack_array(&mut buf).unwrap(); + let buf = data.clone(); + let (_, deserialized): (usize, Vec) = msgpacker::unpack_array(&buf).unwrap(); test::black_box(deserialized); } }); diff --git a/zerompk/src/impl.rs b/zerompk/src/impl.rs index cde8c49..8d39919 100644 --- a/zerompk/src/impl.rs +++ b/zerompk/src/impl.rs @@ -153,10 +153,10 @@ where } } -impl<'a> ToMessagePack for &'a str { +impl ToMessagePack for &str { #[inline(always)] fn write(&self, writer: &mut W) -> crate::Result<()> { - writer.write_string(*self) + writer.write_string(self) } } @@ -278,13 +278,13 @@ impl ToMessagePack for alloc::borrow::Cow<'_, [T]> { impl ToMessagePack for &T { #[inline(always)] fn write(&self, writer: &mut W) -> crate::Result<()> { - T::write(&self, writer) + T::write(self, writer) } } impl ToMessagePack for &mut T { fn write(&self, writer: &mut W) -> crate::Result<()> { - T::write(&self, writer) + T::write(self, writer) } } diff --git a/zerompk/src/lib.rs b/zerompk/src/lib.rs index c22d6d2..2ac53cd 100644 --- a/zerompk/src/lib.rs +++ b/zerompk/src/lib.rs @@ -64,8 +64,7 @@ pub trait ToMessagePack { /// ``` pub fn from_msgpack<'a, T: FromMessagePack<'a>>(data: &'a [u8]) -> Result { let mut reader = read::SliceReader::new(data); - let result = T::read(&mut reader); - result + T::read(&mut reader) } /// Serializes a value of type `T` into a `Vec` containing its MessagePack representation. diff --git a/zerompk/src/read.rs b/zerompk/src/read.rs index 4c29d25..ebe71b2 100644 --- a/zerompk/src/read.rs +++ b/zerompk/src/read.rs @@ -923,7 +923,7 @@ impl IOReader { fn read_exact(&mut self, buf: &mut [u8]) -> Result<()> { self.reader .read_exact(buf) - .map_err(|err| Error::IoError(err)) + .map_err(Error::IoError) } #[inline(always)] diff --git a/zerompk/src/write.rs b/zerompk/src/write.rs index b86c17e..56f9a07 100644 --- a/zerompk/src/write.rs +++ b/zerompk/src/write.rs @@ -192,7 +192,7 @@ impl<'a> Write for SliceWriter<'a> { let buf = self.take_array::<5>()?; let [head, tail @ ..] = buf; *head = UINT32_MARKER; - *tail = (u as u32).to_be_bytes(); + *tail = u.to_be_bytes(); Ok(()) } } @@ -229,7 +229,7 @@ impl<'a> Write for SliceWriter<'a> { let buf = self.take_array::<9>()?; let [head, tail @ ..] = buf; *head = UINT64_MARKER; - *tail = (u as u64).to_be_bytes(); + *tail = u.to_be_bytes(); Ok(()) } } @@ -278,7 +278,7 @@ impl<'a> Write for SliceWriter<'a> { let buf = self.take_array::<3>()?; let [head, tail @ ..] = buf; *head = INT16_MARKER; - *tail = (i as i16).to_be_bytes(); + *tail = i.to_be_bytes(); Ok(()) } } @@ -313,7 +313,7 @@ impl<'a> Write for SliceWriter<'a> { let buf = self.take_array::<5>()?; let [head, tail @ ..] = buf; *head = INT32_MARKER; - *tail = (i as i32).to_be_bytes(); + *tail = i.to_be_bytes(); Ok(()) } } @@ -355,7 +355,7 @@ impl<'a> Write for SliceWriter<'a> { let buf = self.take_array::<9>()?; let [head, tail @ ..] = buf; *head = INT64_MARKER; - *tail = (i as i64).to_be_bytes(); + *tail = i.to_be_bytes(); Ok(()) } } @@ -522,7 +522,7 @@ impl<'a> Write for SliceWriter<'a> { let tail_ptr = tail.as_mut_ptr(); core::ptr::copy_nonoverlapping(nanoseconds.to_be_bytes().as_ptr(), tail_ptr, 4); core::ptr::copy_nonoverlapping( - (seconds as i64).to_be_bytes().as_ptr(), + seconds.to_be_bytes().as_ptr(), tail_ptr.add(4), 8, ); @@ -888,7 +888,7 @@ impl Write for VecWriter { let ptr = self.buffer.as_mut_ptr().add(self.buffer.len()); *ptr = INT16_MARKER; ptr.add(1) - .copy_from_nonoverlapping((i as i16).to_be_bytes().as_ptr(), 2); + .copy_from_nonoverlapping(i.to_be_bytes().as_ptr(), 2); self.buffer.set_len(self.buffer.len() + 3); } Ok(()) @@ -934,7 +934,7 @@ impl Write for VecWriter { let ptr = self.buffer.as_mut_ptr().add(self.buffer.len()); *ptr = INT32_MARKER; ptr.add(1) - .copy_from_nonoverlapping((i as i32).to_be_bytes().as_ptr(), 4); + .copy_from_nonoverlapping(i.to_be_bytes().as_ptr(), 4); self.buffer.set_len(self.buffer.len() + 5); } Ok(()) @@ -1168,7 +1168,7 @@ impl Write for VecWriter { ptr.add(3) .copy_from_nonoverlapping(nanoseconds.to_be_bytes().as_ptr(), 4); ptr.add(7) - .copy_from_nonoverlapping((seconds as i64).to_be_bytes().as_ptr(), 8); + .copy_from_nonoverlapping(seconds.to_be_bytes().as_ptr(), 8); self.buffer.set_len(self.buffer.len() + 15); } Ok(()) @@ -1352,7 +1352,7 @@ impl IOWriter { #[inline(always)] fn write_all(&mut self, data: &[u8]) -> Result<()> { - self.writer.write_all(data).map_err(|e| Error::IoError(e)) + self.writer.write_all(data).map_err(Error::IoError) } } @@ -1392,7 +1392,7 @@ impl Write for IOWriter { Ok(()) } _ => { - let len_bytes = (u as u16).to_be_bytes(); + let len_bytes = u.to_be_bytes(); self.write_all(&[UINT16_MARKER, len_bytes[0], len_bytes[1]])?; Ok(()) } @@ -1508,7 +1508,7 @@ impl Write for IOWriter { Ok(()) } _ => { - let len_bytes = (i as i16).to_be_bytes(); + let len_bytes = i.to_be_bytes(); self.write_all(&[INT16_MARKER, len_bytes[0], len_bytes[1]])?; Ok(()) } @@ -1536,7 +1536,7 @@ impl Write for IOWriter { Ok(()) } _ => { - let len_bytes = (i as i32).to_be_bytes(); + let len_bytes = i.to_be_bytes(); self.write_all(&[ INT32_MARKER, len_bytes[0], @@ -1581,7 +1581,7 @@ impl Write for IOWriter { Ok(()) } _ => { - let len_bytes = (i as i64).to_be_bytes(); + let len_bytes = i.to_be_bytes(); self.write_all(&[ INT64_MARKER, len_bytes[0], @@ -1732,7 +1732,7 @@ impl Write for IOWriter { } // timestamp 96 - let sec_bytes = (seconds as i64).to_be_bytes(); + let sec_bytes = seconds.to_be_bytes(); let nsec_bytes = nanoseconds.to_be_bytes(); self.write_all(&[ TIMESTAMP96_MARKER, diff --git a/zerompk/tests/derive.rs b/zerompk/tests/derive.rs index 73c9097..bb8b0f9 100644 --- a/zerompk/tests/derive.rs +++ b/zerompk/tests/derive.rs @@ -176,10 +176,7 @@ struct VecPayloadAsBinExplicit { } fn recursive_node_msgpack(depth: usize) -> Vec { - let mut out = Vec::with_capacity(depth + 1); - for _ in 0..depth { - out.push(0x91); // [next] - } + let mut out = vec![0x91; depth]; // [next] out.push(0xc0); // None out } From 67f4c8036e0fb76550d692c49c5b1468dea8aa89 Mon Sep 17 00:00:00 2001 From: paq <89paku@gmail.com> Date: Fri, 10 Apr 2026 12:47:32 +0900 Subject: [PATCH 2/2] chore: cargo fmt --- zerompk/src/read.rs | 4 +--- zerompk/src/write.rs | 6 +----- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/zerompk/src/read.rs b/zerompk/src/read.rs index ebe71b2..c25c2a8 100644 --- a/zerompk/src/read.rs +++ b/zerompk/src/read.rs @@ -921,9 +921,7 @@ impl IOReader { #[inline(always)] fn read_exact(&mut self, buf: &mut [u8]) -> Result<()> { - self.reader - .read_exact(buf) - .map_err(Error::IoError) + self.reader.read_exact(buf).map_err(Error::IoError) } #[inline(always)] diff --git a/zerompk/src/write.rs b/zerompk/src/write.rs index 56f9a07..c6de0e2 100644 --- a/zerompk/src/write.rs +++ b/zerompk/src/write.rs @@ -521,11 +521,7 @@ impl<'a> Write for SliceWriter<'a> { unsafe { let tail_ptr = tail.as_mut_ptr(); core::ptr::copy_nonoverlapping(nanoseconds.to_be_bytes().as_ptr(), tail_ptr, 4); - core::ptr::copy_nonoverlapping( - seconds.to_be_bytes().as_ptr(), - tail_ptr.add(4), - 8, - ); + core::ptr::copy_nonoverlapping(seconds.to_be_bytes().as_ptr(), tail_ptr.add(4), 8); } Ok(()) }