[INFO] crate siquery 1.2.0 is already in cache
[INFO] checking siquery-1.2.0 against master#bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc for pr-70917
[INFO] extracting crate siquery 1.2.0 into /workspace/builds/worker-8/source
[INFO] validating manifest of crates.io crate siquery 1.2.0 on toolchain bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking crates.io crate siquery 1.2.0
[INFO] finished tweaking crates.io crate siquery 1.2.0
[INFO] tweaked toml for crates.io crate siquery 1.2.0 written to /workspace/builds/worker-8/source/Cargo.toml
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"`
[INFO] running `"/workspace/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+bf1f2eedda4fa02b7c9347dd849ed73ddd43dedc" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] cb8becbb0513c0b409e7b03382ee3a2c025f58c8ee5c9e4ddee9dd59c0fb0494
[INFO] running `"docker" "start" "-a" "cb8becbb0513c0b409e7b03382ee3a2c025f58c8ee5c9e4ddee9dd59c0fb0494"`
[INFO] [stderr]    Compiling siquery v1.2.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking horrorshow v0.6.6
[INFO] [stderr]    Compiling libsqlite3-sys v0.9.3
[INFO] [stderr]     Checking uname v0.1.1
[INFO] [stderr]     Checking proxy_cfg v0.1.0
[INFO] [stderr]     Checking nix v0.11.1
[INFO] [stderr]     Checking sysconf v0.3.4
[INFO] [stderr]     Checking failure v0.1.7
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]  --> build.rs:3:33
[INFO] [stderr]   |
[INFO] [stderr] 3 | const WINDOWS_TABLES: &'static [(&'static str)] = &[
[INFO] [stderr]   |                                 ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> build.rs:44:31
[INFO] [stderr]    |
[INFO] [stderr] 44 | const LINUX_TABLES: &'static [(&'static str)] = &[
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> build.rs:64:31
[INFO] [stderr]    |
[INFO] [stderr] 64 | const MACOS_TABLES: &'static [(&'static str)] = &[
[INFO] [stderr]    |                               ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> build.rs:82:38
[INFO] [stderr]    |
[INFO] [stderr] 82 | fn emit_features(features: &'static [(&'static str)]) {
[INFO] [stderr]    |                                      ^^^^^^^^^^^^^^ help: remove these parentheses
[INFO] [stderr] 
[INFO] [stderr]     Checking treexml v0.7.0
[INFO] [stderr]     Checking rusqlite v0.14.0
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/vtab.rs:31:19
[INFO] [stderr]    |
[INFO] [stderr] 31 |         let arg = try!(str::from_utf8(c_slice)).trim();
[INFO] [stderr]    |                   ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/vtab.rs:65:34
[INFO] [stderr]    |
[INFO] [stderr] 65 |             let (param, value) = try!(SiqueryTab::parameter(c_slice));
[INFO] [stderr]    |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/common/hosts.rs:30:37
[INFO] [stderr]    |
[INFO] [stderr] 30 |     pub fn get_specific_ex(reader: &EtcHostsIface) -> Vec<EtcHosts> {
[INFO] [stderr]    |                                     ^^^^^^^^^^^^^ help: use `dyn`: `dyn EtcHostsIface`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/common/hosts.rs:65:25
[INFO] [stderr]    |
[INFO] [stderr] 65 |         let reader: Box<EtcHostsIface> = Box::new(EtcHostsReader{});
[INFO] [stderr]    |                         ^^^^^^^^^^^^^ help: use `dyn`: `dyn EtcHostsIface`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/common/services.rs:35:37
[INFO] [stderr]    |
[INFO] [stderr] 35 |     pub fn get_specific_ex(reader: &EtcServicesIface) -> Vec<EtcServices> {
[INFO] [stderr]    |                                     ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EtcServicesIface`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/common/services.rs:109:25
[INFO] [stderr]     |
[INFO] [stderr] 109 |         let reader: Box<EtcServicesIface> = Box::new(EtcServicesReader{});
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EtcServicesIface`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/common/protocols.rs:34:37
[INFO] [stderr]    |
[INFO] [stderr] 34 |     pub fn get_specific_ex(reader: &EtcProtocolsIface) -> Vec<EtcProtocols> {
[INFO] [stderr]    |                                     ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EtcProtocolsIface`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/common/protocols.rs:86:25
[INFO] [stderr]    |
[INFO] [stderr] 86 |         let reader: Box<EtcProtocolsIface> = Box::new(EtcProtocolsReader{});
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EtcProtocolsIface`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]   --> src/printer.rs:39:69
[INFO] [stderr]    |
[INFO] [stderr] 39 |                 wtr.write_record(row).expect("could not write row");;
[INFO] [stderr]    |                                                                     ^ help: remove this semicolon
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/linux/os_version.rs:38:44
[INFO] [stderr]    |
[INFO] [stderr] 38 |     pub(crate) fn get_specific_ex(reader: &OsVersionIface) -> Vec<OsVersion> {
[INFO] [stderr]    |                                            ^^^^^^^^^^^^^^ help: use `dyn`: `dyn OsVersionIface`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/linux/os_version.rs:87:25
[INFO] [stderr]    |
[INFO] [stderr] 87 |         let reader: Box<OsVersionIface> = Box::new(Reader::new());
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^ help: use `dyn`: `dyn OsVersionIface`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/linux/system_info.rs:58:37
[INFO] [stderr]    |
[INFO] [stderr] 58 |     pub fn get_specific_ex(reader: &SystemInfoDataIface) -> Vec<SystemInfoData> {
[INFO] [stderr]    |                                     ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn SystemInfoDataIface`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/linux/system_info.rs:83:41
[INFO] [stderr]    |
[INFO] [stderr] 83 |     fn get_cpu_info(&mut self, reader: &SystemInfoDataIface) -> Option<CpuInfo> {
[INFO] [stderr]    |                                         ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn SystemInfoDataIface`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/linux/system_info.rs:94:25
[INFO] [stderr]    |
[INFO] [stderr] 94 |         let reader: Box<SystemInfoDataIface> = Box::new(Reader{});
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn SystemInfoDataIface`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde_json`
[INFO] [stderr]  --> src/linux/proxies.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use serde_json;
[INFO] [stderr]   |     ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/vtab.rs:31:19
[INFO] [stderr]    |
[INFO] [stderr] 31 |         let arg = try!(str::from_utf8(c_slice)).trim();
[INFO] [stderr]    |                   ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'try': use the `?` operator instead
[INFO] [stderr]   --> src/vtab.rs:65:34
[INFO] [stderr]    |
[INFO] [stderr] 65 |             let (param, value) = try!(SiqueryTab::parameter(c_slice));
[INFO] [stderr]    |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/common/hosts.rs:30:37
[INFO] [stderr]    |
[INFO] [stderr] 30 |     pub fn get_specific_ex(reader: &EtcHostsIface) -> Vec<EtcHosts> {
[INFO] [stderr]    |                                     ^^^^^^^^^^^^^ help: use `dyn`: `dyn EtcHostsIface`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/common/hosts.rs:65:25
[INFO] [stderr]    |
[INFO] [stderr] 65 |         let reader: Box<EtcHostsIface> = Box::new(EtcHostsReader{});
[INFO] [stderr]    |                         ^^^^^^^^^^^^^ help: use `dyn`: `dyn EtcHostsIface`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/common/hosts.rs:82:25
[INFO] [stderr]    |
[INFO] [stderr] 82 |         let reader: Box<EtcHostsIface> = Box::new(EtcHostsTest {});
[INFO] [stderr]    |                         ^^^^^^^^^^^^^ help: use `dyn`: `dyn EtcHostsIface`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/common/services.rs:35:37
[INFO] [stderr]    |
[INFO] [stderr] 35 |     pub fn get_specific_ex(reader: &EtcServicesIface) -> Vec<EtcServices> {
[INFO] [stderr]    |                                     ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EtcServicesIface`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/common/services.rs:109:25
[INFO] [stderr]     |
[INFO] [stderr] 109 |         let reader: Box<EtcServicesIface> = Box::new(EtcServicesReader{});
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EtcServicesIface`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/common/services.rs:126:25
[INFO] [stderr]     |
[INFO] [stderr] 126 |         let reader: Box<EtcServicesIface> = Box::new(EtcServicesTest {});
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EtcServicesIface`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/common/protocols.rs:34:37
[INFO] [stderr]    |
[INFO] [stderr] 34 |     pub fn get_specific_ex(reader: &EtcProtocolsIface) -> Vec<EtcProtocols> {
[INFO] [stderr]    |                                     ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EtcProtocolsIface`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/common/protocols.rs:86:25
[INFO] [stderr]    |
[INFO] [stderr] 86 |         let reader: Box<EtcProtocolsIface> = Box::new(EtcProtocolsReader{});
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EtcProtocolsIface`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/common/protocols.rs:103:25
[INFO] [stderr]     |
[INFO] [stderr] 103 |         let reader: Box<EtcProtocolsIface> = Box::new(EtcProtocolsTest {});
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn EtcProtocolsIface`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]   --> src/printer.rs:39:69
[INFO] [stderr]    |
[INFO] [stderr] 39 |                 wtr.write_record(row).expect("could not write row");;
[INFO] [stderr]    |                                                                     ^ help: remove this semicolon
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/linux/interface_details.rs:63:48
[INFO] [stderr]    |
[INFO] [stderr] 63 |         let mut addrs: *mut ifaddrs = unsafe { mem::uninitialized() };
[INFO] [stderr]    |                                                ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/linux/os_version.rs:38:44
[INFO] [stderr]    |
[INFO] [stderr] 38 |     pub(crate) fn get_specific_ex(reader: &OsVersionIface) -> Vec<OsVersion> {
[INFO] [stderr]    |                                            ^^^^^^^^^^^^^^ help: use `dyn`: `dyn OsVersionIface`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/linux/os_version.rs:87:25
[INFO] [stderr]    |
[INFO] [stderr] 87 |         let reader: Box<OsVersionIface> = Box::new(Reader::new());
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^ help: use `dyn`: `dyn OsVersionIface`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/linux/os_version.rs:110:25
[INFO] [stderr]     |
[INFO] [stderr] 110 |         let reader: Box<OsVersionIface> = Box::new(Test{});
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^ help: use `dyn`: `dyn OsVersionIface`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/linux/system_info.rs:58:37
[INFO] [stderr]    |
[INFO] [stderr] 58 |     pub fn get_specific_ex(reader: &SystemInfoDataIface) -> Vec<SystemInfoData> {
[INFO] [stderr]    |                                     ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn SystemInfoDataIface`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/linux/system_info.rs:83:41
[INFO] [stderr]    |
[INFO] [stderr] 83 |     fn get_cpu_info(&mut self, reader: &SystemInfoDataIface) -> Option<CpuInfo> {
[INFO] [stderr]    |                                         ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn SystemInfoDataIface`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/linux/system_info.rs:94:25
[INFO] [stderr]    |
[INFO] [stderr] 94 |         let reader: Box<SystemInfoDataIface> = Box::new(Reader{});
[INFO] [stderr]    |                         ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn SystemInfoDataIface`
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/linux/system_info.rs:126:25
[INFO] [stderr]     |
[INFO] [stderr] 126 |         let reader: Box<SystemInfoDataIface> = Box::new(Test{});
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn SystemInfoDataIface`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde_json`
[INFO] [stderr]  --> src/linux/proxies.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use serde_json;
[INFO] [stderr]   |     ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'std::mem::uninitialized': use `mem::MaybeUninit` instead
[INFO] [stderr]   --> src/linux/interface_details.rs:63:48
[INFO] [stderr]    |
[INFO] [stderr] 63 |         let mut addrs: *mut ifaddrs = unsafe { mem::uninitialized() };
[INFO] [stderr]    |                                                ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'core::str::<impl str>::trim_left_matches': superseded by `trim_start_matches`
[INFO] [stderr]   --> src/linux/system_info.rs:67:42
[INFO] [stderr]    |
[INFO] [stderr] 67 |                          .and_then(|v| v.trim_left_matches(' ').split(' ').next())
[INFO] [stderr]    |                                          ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_start_matches`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'core::str::<impl str>::trim_right_matches': superseded by `trim_end_matches`
[INFO] [stderr]   --> src/linux/proxies.rs:13:45
[INFO] [stderr]    |
[INFO] [stderr] 13 |                         url:url.to_string().trim_right_matches('/').to_string(),
[INFO] [stderr]    |                                             ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end_matches`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'core::str::<impl str>::trim_left_matches': superseded by `trim_start_matches`
[INFO] [stderr]   --> src/linux/system_info.rs:67:42
[INFO] [stderr]    |
[INFO] [stderr] 67 |                          .and_then(|v| v.trim_left_matches(' ').split(' ').next())
[INFO] [stderr]    |                                          ^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_start_matches`
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated item 'core::str::<impl str>::trim_right_matches': superseded by `trim_end_matches`
[INFO] [stderr]   --> src/linux/proxies.rs:13:45
[INFO] [stderr]    |
[INFO] [stderr] 13 |                         url:url.to_string().trim_right_matches('/').to_string(),
[INFO] [stderr]    |                                             ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end_matches`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/linux/process_open_sockets.rs:95:37
[INFO] [stderr]    |
[INFO] [stderr] 95 | ...                   let mut local_address: String;
[INFO] [stderr]    |                           ----^^^^^^^^^^^^^
[INFO] [stderr]    |                           |
[INFO] [stderr]    |                           help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/linux/process_open_sockets.rs:137:37
[INFO] [stderr]     |
[INFO] [stderr] 137 | ...                   let mut remote_address: String;
[INFO] [stderr]     |                           ----^^^^^^^^^^^^^^
[INFO] [stderr]     |                           |
[INFO] [stderr]     |                           help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/linux/process_open_sockets.rs:268:17
[INFO] [stderr]     |
[INFO] [stderr] 268 |             let mut net_ns : String;
[INFO] [stderr]     |                 ----^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/linux/process_open_sockets.rs:298:25
[INFO] [stderr]     |
[INFO] [stderr] 298 |                     let mut state_string : String;
[INFO] [stderr]     |                         ----^^^^^^^^^^^^
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/linux/process_open_sockets.rs:333:21
[INFO] [stderr]     |
[INFO] [stderr] 333 |                 let mut state_string : String;
[INFO] [stderr]     |                     ----^^^^^^^^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]   --> src/linux/groups.rs:22:51
[INFO] [stderr]    |
[INFO] [stderr] 22 |             let groupname = unsafe{CStr::from_ptr(unsafe {*group_p}.gr_name).to_str().unwrap_or("")};
[INFO] [stderr]    |                             ------                ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr]    |                             |
[INFO] [stderr]    |                             because it's nested under this `unsafe` block
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_unsafe)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/linux/process_open_sockets.rs:95:37
[INFO] [stderr]    |
[INFO] [stderr] 95 | ...                   let mut local_address: String;
[INFO] [stderr]    |                           ----^^^^^^^^^^^^^
[INFO] [stderr]    |                           |
[INFO] [stderr]    |                           help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/linux/process_open_sockets.rs:137:37
[INFO] [stderr]     |
[INFO] [stderr] 137 | ...                   let mut remote_address: String;
[INFO] [stderr]     |                           ----^^^^^^^^^^^^^^
[INFO] [stderr]     |                           |
[INFO] [stderr]     |                           help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/linux/process_open_sockets.rs:268:17
[INFO] [stderr]     |
[INFO] [stderr] 268 |             let mut net_ns : String;
[INFO] [stderr]     |                 ----^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/linux/process_open_sockets.rs:298:25
[INFO] [stderr]     |
[INFO] [stderr] 298 |                     let mut state_string : String;
[INFO] [stderr]     |                         ----^^^^^^^^^^^^
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/linux/process_open_sockets.rs:333:21
[INFO] [stderr]     |
[INFO] [stderr] 333 |                 let mut state_string : String;
[INFO] [stderr]     |                     ----^^^^^^^^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]   --> src/linux/groups.rs:22:51
[INFO] [stderr]    |
[INFO] [stderr] 22 |             let groupname = unsafe{CStr::from_ptr(unsafe {*group_p}.gr_name).to_str().unwrap_or("")};
[INFO] [stderr]    |                             ------                ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr]    |                             |
[INFO] [stderr]    |                             because it's nested under this `unsafe` block
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_unsafe)]` on by default
[INFO] [stderr] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 25.99s
[INFO] running `"docker" "inspect" "cb8becbb0513c0b409e7b03382ee3a2c025f58c8ee5c9e4ddee9dd59c0fb0494"`
[INFO] running `"docker" "rm" "-f" "cb8becbb0513c0b409e7b03382ee3a2c025f58c8ee5c9e4ddee9dd59c0fb0494"`
[INFO] [stdout] cb8becbb0513c0b409e7b03382ee3a2c025f58c8ee5c9e4ddee9dd59c0fb0494
