[INFO] crate netstat 0.7.0 is already in cache [INFO] extracting crate netstat 0.7.0 into work/ex/clippy-test-run/sources/stable/reg/netstat/0.7.0 [INFO] extracting crate netstat 0.7.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/netstat/0.7.0 [INFO] validating manifest of netstat-0.7.0 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of netstat-0.7.0 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing netstat-0.7.0 [INFO] finished frobbing netstat-0.7.0 [INFO] frobbed toml for netstat-0.7.0 written to work/ex/clippy-test-run/sources/stable/reg/netstat/0.7.0/Cargo.toml [INFO] started frobbing netstat-0.7.0 [INFO] finished frobbing netstat-0.7.0 [INFO] frobbed toml for netstat-0.7.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/netstat/0.7.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting netstat-0.7.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-1/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/netstat/0.7.0:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] e19896714a9a2a1a581c1820426a3f8da63b2d7d2f978ab098782eeca527354e [INFO] running `"docker" "start" "-a" "e19896714a9a2a1a581c1820426a3f8da63b2d7d2f978ab098782eeca527354e"` [INFO] [stderr] Checking easybench v0.1.4 [INFO] [stderr] Checking netstat v0.7.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/integrations/linux/netlink_iterator.rs:84:9 [INFO] [stderr] | [INFO] [stderr] 84 | family: family, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `family` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/integrations/linux/netlink_iterator.rs:85:9 [INFO] [stderr] | [INFO] [stderr] 85 | protocol: protocol, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `protocol` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: Creating a reference that is immediately dereferenced. [INFO] [stderr] --> src/integrations/linux/ffi/macros.rs:5:16 [INFO] [stderr] | [INFO] [stderr] 5 | && (&*$nlh).nlmsg_len >= nlmsghdr_size as __u32 [INFO] [stderr] | ^^^^^^^^ help: try this: `*$nlh.nlmsg_len` [INFO] [stderr] | [INFO] [stderr] ::: src/integrations/linux/netlink_iterator.rs:46:33 [INFO] [stderr] | [INFO] [stderr] 46 | self.nlmsg_ok = NLMSG_OK!(self.nlh, self.numbytes); [INFO] [stderr] | ---------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ref_in_deref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ref_in_deref [INFO] [stderr] [INFO] [stderr] warning: Creating a reference that is immediately dereferenced. [INFO] [stderr] --> src/integrations/linux/ffi/macros.rs:6:16 [INFO] [stderr] | [INFO] [stderr] 6 | && (&*$nlh).nlmsg_len <= $len as __u32 [INFO] [stderr] | ^^^^^^^^ help: try this: `*$nlh.nlmsg_len` [INFO] [stderr] | [INFO] [stderr] ::: src/integrations/linux/netlink_iterator.rs:46:33 [INFO] [stderr] | [INFO] [stderr] 46 | self.nlmsg_ok = NLMSG_OK!(self.nlh, self.numbytes); [INFO] [stderr] | ---------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ref_in_deref [INFO] [stderr] [INFO] [stderr] warning: Creating a reference that is immediately dereferenced. [INFO] [stderr] --> src/integrations/linux/netlink_iterator.rs:48:24 [INFO] [stderr] | [INFO] [stderr] 48 | if (&*self.nlh).nlmsg_type == NLMSG_DONE as u16 { [INFO] [stderr] | ^^^^^^^^^^^^ help: try this: `*self.nlh.nlmsg_type` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ref_in_deref [INFO] [stderr] [INFO] [stderr] warning: Creating a reference that is immediately dereferenced. [INFO] [stderr] --> src/integrations/linux/netlink_iterator.rs:51:24 [INFO] [stderr] | [INFO] [stderr] 51 | if (&*self.nlh).nlmsg_type == NLMSG_ERROR as u16 { [INFO] [stderr] | ^^^^^^^^^^^^ help: try this: `*self.nlh.nlmsg_type` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ref_in_deref [INFO] [stderr] [INFO] [stderr] warning: Creating a reference that is immediately dereferenced. [INFO] [stderr] --> src/integrations/linux/netlink_iterator.rs:60:25 [INFO] [stderr] | [INFO] [stderr] 60 | (&*self.nlh).nlmsg_len as usize - NLMSG_LENGTH!(size_of::()); [INFO] [stderr] | ^^^^^^^^^^^^ help: try this: `*self.nlh.nlmsg_len` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ref_in_deref [INFO] [stderr] [INFO] [stderr] warning: Creating a reference that is immediately dereferenced. [INFO] [stderr] --> src/integrations/linux/ffi/macros.rs:30:23 [INFO] [stderr] | [INFO] [stderr] 30 | let nlh_len = (&*$nlh).nlmsg_len; [INFO] [stderr] | ^^^^^^^^ help: try this: `*$nlh.nlmsg_len` [INFO] [stderr] | [INFO] [stderr] ::: src/integrations/linux/netlink_iterator.rs:62:32 [INFO] [stderr] | [INFO] [stderr] 62 | self.nlh = NLMSG_NEXT!(self.nlh, self.numbytes); [INFO] [stderr] | ------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ref_in_deref [INFO] [stderr] [INFO] [stderr] warning: Creating a reference that is immediately dereferenced. [INFO] [stderr] --> src/integrations/linux/ffi/macros.rs:46:16 [INFO] [stderr] | [INFO] [stderr] 46 | && (&*$rta).rta_len >= rtattr_size as u16 [INFO] [stderr] | ^^^^^^^^ help: try this: `*$rta.rta_len` [INFO] [stderr] | [INFO] [stderr] ::: src/integrations/linux/netlink_iterator.rs:170:11 [INFO] [stderr] | [INFO] [stderr] 170 | while RTA_OK!(attr, len) { [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ref_in_deref [INFO] [stderr] [INFO] [stderr] warning: Creating a reference that is immediately dereferenced. [INFO] [stderr] --> src/integrations/linux/ffi/macros.rs:47:16 [INFO] [stderr] | [INFO] [stderr] 47 | && (&*$rta).rta_len <= $len as u16 [INFO] [stderr] | ^^^^^^^^ help: try this: `*$rta.rta_len` [INFO] [stderr] | [INFO] [stderr] ::: src/integrations/linux/netlink_iterator.rs:170:11 [INFO] [stderr] | [INFO] [stderr] 170 | while RTA_OK!(attr, len) { [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ref_in_deref [INFO] [stderr] [INFO] [stderr] warning: Creating a reference that is immediately dereferenced. [INFO] [stderr] --> src/integrations/linux/netlink_iterator.rs:171:12 [INFO] [stderr] | [INFO] [stderr] 171 | if (&*attr).rta_type == INET_DIAG_INFO as u16 { [INFO] [stderr] | ^^^^^^^^ help: try this: `*attr.rta_type` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ref_in_deref [INFO] [stderr] [INFO] [stderr] warning: Creating a reference that is immediately dereferenced. [INFO] [stderr] --> src/integrations/linux/ffi/macros.rs:53:23 [INFO] [stderr] | [INFO] [stderr] 53 | let rta_len = (&*$rta).rta_len as isize; [INFO] [stderr] | ^^^^^^^^ help: try this: `*$rta.rta_len` [INFO] [stderr] | [INFO] [stderr] ::: src/integrations/linux/netlink_iterator.rs:175:16 [INFO] [stderr] | [INFO] [stderr] 175 | attr = RTA_NEXT!(attr, len); [INFO] [stderr] | -------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ref_in_deref [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/types/address_family.rs:4:22 [INFO] [stderr] | [INFO] [stderr] 4 | const IPV4 = 0b00000001; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_0001` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/types/address_family.rs:5:22 [INFO] [stderr] | [INFO] [stderr] 5 | const IPV6 = 0b00000010; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_0010` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/types/protocol.rs:4:21 [INFO] [stderr] | [INFO] [stderr] 4 | const TCP = 0b00000001; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_0001` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/types/protocol.rs:5:21 [INFO] [stderr] | [INFO] [stderr] 5 | const UDP = 0b00000010; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_0010` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/integrations/linux/api.rs:43:30 [INFO] [stderr] | [INFO] [stderr] 43 | associated_pids: pids_by_inode [INFO] [stderr] | ______________________________^ [INFO] [stderr] 44 | | .remove(&socket_info.inode) [INFO] [stderr] 45 | | .unwrap_or_default() [INFO] [stderr] 46 | | .iter() [INFO] [stderr] 47 | | .map(|x| *x) [INFO] [stderr] | |____________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] help: Consider calling the dedicated `cloned` method [INFO] [stderr] | [INFO] [stderr] 43 | associated_pids: pids_by_inode [INFO] [stderr] 44 | .remove(&socket_info.inode) [INFO] [stderr] 45 | .unwrap_or_default() [INFO] [stderr] 46 | .iter().cloned() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*const libc::nlmsghdr`) [INFO] [stderr] --> src/integrations/linux/netlink_iterator.rs:44:32 [INFO] [stderr] | [INFO] [stderr] 44 | self.nlh = buf_ptr as *const u8 as *const nlmsghdr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::cast_ptr_alignment)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*const integrations::linux::ffi::structs::inet_diag_msg`) [INFO] [stderr] --> src/integrations/linux/netlink_iterator.rs:58:36 [INFO] [stderr] | [INFO] [stderr] 58 | let diag_msg = NLMSG_DATA!(self.nlh) as *const inet_diag_msg; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/integrations/linux/ffi/macros.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | ($nlh as *const u8).offset(NLMSG_LENGTH!(0) as isize) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `($nlh as *const u8).add($len + NLMSG_ALIGN!(std::mem::size_of::()))` [INFO] [stderr] | [INFO] [stderr] ::: src/integrations/linux/netlink_iterator.rs:58:36 [INFO] [stderr] | [INFO] [stderr] 58 | let diag_msg = NLMSG_DATA!(self.nlh) as *const inet_diag_msg; [INFO] [stderr] | --------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_offset_with_cast)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*const libc::nlmsghdr`) [INFO] [stderr] --> src/integrations/linux/ffi/macros.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | ($nlh as *const u8).offset(NLMSG_ALIGN!(nlh_len) as isize) as *const nlmsghdr [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/integrations/linux/netlink_iterator.rs:62:32 [INFO] [stderr] | [INFO] [stderr] 62 | self.nlh = NLMSG_NEXT!(self.nlh, self.numbytes); [INFO] [stderr] | ------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/integrations/linux/netlink_iterator.rs:73:13 [INFO] [stderr] | [INFO] [stderr] 73 | try_close(self.socket); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/integrations/linux/netlink_iterator.rs:131:11 [INFO] [stderr] | [INFO] [stderr] 131 | match protocol as i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i32::from(protocol)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/integrations/linux/netlink_iterator.rs:156:11 [INFO] [stderr] | [INFO] [stderr] 156 | match family as i32 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i32::from(family)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*const integrations::linux::ffi::structs::tcp_info`) [INFO] [stderr] --> src/integrations/linux/netlink_iterator.rs:172:26 [INFO] [stderr] | [INFO] [stderr] 172 | let tcpi = &*(RTA_DATA!(attr) as *const tcp_info); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/integrations/linux/ffi/macros.rs:67:9 [INFO] [stderr] | [INFO] [stderr] 67 | ($rta as *const u8).offset(RTA_LENGTH!(0) as isize) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `($rta as *const u8).add($len + RTA_ALIGN!(std::mem::size_of::()))` [INFO] [stderr] | [INFO] [stderr] ::: src/integrations/linux/netlink_iterator.rs:172:27 [INFO] [stderr] | [INFO] [stderr] 172 | let tcpi = &*(RTA_DATA!(attr) as *const tcp_info); [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*const integrations::linux::ffi::structs::rtattr`) [INFO] [stderr] --> src/integrations/linux/ffi/macros.rs:55:9 [INFO] [stderr] | [INFO] [stderr] 55 | ($rta as *const u8).offset(RTA_ALIGN!(rta_len)) as *const rtattr [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/integrations/linux/netlink_iterator.rs:175:16 [INFO] [stderr] | [INFO] [stderr] 175 | attr = RTA_NEXT!(attr, len); [INFO] [stderr] | -------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/integrations/linux/netlink_iterator.rs:84:9 [INFO] [stderr] | [INFO] [stderr] 84 | family: family, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `family` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/integrations/linux/netlink_iterator.rs:85:9 [INFO] [stderr] | [INFO] [stderr] 85 | protocol: protocol, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `protocol` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] error: aborting due to 5 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `netstat`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: Creating a reference that is immediately dereferenced. [INFO] [stderr] --> src/integrations/linux/ffi/macros.rs:5:16 [INFO] [stderr] | [INFO] [stderr] 5 | && (&*$nlh).nlmsg_len >= nlmsghdr_size as __u32 [INFO] [stderr] | ^^^^^^^^ help: try this: `*$nlh.nlmsg_len` [INFO] [stderr] | [INFO] [stderr] ::: src/integrations/linux/netlink_iterator.rs:46:33 [INFO] [stderr] | [INFO] [stderr] 46 | self.nlmsg_ok = NLMSG_OK!(self.nlh, self.numbytes); [INFO] [stderr] | ---------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ref_in_deref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ref_in_deref [INFO] [stderr] [INFO] [stderr] warning: Creating a reference that is immediately dereferenced. [INFO] [stderr] --> src/integrations/linux/ffi/macros.rs:6:16 [INFO] [stderr] | [INFO] [stderr] 6 | && (&*$nlh).nlmsg_len <= $len as __u32 [INFO] [stderr] | ^^^^^^^^ help: try this: `*$nlh.nlmsg_len` [INFO] [stderr] | [INFO] [stderr] ::: src/integrations/linux/netlink_iterator.rs:46:33 [INFO] [stderr] | [INFO] [stderr] 46 | self.nlmsg_ok = NLMSG_OK!(self.nlh, self.numbytes); [INFO] [stderr] | ---------------------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ref_in_deref [INFO] [stderr] [INFO] [stderr] warning: Creating a reference that is immediately dereferenced. [INFO] [stderr] --> src/integrations/linux/netlink_iterator.rs:48:24 [INFO] [stderr] | [INFO] [stderr] 48 | if (&*self.nlh).nlmsg_type == NLMSG_DONE as u16 { [INFO] [stderr] | ^^^^^^^^^^^^ help: try this: `*self.nlh.nlmsg_type` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ref_in_deref [INFO] [stderr] [INFO] [stderr] warning: Creating a reference that is immediately dereferenced. [INFO] [stderr] --> src/integrations/linux/netlink_iterator.rs:51:24 [INFO] [stderr] | [INFO] [stderr] 51 | if (&*self.nlh).nlmsg_type == NLMSG_ERROR as u16 { [INFO] [stderr] | ^^^^^^^^^^^^ help: try this: `*self.nlh.nlmsg_type` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ref_in_deref [INFO] [stderr] [INFO] [stderr] warning: Creating a reference that is immediately dereferenced. [INFO] [stderr] --> src/integrations/linux/netlink_iterator.rs:60:25 [INFO] [stderr] | [INFO] [stderr] 60 | (&*self.nlh).nlmsg_len as usize - NLMSG_LENGTH!(size_of::()); [INFO] [stderr] | ^^^^^^^^^^^^ help: try this: `*self.nlh.nlmsg_len` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ref_in_deref [INFO] [stderr] [INFO] [stderr] warning: Creating a reference that is immediately dereferenced. [INFO] [stderr] --> src/integrations/linux/ffi/macros.rs:30:23 [INFO] [stderr] | [INFO] [stderr] 30 | let nlh_len = (&*$nlh).nlmsg_len; [INFO] [stderr] | ^^^^^^^^ help: try this: `*$nlh.nlmsg_len` [INFO] [stderr] | [INFO] [stderr] ::: src/integrations/linux/netlink_iterator.rs:62:32 [INFO] [stderr] | [INFO] [stderr] 62 | self.nlh = NLMSG_NEXT!(self.nlh, self.numbytes); [INFO] [stderr] | ------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ref_in_deref [INFO] [stderr] [INFO] [stderr] warning: Creating a reference that is immediately dereferenced. [INFO] [stderr] --> src/integrations/linux/ffi/macros.rs:46:16 [INFO] [stderr] | [INFO] [stderr] 46 | && (&*$rta).rta_len >= rtattr_size as u16 [INFO] [stderr] | ^^^^^^^^ help: try this: `*$rta.rta_len` [INFO] [stderr] | [INFO] [stderr] ::: src/integrations/linux/netlink_iterator.rs:170:11 [INFO] [stderr] | [INFO] [stderr] 170 | while RTA_OK!(attr, len) { [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ref_in_deref [INFO] [stderr] [INFO] [stderr] warning: Creating a reference that is immediately dereferenced. [INFO] [stderr] --> src/integrations/linux/ffi/macros.rs:47:16 [INFO] [stderr] | [INFO] [stderr] 47 | && (&*$rta).rta_len <= $len as u16 [INFO] [stderr] | ^^^^^^^^ help: try this: `*$rta.rta_len` [INFO] [stderr] | [INFO] [stderr] ::: src/integrations/linux/netlink_iterator.rs:170:11 [INFO] [stderr] | [INFO] [stderr] 170 | while RTA_OK!(attr, len) { [INFO] [stderr] | ------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ref_in_deref [INFO] [stderr] [INFO] [stderr] warning: Creating a reference that is immediately dereferenced. [INFO] [stderr] --> src/integrations/linux/netlink_iterator.rs:171:12 [INFO] [stderr] | [INFO] [stderr] 171 | if (&*attr).rta_type == INET_DIAG_INFO as u16 { [INFO] [stderr] | ^^^^^^^^ help: try this: `*attr.rta_type` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ref_in_deref [INFO] [stderr] [INFO] [stderr] warning: Creating a reference that is immediately dereferenced. [INFO] [stderr] --> src/integrations/linux/ffi/macros.rs:53:23 [INFO] [stderr] | [INFO] [stderr] 53 | let rta_len = (&*$rta).rta_len as isize; [INFO] [stderr] | ^^^^^^^^ help: try this: `*$rta.rta_len` [INFO] [stderr] | [INFO] [stderr] ::: src/integrations/linux/netlink_iterator.rs:175:16 [INFO] [stderr] | [INFO] [stderr] 175 | attr = RTA_NEXT!(attr, len); [INFO] [stderr] | -------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ref_in_deref [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/types/address_family.rs:4:22 [INFO] [stderr] | [INFO] [stderr] 4 | const IPV4 = 0b00000001; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_0001` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/types/address_family.rs:5:22 [INFO] [stderr] | [INFO] [stderr] 5 | const IPV6 = 0b00000010; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_0010` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/types/protocol.rs:4:21 [INFO] [stderr] | [INFO] [stderr] 4 | const TCP = 0b00000001; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_0001` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/types/protocol.rs:5:21 [INFO] [stderr] | [INFO] [stderr] 5 | const UDP = 0b00000010; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0000_0010` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/integrations/linux/api.rs:43:30 [INFO] [stderr] | [INFO] [stderr] 43 | associated_pids: pids_by_inode [INFO] [stderr] | ______________________________^ [INFO] [stderr] 44 | | .remove(&socket_info.inode) [INFO] [stderr] 45 | | .unwrap_or_default() [INFO] [stderr] 46 | | .iter() [INFO] [stderr] 47 | | .map(|x| *x) [INFO] [stderr] | |____________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] help: Consider calling the dedicated `cloned` method [INFO] [stderr] | [INFO] [stderr] 43 | associated_pids: pids_by_inode [INFO] [stderr] 44 | .remove(&socket_info.inode) [INFO] [stderr] 45 | .unwrap_or_default() [INFO] [stderr] 46 | .iter().cloned() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*const libc::nlmsghdr`) [INFO] [stderr] --> src/integrations/linux/netlink_iterator.rs:44:32 [INFO] [stderr] | [INFO] [stderr] 44 | self.nlh = buf_ptr as *const u8 as *const nlmsghdr; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::cast_ptr_alignment)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*const integrations::linux::ffi::structs::inet_diag_msg`) [INFO] [stderr] --> src/integrations/linux/netlink_iterator.rs:58:36 [INFO] [stderr] | [INFO] [stderr] 58 | let diag_msg = NLMSG_DATA!(self.nlh) as *const inet_diag_msg; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/integrations/linux/ffi/macros.rs:24:9 [INFO] [stderr] | [INFO] [stderr] 24 | ($nlh as *const u8).offset(NLMSG_LENGTH!(0) as isize) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `($nlh as *const u8).add($len + NLMSG_ALIGN!(std::mem::size_of::()))` [INFO] [stderr] | [INFO] [stderr] ::: src/integrations/linux/netlink_iterator.rs:58:36 [INFO] [stderr] | [INFO] [stderr] 58 | let diag_msg = NLMSG_DATA!(self.nlh) as *const inet_diag_msg; [INFO] [stderr] | --------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_offset_with_cast)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*const libc::nlmsghdr`) [INFO] [stderr] --> src/integrations/linux/ffi/macros.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | ($nlh as *const u8).offset(NLMSG_ALIGN!(nlh_len) as isize) as *const nlmsghdr [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/integrations/linux/netlink_iterator.rs:62:32 [INFO] [stderr] | [INFO] [stderr] 62 | self.nlh = NLMSG_NEXT!(self.nlh, self.numbytes); [INFO] [stderr] | ------------------------------------ in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/integrations/linux/netlink_iterator.rs:73:13 [INFO] [stderr] | [INFO] [stderr] 73 | try_close(self.socket); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/integrations/linux/netlink_iterator.rs:131:11 [INFO] [stderr] | [INFO] [stderr] 131 | match protocol as i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `i32::from(protocol)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i32 may become silently lossy if types change [INFO] [stderr] --> src/integrations/linux/netlink_iterator.rs:156:11 [INFO] [stderr] | [INFO] [stderr] 156 | match family as i32 { [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `i32::from(family)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*const integrations::linux::ffi::structs::tcp_info`) [INFO] [stderr] --> src/integrations/linux/netlink_iterator.rs:172:26 [INFO] [stderr] | [INFO] [stderr] 172 | let tcpi = &*(RTA_DATA!(attr) as *const tcp_info); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: use of `offset` with a `usize` casted to an `isize` [INFO] [stderr] --> src/integrations/linux/ffi/macros.rs:67:9 [INFO] [stderr] | [INFO] [stderr] 67 | ($rta as *const u8).offset(RTA_LENGTH!(0) as isize) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `($rta as *const u8).add($len + RTA_ALIGN!(std::mem::size_of::()))` [INFO] [stderr] | [INFO] [stderr] ::: src/integrations/linux/netlink_iterator.rs:172:27 [INFO] [stderr] | [INFO] [stderr] 172 | let tcpi = &*(RTA_DATA!(attr) as *const tcp_info); [INFO] [stderr] | --------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_offset_with_cast [INFO] [stderr] [INFO] [stderr] error: casting from `*const u8` to a more-strictly-aligned pointer (`*const integrations::linux::ffi::structs::rtattr`) [INFO] [stderr] --> src/integrations/linux/ffi/macros.rs:55:9 [INFO] [stderr] | [INFO] [stderr] 55 | ($rta as *const u8).offset(RTA_ALIGN!(rta_len)) as *const rtattr [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] ::: src/integrations/linux/netlink_iterator.rs:175:16 [INFO] [stderr] | [INFO] [stderr] 175 | attr = RTA_NEXT!(attr, len); [INFO] [stderr] | -------------------- in this macro invocation [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_ptr_alignment [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/lib.rs:25:25 [INFO] [stderr] | [INFO] [stderr] 25 | .filter_map(|x| AddressFamilyFlags::from_bits(x)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `AddressFamilyFlags::from_bits` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_closure)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/lib.rs:24:30 [INFO] [stderr] | [INFO] [stderr] 24 | let af_flags_combs = (0..AddressFamilyFlags::all().bits() + 1) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(0..=AddressFamilyFlags::all().bits())` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::range_plus_one)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/lib.rs:28:25 [INFO] [stderr] | [INFO] [stderr] 28 | .filter_map(|x| ProtocolFlags::from_bits(x)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `ProtocolFlags::from_bits` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_closure [INFO] [stderr] [INFO] [stderr] warning: an inclusive range would be more readable [INFO] [stderr] --> src/lib.rs:27:33 [INFO] [stderr] | [INFO] [stderr] 27 | let proto_flags_combs = (0..ProtocolFlags::all().bits() + 1) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use: `(0..=ProtocolFlags::all().bits())` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#range_plus_one [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/lib.rs:41:17 [INFO] [stderr] | [INFO] [stderr] 41 | assert!(sockets_info.len() == 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `sockets_info.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] error: aborting due to 5 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `netstat`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "e19896714a9a2a1a581c1820426a3f8da63b2d7d2f978ab098782eeca527354e"` [INFO] running `"docker" "rm" "-f" "e19896714a9a2a1a581c1820426a3f8da63b2d7d2f978ab098782eeca527354e"` [INFO] [stdout] e19896714a9a2a1a581c1820426a3f8da63b2d7d2f978ab098782eeca527354e