Эх сурвалжийг харах

Merge #651

651: Clippy fixes. r=Dirbaio a=Dirbaio



Co-authored-by: Dario Nieuwenhuis <dirbaio@dirbaio.net>
bors[bot] 2 жил өмнө
parent
commit
d1315a1548

+ 1 - 1
examples/sixlowpan_benchmark.rs

@@ -67,7 +67,7 @@ use std::fs;
 fn if_nametoindex(ifname: &str) -> u32 {
     let contents = fs::read_to_string(format!("/sys/devices/virtual/net/{}/ifindex", ifname))
         .expect("couldn't read interface from \"/sys/devices/virtual/net\"")
-        .replace("\n", "");
+        .replace('\n', "");
     contents.parse::<u32>().unwrap()
 }
 

+ 7 - 9
examples/utils.rs

@@ -41,7 +41,7 @@ where
                     buf,
                     "\x1b[37m{} {}\x1b[0m",
                     timestamp,
-                    message.replace("\n", "\n             ")
+                    message.replace('\n', "\n             ")
                 )
             } else {
                 writeln!(
@@ -95,7 +95,7 @@ pub fn parse_options(options: &Options, free: Vec<&str>) -> Matches {
     }
 }
 
-pub fn add_tuntap_options(opts: &mut Options, _free: &mut Vec<&str>) {
+pub fn add_tuntap_options(opts: &mut Options, _free: &mut [&str]) {
     opts.optopt("", "tun", "TUN interface to use", "tun0");
     opts.optopt("", "tap", "TAP interface to use", "tap0");
 }
@@ -111,7 +111,7 @@ pub fn parse_tuntap_options(matches: &mut Matches) -> TunTapInterface {
     }
 }
 
-pub fn add_middleware_options(opts: &mut Options, _free: &mut Vec<&str>) {
+pub fn add_middleware_options(opts: &mut Options, _free: &mut [&str]) {
     opts.optopt("", "pcap", "Write a packet capture file", "FILE");
     opts.optopt(
         "",
@@ -186,12 +186,10 @@ where
         .map(|s| u64::from_str(&s).unwrap())
         .unwrap_or(0);
 
-    let pcap_writer: Box<dyn io::Write>;
-    if let Some(pcap_filename) = matches.opt_str("pcap") {
-        pcap_writer = Box::new(File::create(pcap_filename).expect("cannot open file"))
-    } else {
-        pcap_writer = Box::new(io::sink())
-    }
+    let pcap_writer: Box<dyn io::Write> = match matches.opt_str("pcap") {
+        Some(pcap_filename) => Box::new(File::create(pcap_filename).expect("cannot open file")),
+        None => Box::new(io::sink()),
+    };
 
     let seed = SystemTime::now()
         .duration_since(UNIX_EPOCH)

+ 2 - 2
src/iface/interface.rs

@@ -4254,14 +4254,14 @@ mod test {
 
         // Ensure the ident we bound to and the ident of the packet are the same.
         let mut bytes = [0xff; 24];
-        let mut packet = Icmpv4Packet::new_unchecked(&mut bytes);
+        let mut packet = Icmpv4Packet::new_unchecked(&mut bytes[..]);
         let echo_repr = Icmpv4Repr::EchoRequest {
             ident,
             seq_no,
             data: echo_data,
         };
         echo_repr.emit(&mut packet, &ChecksumCapabilities::default());
-        let icmp_data = &packet.into_inner()[..];
+        let icmp_data = &*packet.into_inner();
 
         let ipv4_repr = Ipv4Repr {
             src_addr: Ipv4Address::new(0x7f, 0x00, 0x00, 0x02),

+ 12 - 12
src/socket/icmp.rs

@@ -683,7 +683,7 @@ mod test_ipv4 {
         ECHOV4_REPR.emit(&mut packet, &checksum);
 
         assert_eq!(
-            socket.send_slice(&packet.into_inner()[..], REMOTE_IPV4.into()),
+            socket.send_slice(&*packet.into_inner(), REMOTE_IPV4.into()),
             Ok(())
         );
         assert_eq!(
@@ -728,7 +728,7 @@ mod test_ipv4 {
         s.set_hop_limit(Some(0x2a));
 
         assert_eq!(
-            s.send_slice(&packet.into_inner()[..], REMOTE_IPV4.into()),
+            s.send_slice(&*packet.into_inner(), REMOTE_IPV4.into()),
             Ok(())
         );
         assert_eq!(
@@ -761,9 +761,9 @@ mod test_ipv4 {
         let checksum = ChecksumCapabilities::default();
 
         let mut bytes = [0xff; 24];
-        let mut packet = Icmpv4Packet::new_unchecked(&mut bytes);
+        let mut packet = Icmpv4Packet::new_unchecked(&mut bytes[..]);
         ECHOV4_REPR.emit(&mut packet, &checksum);
-        let data = &packet.into_inner()[..];
+        let data = &*packet.into_inner();
 
         assert!(socket.accepts(&mut cx, &REMOTE_IPV4_REPR, &ECHOV4_REPR.into()));
         socket.process(&mut cx, &REMOTE_IPV4_REPR, &ECHOV4_REPR.into());
@@ -816,7 +816,7 @@ mod test_ipv4 {
             &checksum,
         );
 
-        let data = &packet.into_inner()[..];
+        let data = &*packet.into_inner();
 
         let icmp_repr = Icmpv4Repr::DstUnreachable {
             reason: Icmpv4DstUnreachable::PortUnreachable,
@@ -850,7 +850,7 @@ mod test_ipv4 {
         icmp_repr.emit(&mut packet, &checksum);
         assert_eq!(
             socket.recv(),
-            Ok((&packet.into_inner()[..], REMOTE_IPV4.into()))
+            Ok((&*packet.into_inner(), REMOTE_IPV4.into()))
         );
         assert!(!socket.can_recv());
     }
@@ -931,7 +931,7 @@ mod test_ipv6 {
         );
 
         assert_eq!(
-            socket.send_slice(&packet.into_inner()[..], REMOTE_IPV6.into()),
+            socket.send_slice(&*packet.into_inner(), REMOTE_IPV6.into()),
             Ok(())
         );
         assert_eq!(
@@ -981,7 +981,7 @@ mod test_ipv6 {
         s.set_hop_limit(Some(0x2a));
 
         assert_eq!(
-            s.send_slice(&packet.into_inner()[..], REMOTE_IPV6.into()),
+            s.send_slice(&*packet.into_inner(), REMOTE_IPV6.into()),
             Ok(())
         );
         assert_eq!(
@@ -1014,14 +1014,14 @@ mod test_ipv6 {
         let checksum = ChecksumCapabilities::default();
 
         let mut bytes = [0xff; 24];
-        let mut packet = Icmpv6Packet::new_unchecked(&mut bytes);
+        let mut packet = Icmpv6Packet::new_unchecked(&mut bytes[..]);
         ECHOV6_REPR.emit(
             &LOCAL_IPV6.into(),
             &REMOTE_IPV6.into(),
             &mut packet,
             &checksum,
         );
-        let data = &packet.into_inner()[..];
+        let data = &*packet.into_inner();
 
         assert!(socket.accepts(&mut cx, &REMOTE_IPV6_REPR, &ECHOV6_REPR.into()));
         socket.process(&mut cx, &REMOTE_IPV6_REPR, &ECHOV6_REPR.into());
@@ -1079,7 +1079,7 @@ mod test_ipv6 {
             &checksum,
         );
 
-        let data = &packet.into_inner()[..];
+        let data = &*packet.into_inner();
 
         let icmp_repr = Icmpv6Repr::DstUnreachable {
             reason: Icmpv6DstUnreachable::PortUnreachable,
@@ -1118,7 +1118,7 @@ mod test_ipv6 {
         );
         assert_eq!(
             socket.recv(),
-            Ok((&packet.into_inner()[..], REMOTE_IPV6.into()))
+            Ok((&*packet.into_inner(), REMOTE_IPV6.into()))
         );
         assert!(!socket.can_recv());
     }

+ 3 - 3
src/wire/arp.rs

@@ -21,7 +21,7 @@ enum_with_unknown! {
 }
 
 /// A read/write wrapper around an Address Resolution Protocol packet buffer.
-#[derive(Debug, PartialEq, Clone)]
+#[derive(Debug, PartialEq, Eq, Clone)]
 #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 pub struct Packet<T: AsRef<[u8]>> {
     buffer: T,
@@ -429,7 +429,7 @@ mod test {
         packet.set_source_protocol_addr(&[0x21, 0x22, 0x23, 0x24]);
         packet.set_target_hardware_addr(&[0x31, 0x32, 0x33, 0x34, 0x35, 0x36]);
         packet.set_target_protocol_addr(&[0x41, 0x42, 0x43, 0x44]);
-        assert_eq!(&packet.into_inner()[..], &PACKET_BYTES[..]);
+        assert_eq!(&*packet.into_inner(), &PACKET_BYTES[..]);
     }
 
     fn packet_repr() -> Repr {
@@ -458,6 +458,6 @@ mod test {
         let mut bytes = vec![0xa5; 28];
         let mut packet = Packet::new_unchecked(&mut bytes);
         packet_repr().emit(&mut packet);
-        assert_eq!(&packet.into_inner()[..], &PACKET_BYTES[..]);
+        assert_eq!(&*packet.into_inner(), &PACKET_BYTES[..]);
     }
 }

+ 3 - 3
src/wire/dhcpv4.rs

@@ -77,7 +77,7 @@ impl<'a> DhcpOption<'a> {
         // See https://tools.ietf.org/html/rfc2132 for all possible DHCP options.
 
         let (skip_len, option);
-        match *buffer.get(0).ok_or(Error)? {
+        match *buffer.first().ok_or(Error)? {
             field::OPT_END => {
                 skip_len = 1;
                 option = DhcpOption::EndOfList;
@@ -217,7 +217,7 @@ impl<'a> DhcpOption<'a> {
 }
 
 /// A read/write wrapper around a Dynamic Host Configuration Protocol packet buffer.
-#[derive(Debug, PartialEq)]
+#[derive(Debug, PartialEq, Eq)]
 #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 pub struct Packet<T: AsRef<[u8]>> {
     buffer: T,
@@ -1173,7 +1173,7 @@ mod test {
         let mut bytes = vec![0xa5; repr.buffer_len()];
         let mut packet = Packet::new_unchecked(&mut bytes);
         repr.emit(&mut packet).unwrap();
-        let packet = &packet.into_inner()[..];
+        let packet = &*packet.into_inner();
         let packet_len = packet.len();
         assert_eq!(packet, &DISCOVER_BYTES[..packet_len]);
         for byte in &DISCOVER_BYTES[packet_len..] {

+ 7 - 7
src/wire/dns.rs

@@ -76,7 +76,7 @@ mod field {
 const CLASS_IN: u16 = 1;
 
 /// A read/write wrapper around a DNS packet buffer.
-#[derive(Debug, PartialEq)]
+#[derive(Debug, PartialEq, Eq)]
 pub struct Packet<T: AsRef<[u8]>> {
     buffer: T,
 }
@@ -262,7 +262,7 @@ fn parse_name_part<'a>(
     mut f: impl FnMut(&'a [u8]),
 ) -> Result<(&'a [u8], Option<usize>)> {
     loop {
-        let x = *bytes.get(0).ok_or(Error)?;
+        let x = *bytes.first().ok_or(Error)?;
         bytes = &bytes[1..];
         match x {
             0x00 => return Ok((bytes, None)),
@@ -273,7 +273,7 @@ fn parse_name_part<'a>(
                 f(label);
             }
             x if x & 0xC0 == 0xC0 => {
-                let y = *bytes.get(0).ok_or(Error)?;
+                let y = *bytes.first().ok_or(Error)?;
                 bytes = &bytes[1..];
 
                 let ptr = ((x & 0x3F) as usize) << 8 | (y as usize);
@@ -284,7 +284,7 @@ fn parse_name_part<'a>(
     }
 }
 
-#[derive(Debug, PartialEq)]
+#[derive(Debug, PartialEq, Eq)]
 #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 pub struct Question<'a> {
     pub name: &'a [u8],
@@ -324,7 +324,7 @@ impl<'a> Question<'a> {
     }
 }
 
-#[derive(Debug, PartialEq)]
+#[derive(Debug, PartialEq, Eq)]
 #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 pub struct Record<'a> {
     pub name: &'a [u8],
@@ -355,7 +355,7 @@ impl<'a> RecordData<'a> {
     }
 }
 
-#[derive(Debug, PartialEq)]
+#[derive(Debug, PartialEq, Eq)]
 #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 pub enum RecordData<'a> {
     #[cfg(feature = "proto-ipv4")]
@@ -401,7 +401,7 @@ impl<'a> Record<'a> {
 /// High-level DNS packet representation.
 ///
 /// Currently only supports query packets.
-#[derive(Debug, PartialEq)]
+#[derive(Debug, PartialEq, Eq)]
 #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 pub struct Repr<'a> {
     pub transaction_id: u16,

+ 3 - 3
src/wire/icmpv4.rs

@@ -161,7 +161,7 @@ enum_with_unknown! {
 }
 
 /// A read/write wrapper around an Internet Control Message Protocol version 4 packet buffer.
-#[derive(Debug, PartialEq, Clone)]
+#[derive(Debug, PartialEq, Eq, Clone)]
 #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 pub struct Packet<T: AsRef<[u8]>> {
     buffer: T,
@@ -665,7 +665,7 @@ mod test {
         packet.set_echo_seq_no(0xabcd);
         packet.data_mut().copy_from_slice(&ECHO_DATA_BYTES[..]);
         packet.fill_checksum();
-        assert_eq!(&packet.into_inner()[..], &ECHO_PACKET_BYTES[..]);
+        assert_eq!(&*packet.into_inner(), &ECHO_PACKET_BYTES[..]);
     }
 
     fn echo_packet_repr() -> Repr<'static> {
@@ -689,7 +689,7 @@ mod test {
         let mut bytes = vec![0xa5; repr.buffer_len()];
         let mut packet = Packet::new_unchecked(&mut bytes);
         repr.emit(&mut packet, &ChecksumCapabilities::default());
-        assert_eq!(&packet.into_inner()[..], &ECHO_PACKET_BYTES[..]);
+        assert_eq!(&*packet.into_inner(), &ECHO_PACKET_BYTES[..]);
     }
 
     #[test]

+ 5 - 5
src/wire/icmpv6.rs

@@ -183,7 +183,7 @@ impl fmt::Display for TimeExceeded {
 }
 
 /// A read/write wrapper around an Internet Control Message Protocol version 6 packet buffer.
-#[derive(Debug, PartialEq, Clone)]
+#[derive(Debug, PartialEq, Eq, Clone)]
 #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 pub struct Packet<T: AsRef<[u8]>> {
     pub(super) buffer: T,
@@ -828,7 +828,7 @@ mod test {
             .payload_mut()
             .copy_from_slice(&ECHO_PACKET_PAYLOAD[..]);
         packet.fill_checksum(&MOCK_IP_ADDR_1, &MOCK_IP_ADDR_2);
-        assert_eq!(&packet.into_inner()[..], &ECHO_PACKET_BYTES[..]);
+        assert_eq!(&*packet.into_inner(), &ECHO_PACKET_BYTES[..]);
     }
 
     #[test]
@@ -855,7 +855,7 @@ mod test {
             &mut packet,
             &ChecksumCapabilities::default(),
         );
-        assert_eq!(&packet.into_inner()[..], &ECHO_PACKET_BYTES[..]);
+        assert_eq!(&*packet.into_inner(), &ECHO_PACKET_BYTES[..]);
     }
 
     #[test]
@@ -881,7 +881,7 @@ mod test {
             .payload_mut()
             .copy_from_slice(&PKT_TOO_BIG_IP_PAYLOAD[..]);
         packet.fill_checksum(&MOCK_IP_ADDR_1, &MOCK_IP_ADDR_2);
-        assert_eq!(&packet.into_inner()[..], &PKT_TOO_BIG_BYTES[..]);
+        assert_eq!(&*packet.into_inner(), &PKT_TOO_BIG_BYTES[..]);
     }
 
     #[test]
@@ -908,6 +908,6 @@ mod test {
             &mut packet,
             &ChecksumCapabilities::default(),
         );
-        assert_eq!(&packet.into_inner()[..], &PKT_TOO_BIG_BYTES[..]);
+        assert_eq!(&*packet.into_inner(), &PKT_TOO_BIG_BYTES[..]);
     }
 }

+ 3 - 3
src/wire/igmp.rs

@@ -330,7 +330,7 @@ impl<'a, T: AsRef<[u8]> + ?Sized> fmt::Display for Packet<&'a T> {
     }
 }
 
-impl<'a> fmt::Display for Repr {
+impl fmt::Display for Repr {
     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
         match *self {
             Repr::MembershipQuery {
@@ -413,7 +413,7 @@ mod test {
         packet.set_max_resp_code(0);
         packet.set_group_address(Ipv4Address::from_bytes(&[224, 0, 6, 150]));
         packet.fill_checksum();
-        assert_eq!(&packet.into_inner()[..], &LEAVE_PACKET_BYTES[..]);
+        assert_eq!(&*packet.into_inner(), &LEAVE_PACKET_BYTES[..]);
     }
 
     #[test]
@@ -424,7 +424,7 @@ mod test {
         packet.set_max_resp_code(0);
         packet.set_group_address(Ipv4Address::from_bytes(&[225, 0, 0, 37]));
         packet.fill_checksum();
-        assert_eq!(&packet.into_inner()[..], &REPORT_PACKET_BYTES[..]);
+        assert_eq!(&*packet.into_inner(), &REPORT_PACKET_BYTES[..]);
     }
 
     #[test]

+ 3 - 3
src/wire/ipv4.rs

@@ -272,7 +272,7 @@ impl defmt::Format for Cidr {
 }
 
 /// A read/write wrapper around an Internet Protocol version 4 packet buffer.
-#[derive(Debug, PartialEq, Clone)]
+#[derive(Debug, PartialEq, Eq, Clone)]
 #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 pub struct Packet<T: AsRef<[u8]>> {
     buffer: T,
@@ -838,7 +838,7 @@ mod test {
         packet.set_dst_addr(Address([0x21, 0x22, 0x23, 0x24]));
         packet.fill_checksum();
         packet.payload_mut().copy_from_slice(&PAYLOAD_BYTES[..]);
-        assert_eq!(&packet.into_inner()[..], &PACKET_BYTES[..]);
+        assert_eq!(&*packet.into_inner(), &PACKET_BYTES[..]);
     }
 
     #[test]
@@ -918,7 +918,7 @@ mod test {
         let mut packet = Packet::new_unchecked(&mut bytes);
         repr.emit(&mut packet, &ChecksumCapabilities::default());
         packet.payload_mut().copy_from_slice(&REPR_PAYLOAD_BYTES);
-        assert_eq!(&packet.into_inner()[..], &REPR_PACKET_BYTES[..]);
+        assert_eq!(&*packet.into_inner(), &REPR_PACKET_BYTES[..]);
     }
 
     #[test]

+ 3 - 3
src/wire/ipv6.rs

@@ -349,7 +349,7 @@ impl fmt::Display for Cidr {
 }
 
 /// A read/write wrapper around an Internet Protocol version 6 packet buffer.
-#[derive(Debug, PartialEq, Clone)]
+#[derive(Debug, PartialEq, Eq, Clone)]
 #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 pub struct Packet<T: AsRef<[u8]>> {
     buffer: T,
@@ -1103,7 +1103,7 @@ mod test {
         let start = expected_bytes.len() - REPR_PAYLOAD_BYTES.len();
         expected_bytes[start..].copy_from_slice(&REPR_PAYLOAD_BYTES[..]);
         assert_eq!(packet.check_len(), Ok(()));
-        assert_eq!(&packet.into_inner()[..], &expected_bytes[..]);
+        assert_eq!(&*packet.into_inner(), &expected_bytes[..]);
     }
 
     #[test]
@@ -1175,7 +1175,7 @@ mod test {
         let mut packet = Packet::new_unchecked(&mut bytes);
         repr.emit(&mut packet);
         packet.payload_mut().copy_from_slice(&REPR_PAYLOAD_BYTES);
-        assert_eq!(&packet.into_inner()[..], &REPR_PACKET_BYTES[..]);
+        assert_eq!(&*packet.into_inner(), &REPR_PACKET_BYTES[..]);
     }
 
     #[test]

+ 2 - 2
src/wire/ipv6fragment.rs

@@ -6,7 +6,7 @@ use byteorder::{ByteOrder, NetworkEndian};
 pub use super::IpProtocol as Protocol;
 
 /// A read/write wrapper around an IPv6 Fragment Header.
-#[derive(Debug, PartialEq)]
+#[derive(Debug, PartialEq, Eq)]
 #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 pub struct Header<T: AsRef<[u8]>> {
     buffer: T,
@@ -202,7 +202,7 @@ impl Repr {
     }
 }
 
-impl<'a> fmt::Display for Repr {
+impl fmt::Display for Repr {
     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
         write!(
             f,

+ 1 - 1
src/wire/ipv6hopbyhop.rs

@@ -5,7 +5,7 @@ pub use super::IpProtocol as Protocol;
 use crate::wire::ipv6option::Ipv6OptionsIterator;
 
 /// A read/write wrapper around an IPv6 Hop-by-Hop Options Header.
-#[derive(Debug, PartialEq)]
+#[derive(Debug, PartialEq, Eq)]
 #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 pub struct Header<T: AsRef<[u8]>> {
     buffer: T,

+ 1 - 1
src/wire/ipv6option.rs

@@ -57,7 +57,7 @@ impl From<Type> for FailureType {
 }
 
 /// A read/write wrapper around an IPv6 Extension Header Option.
-#[derive(Debug, PartialEq)]
+#[derive(Debug, PartialEq, Eq)]
 #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 pub struct Ipv6Option<T: AsRef<[u8]>> {
     buffer: T,

+ 1 - 1
src/wire/ipv6routing.rs

@@ -50,7 +50,7 @@ impl fmt::Display for Type {
 }
 
 /// A read/write wrapper around an IPv6 Routing Header buffer.
-#[derive(Debug, PartialEq)]
+#[derive(Debug, PartialEq, Eq)]
 #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 pub struct Header<T: AsRef<[u8]>> {
     buffer: T,

+ 5 - 5
src/wire/mld.rs

@@ -165,7 +165,7 @@ impl<T: AsRef<[u8]> + AsMut<[u8]>> Packet<T> {
 }
 
 /// A read/write wrapper around an MLDv2 Listener Report Message Address Record.
-#[derive(Debug, PartialEq, Clone)]
+#[derive(Debug, PartialEq, Eq, Clone)]
 #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 pub struct AddressRecord<T: AsRef<[u8]>> {
     buffer: T,
@@ -478,7 +478,7 @@ mod test {
             &Ipv6Address::LINK_LOCAL_ALL_NODES.into(),
             &Ipv6Address::LINK_LOCAL_ALL_ROUTERS.into(),
         );
-        assert_eq!(&packet.into_inner()[..], &QUERY_PACKET_BYTES[..]);
+        assert_eq!(&*packet.into_inner(), &QUERY_PACKET_BYTES[..]);
     }
 
     #[test]
@@ -521,7 +521,7 @@ mod test {
             &Ipv6Address::LINK_LOCAL_ALL_NODES.into(),
             &Ipv6Address::LINK_LOCAL_ALL_ROUTERS.into(),
         );
-        assert_eq!(&packet.into_inner()[..], &REPORT_PACKET_BYTES[..]);
+        assert_eq!(&*packet.into_inner(), &REPORT_PACKET_BYTES[..]);
     }
 
     #[test]
@@ -559,7 +559,7 @@ mod test {
             &mut packet,
             &ChecksumCapabilities::default(),
         );
-        assert_eq!(&packet.into_inner()[..], &QUERY_PACKET_BYTES[..]);
+        assert_eq!(&*packet.into_inner(), &QUERY_PACKET_BYTES[..]);
     }
 
     #[test]
@@ -573,6 +573,6 @@ mod test {
             &mut packet,
             &ChecksumCapabilities::default(),
         );
-        assert_eq!(&packet.into_inner()[..], &REPORT_PACKET_BYTES[..]);
+        assert_eq!(&*packet.into_inner(), &REPORT_PACKET_BYTES[..]);
     }
 }

+ 2 - 2
src/wire/ndisc.rs

@@ -569,7 +569,7 @@ mod test {
             .payload_mut()
             .copy_from_slice(&SOURCE_LINK_LAYER_OPT[..]);
         packet.fill_checksum(&MOCK_IP_ADDR_1, &MOCK_IP_ADDR_2);
-        assert_eq!(&packet.into_inner()[..], &ROUTER_ADVERT_BYTES[..]);
+        assert_eq!(&*packet.into_inner(), &ROUTER_ADVERT_BYTES[..]);
     }
 
     #[test]
@@ -597,6 +597,6 @@ mod test {
             &mut packet,
             &ChecksumCapabilities::default(),
         );
-        assert_eq!(&packet.into_inner()[..], &ROUTER_ADVERT_BYTES[..]);
+        assert_eq!(&*packet.into_inner(), &ROUTER_ADVERT_BYTES[..]);
     }
 }

+ 3 - 3
src/wire/ndiscoption.rs

@@ -48,7 +48,7 @@ bitflags! {
 /// A read/write wrapper around an [NDISC Option].
 ///
 /// [NDISC Option]: https://tools.ietf.org/html/rfc4861#section-4.6
-#[derive(Debug, PartialEq)]
+#[derive(Debug, PartialEq, Eq)]
 #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 pub struct NdiscOption<T: AsRef<[u8]>> {
     buffer: T,
@@ -617,7 +617,7 @@ impl<T: AsRef<[u8]>> PrettyPrint for NdiscOption<T> {
         indent: &mut PrettyIndent,
     ) -> fmt::Result {
         match NdiscOption::new_checked(buffer) {
-            Err(err) => return write!(f, "{}({})", indent, err),
+            Err(err) => write!(f, "{}({})", indent, err),
             Ok(ndisc) => match Repr::parse(&ndisc) {
                 Err(_) => Ok(()),
                 Ok(repr) => {
@@ -667,7 +667,7 @@ mod test {
         opt.set_valid_lifetime(Duration::from_secs(900));
         opt.set_preferred_lifetime(Duration::from_secs(1000));
         opt.set_prefix(Ipv6Address::new(0xfe80, 0, 0, 0, 0, 0, 0, 1));
-        assert_eq!(&PREFIX_OPT_BYTES[..], &opt.into_inner()[..]);
+        assert_eq!(&PREFIX_OPT_BYTES[..], &*opt.into_inner());
     }
 
     #[test]

+ 4 - 4
src/wire/tcp.rs

@@ -67,7 +67,7 @@ impl cmp::PartialOrd for SeqNumber {
 }
 
 /// A read/write wrapper around a Transmission Control Protocol packet buffer.
-#[derive(Debug, PartialEq, Clone)]
+#[derive(Debug, PartialEq, Eq, Clone)]
 #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 pub struct Packet<T: AsRef<[u8]>> {
     buffer: T,
@@ -606,7 +606,7 @@ pub enum TcpOption<'a> {
 impl<'a> TcpOption<'a> {
     pub fn parse(buffer: &'a [u8]) -> Result<(&'a [u8], TcpOption<'a>)> {
         let (length, option);
-        match *buffer.get(0).ok_or(Error)? {
+        match *buffer.first().ok_or(Error)? {
             field::OPT_END => {
                 length = 1;
                 option = TcpOption::EndOfList;
@@ -1148,7 +1148,7 @@ mod test {
         packet.options_mut().copy_from_slice(&OPTION_BYTES[..]);
         packet.payload_mut().copy_from_slice(&PAYLOAD_BYTES[..]);
         packet.fill_checksum(&SRC_ADDR.into(), &DST_ADDR.into());
-        assert_eq!(&packet.into_inner()[..], &PACKET_BYTES[..]);
+        assert_eq!(&*packet.into_inner(), &PACKET_BYTES[..]);
     }
 
     #[test]
@@ -1215,7 +1215,7 @@ mod test {
             &DST_ADDR.into(),
             &ChecksumCapabilities::default(),
         );
-        assert_eq!(&packet.into_inner()[..], &SYN_PACKET_BYTES[..]);
+        assert_eq!(&*packet.into_inner(), &SYN_PACKET_BYTES[..]);
     }
 
     #[test]

+ 3 - 3
src/wire/udp.rs

@@ -7,7 +7,7 @@ use crate::wire::ip::checksum;
 use crate::wire::{IpAddress, IpProtocol};
 
 /// A read/write wrapper around an User Datagram Protocol packet buffer.
-#[derive(Debug, PartialEq, Clone)]
+#[derive(Debug, PartialEq, Eq, Clone)]
 #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 pub struct Packet<T: AsRef<[u8]>> {
     buffer: T,
@@ -358,7 +358,7 @@ mod test {
         packet.set_checksum(0xffff);
         packet.payload_mut().copy_from_slice(&PAYLOAD_BYTES[..]);
         packet.fill_checksum(&SRC_ADDR.into(), &DST_ADDR.into());
-        assert_eq!(&packet.into_inner()[..], &PACKET_BYTES[..]);
+        assert_eq!(&*packet.into_inner(), &PACKET_BYTES[..]);
     }
 
     #[test]
@@ -429,7 +429,7 @@ mod test {
             |payload| payload.copy_from_slice(&PAYLOAD_BYTES),
             &ChecksumCapabilities::default(),
         );
-        assert_eq!(&packet.into_inner()[..], &PACKET_BYTES[..]);
+        assert_eq!(&*packet.into_inner(), &PACKET_BYTES[..]);
     }
 
     #[test]