[INFO] updating cached repository mvertescher/hostap-rs [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/mvertescher/hostap-rs [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/mvertescher/hostap-rs" "work/ex/clippy-test-run/sources/stable/gh/mvertescher/hostap-rs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/mvertescher/hostap-rs'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/mvertescher/hostap-rs" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/mvertescher/hostap-rs"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/mvertescher/hostap-rs'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 130746da86423bc8d9bc9ae104085e3e645cab4f [INFO] sha for GitHub repo mvertescher/hostap-rs: 130746da86423bc8d9bc9ae104085e3e645cab4f [INFO] validating manifest of mvertescher/hostap-rs 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 mvertescher/hostap-rs 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 mvertescher/hostap-rs [INFO] finished frobbing mvertescher/hostap-rs [INFO] frobbed toml for mvertescher/hostap-rs written to work/ex/clippy-test-run/sources/stable/gh/mvertescher/hostap-rs/Cargo.toml [INFO] started frobbing mvertescher/hostap-rs [INFO] finished frobbing mvertescher/hostap-rs [INFO] frobbed toml for mvertescher/hostap-rs written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/mvertescher/hostap-rs/Cargo.toml [INFO] crate mvertescher/hostap-rs has a lockfile. skipping [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 mvertescher/hostap-rs 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/gh/mvertescher/hostap-rs:/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] cc5b67cdc5ad31d980ed026e6f12a0d2e0d7060eb83501972b7a3251ce427a26 [INFO] running `"docker" "start" "-a" "cc5b67cdc5ad31d980ed026e6f12a0d2e0d7060eb83501972b7a3251ce427a26"` [INFO] [stderr] Checking rust-ini v0.12.1 [INFO] [stderr] Compiling libdbus-sys v0.1.3 [INFO] [stderr] Checking tokio-timer v0.1.2 [INFO] [stderr] Checking regex v1.0.1 [INFO] [stderr] Checking regex v0.2.11 [INFO] [stderr] Checking nix v0.7.0 [INFO] [stderr] Checking dbus v0.5.4 [INFO] [stderr] Checking env_logger v0.5.10 [INFO] [stderr] Checking iptables v0.2.2 [INFO] [stderr] Checking pretty_env_logger v0.2.3 [INFO] [stderr] Checking network-manager v0.11.0 [INFO] [stderr] Checking hostap v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `ExitStatus` [INFO] [stderr] --> src/iproute2.rs:3:29 [INFO] [stderr] | [INFO] [stderr] 3 | use std::process::{Command, ExitStatus}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `ExitStatus` [INFO] [stderr] --> src/iproute2.rs:3:29 [INFO] [stderr] | [INFO] [stderr] 3 | use std::process::{Command, ExitStatus}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `child` [INFO] [stderr] --> src/dhcpd.rs:123:9 [INFO] [stderr] | [INFO] [stderr] 123 | let child = Command::new("dhcpd") [INFO] [stderr] | ^^^^^ help: consider using `_child` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/dhcpd.rs:108:9 [INFO] [stderr] | [INFO] [stderr] 108 | let mut config_path = PathBuf::from("/etc/dhcp/wlan-dhcpd.conf"); [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: useless use of `format!` [INFO] [stderr] --> src/dhcpd.rs:59:26 [INFO] [stderr] | [INFO] [stderr] 59 | string.push_str(&format!(" option domain-name-servers\n ")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `" option domain-name-servers\n ".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/dhcpd.rs:64:26 [INFO] [stderr] | [INFO] [stderr] 64 | string.push_str(&format!(";\n")); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider using .to_string(): `";\n".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/dhcpd.rs:73:20 [INFO] [stderr] | [INFO] [stderr] 73 | pub fn to_file(self, path: &PathBuf) { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/dhcpd.rs:89:36 [INFO] [stderr] | [INFO] [stderr] 89 | let mut split = line.split(" "); [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/hostapd.rs:51:20 [INFO] [stderr] | [INFO] [stderr] 51 | pub fn to_file(self, path: &PathBuf) { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: unused variable: `child` [INFO] [stderr] --> src/dhcpd.rs:123:9 [INFO] [stderr] | [INFO] [stderr] 123 | let child = Command::new("dhcpd") [INFO] [stderr] | ^^^^^ help: consider using `_child` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/network_manager.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | / match ini.section(Some("keyfile".to_owned())) { [INFO] [stderr] 35 | | Some(section) => { [INFO] [stderr] 36 | | match section.get("unmanaged-devices") { [INFO] [stderr] 37 | | Some(value) => { [INFO] [stderr] ... | [INFO] [stderr] 45 | | None => (), [INFO] [stderr] 46 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 34 | if let Some(section) = ini.section(Some("keyfile".to_owned())) { [INFO] [stderr] 35 | match section.get("unmanaged-devices") { [INFO] [stderr] 36 | Some(value) => { [INFO] [stderr] 37 | if value == &expected_value { [INFO] [stderr] 38 | return; [INFO] [stderr] 39 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/network_manager.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | / match section.get("unmanaged-devices") { [INFO] [stderr] 37 | | Some(value) => { [INFO] [stderr] 38 | | if value == &expected_value { [INFO] [stderr] 39 | | return; [INFO] [stderr] ... | [INFO] [stderr] 42 | | None => (), [INFO] [stderr] 43 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 36 | if let Some(value) = section.get("unmanaged-devices") { [INFO] [stderr] 37 | if value == &expected_value { [INFO] [stderr] 38 | return; [INFO] [stderr] 39 | } [INFO] [stderr] 40 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/dhcpd.rs:108:9 [INFO] [stderr] | [INFO] [stderr] 108 | let mut config_path = PathBuf::from("/etc/dhcp/wlan-dhcpd.conf"); [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: useless use of `format!` [INFO] [stderr] --> src/dhcpd.rs:59:26 [INFO] [stderr] | [INFO] [stderr] 59 | string.push_str(&format!(" option domain-name-servers\n ")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `" option domain-name-servers\n ".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/dhcpd.rs:64:26 [INFO] [stderr] | [INFO] [stderr] 64 | string.push_str(&format!(";\n")); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: consider using .to_string(): `";\n".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/dhcpd.rs:73:20 [INFO] [stderr] | [INFO] [stderr] 73 | pub fn to_file(self, path: &PathBuf) { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::wrong_self_convention)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/dhcpd.rs:89:36 [INFO] [stderr] | [INFO] [stderr] 89 | let mut split = line.split(" "); [INFO] [stderr] | ^^^ help: try using a char instead: `' '` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: methods called `to_*` usually take self by reference; consider choosing a less ambiguous name [INFO] [stderr] --> src/hostapd.rs:51:20 [INFO] [stderr] | [INFO] [stderr] 51 | pub fn to_file(self, path: &PathBuf) { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#wrong_self_convention [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/network_manager.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | / match ini.section(Some("keyfile".to_owned())) { [INFO] [stderr] 35 | | Some(section) => { [INFO] [stderr] 36 | | match section.get("unmanaged-devices") { [INFO] [stderr] 37 | | Some(value) => { [INFO] [stderr] ... | [INFO] [stderr] 45 | | None => (), [INFO] [stderr] 46 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_match)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 34 | if let Some(section) = ini.section(Some("keyfile".to_owned())) { [INFO] [stderr] 35 | match section.get("unmanaged-devices") { [INFO] [stderr] 36 | Some(value) => { [INFO] [stderr] 37 | if value == &expected_value { [INFO] [stderr] 38 | return; [INFO] [stderr] 39 | } [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: you seem to be trying to use match for destructuring a single pattern. Consider using `if let` [INFO] [stderr] --> src/network_manager.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | / match section.get("unmanaged-devices") { [INFO] [stderr] 37 | | Some(value) => { [INFO] [stderr] 38 | | if value == &expected_value { [INFO] [stderr] 39 | | return; [INFO] [stderr] ... | [INFO] [stderr] 42 | | None => (), [INFO] [stderr] 43 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 36 | if let Some(value) = section.get("unmanaged-devices") { [INFO] [stderr] 37 | if value == &expected_value { [INFO] [stderr] 38 | return; [INFO] [stderr] 39 | } [INFO] [stderr] 40 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: function is never used: `sleep` [INFO] [stderr] --> src/main.rs:32:1 [INFO] [stderr] | [INFO] [stderr] 32 | fn sleep(secs: u64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `sleep` [INFO] [stderr] --> src/main.rs:32:1 [INFO] [stderr] | [INFO] [stderr] 32 | fn sleep(secs: u64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 15.46s [INFO] running `"docker" "inspect" "cc5b67cdc5ad31d980ed026e6f12a0d2e0d7060eb83501972b7a3251ce427a26"` [INFO] running `"docker" "rm" "-f" "cc5b67cdc5ad31d980ed026e6f12a0d2e0d7060eb83501972b7a3251ce427a26"` [INFO] [stdout] cc5b67cdc5ad31d980ed026e6f12a0d2e0d7060eb83501972b7a3251ce427a26