[INFO] crate softether_exporter 0.1.3 is already in cache [INFO] extracting crate softether_exporter 0.1.3 into work/ex/clippy-test-run/sources/stable/reg/softether_exporter/0.1.3 [INFO] extracting crate softether_exporter 0.1.3 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/softether_exporter/0.1.3 [INFO] validating manifest of softether_exporter-0.1.3 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 softether_exporter-0.1.3 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 softether_exporter-0.1.3 [INFO] finished frobbing softether_exporter-0.1.3 [INFO] frobbed toml for softether_exporter-0.1.3 written to work/ex/clippy-test-run/sources/stable/reg/softether_exporter/0.1.3/Cargo.toml [INFO] started frobbing softether_exporter-0.1.3 [INFO] finished frobbing softether_exporter-0.1.3 [INFO] frobbed toml for softether_exporter-0.1.3 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/softether_exporter/0.1.3/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 softether_exporter-0.1.3 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-6/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/softether_exporter/0.1.3:/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] 4b9b27a3aad20d21d63b22b00214cfc41d4d6fc5996aa4ab7c96562e1086d5ef [INFO] running `"docker" "start" "-a" "4b9b27a3aad20d21d63b22b00214cfc41d4d6fc5996aa4ab7c96562e1086d5ef"` [INFO] [stderr] Compiling memchr v2.1.3 [INFO] [stderr] Checking prometheus v0.3.13 [INFO] [stderr] Checking cookie v0.2.5 [INFO] [stderr] Checking hyper v0.9.18 [INFO] [stderr] Checking csv-core v0.1.5 [INFO] [stderr] Checking csv v1.0.5 [INFO] [stderr] Checking softether_exporter v0.1.3 (/opt/crater/workdir) [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/exporter.rs:171:37 [INFO] [stderr] | [INFO] [stderr] 171 | let vpncmd = config.vpncmd.unwrap_or( String::from( "vpncmd" ) ); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| String::from( "vpncmd" ))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/exporter.rs:172:37 [INFO] [stderr] | [INFO] [stderr] 172 | let server = config.server.unwrap_or( String::from( "localhost" ) ); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| String::from( "localhost" ))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/exporter.rs:182:49 [INFO] [stderr] | [INFO] [stderr] 182 | let name = hub.name.unwrap_or( String::from( "" ) ); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| String::from( "" ))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/exporter.rs:183:53 [INFO] [stderr] | [INFO] [stderr] 183 | let password = hub.password.unwrap_or( String::from( "" ) ); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| String::from( "" ))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/softether_reader.rs:50:56 [INFO] [stderr] | [INFO] [stderr] 50 | return Err( Box::new( SoftEtherError{ msg: String::from( format!( "vpncmd failed ( {} )", msg ) ) } ) ) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `format!( "vpncmd failed ( {} )", msg )` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/softether_reader.rs:60:19 [INFO] [stderr] | [INFO] [stderr] 60 | match key.as_ref() { [INFO] [stderr] | ^^^^^^^^^^^^ help: try this: `key` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_asref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/softether_reader.rs:62:88 [INFO] [stderr] | [INFO] [stderr] 62 | "状態" => status.online = if val == "オンライン" { true } else { false }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can reduce it to: `val == "オンライン"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/softether_reader.rs:63:88 [INFO] [stderr] | [INFO] [stderr] 63 | "SecureNAT 機能" => status.secure_nat = if val == "無効" { false } else { true }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can reduce it to: `!(val == "無効")` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/softether_reader.rs:82:90 [INFO] [stderr] | [INFO] [stderr] 82 | "Status" => status.online = if val == "Online" { true } else { false }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can reduce it to: `val == "Online"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/softether_reader.rs:83:90 [INFO] [stderr] | [INFO] [stderr] 83 | "SecureNAT" => status.secure_nat = if val == "Disabled" { false } else { true }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can reduce it to: `!(val == "Disabled")` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/softether_reader.rs:102:88 [INFO] [stderr] | [INFO] [stderr] 102 | "状态" => status.online = if val == "在线" { true } else { false }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can reduce it to: `val == "在线"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/softether_reader.rs:103:88 [INFO] [stderr] | [INFO] [stderr] 103 | "SecureNAT 机能" => status.secure_nat = if val == "无效" { false } else { true }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can reduce it to: `!(val == "无效")` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/exporter.rs:171:37 [INFO] [stderr] | [INFO] [stderr] 171 | let vpncmd = config.vpncmd.unwrap_or( String::from( "vpncmd" ) ); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| String::from( "vpncmd" ))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::or_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/exporter.rs:172:37 [INFO] [stderr] | [INFO] [stderr] 172 | let server = config.server.unwrap_or( String::from( "localhost" ) ); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| String::from( "localhost" ))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/exporter.rs:182:49 [INFO] [stderr] | [INFO] [stderr] 182 | let name = hub.name.unwrap_or( String::from( "" ) ); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| String::from( "" ))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/exporter.rs:183:53 [INFO] [stderr] | [INFO] [stderr] 183 | let password = hub.password.unwrap_or( String::from( "" ) ); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| String::from( "" ))` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#or_fun_call [INFO] [stderr] [INFO] [stderr] warning: identical conversion [INFO] [stderr] --> src/softether_reader.rs:50:56 [INFO] [stderr] | [INFO] [stderr] 50 | return Err( Box::new( SoftEtherError{ msg: String::from( format!( "vpncmd failed ( {} )", msg ) ) } ) ) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider removing `String::from()`: `format!( "vpncmd failed ( {} )", msg )` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_conversion)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_conversion [INFO] [stderr] [INFO] [stderr] warning: this call to `as_ref` does nothing [INFO] [stderr] --> src/softether_reader.rs:60:19 [INFO] [stderr] | [INFO] [stderr] 60 | match key.as_ref() { [INFO] [stderr] | ^^^^^^^^^^^^ help: try this: `key` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_asref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_asref [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/softether_reader.rs:62:88 [INFO] [stderr] | [INFO] [stderr] 62 | "状態" => status.online = if val == "オンライン" { true } else { false }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can reduce it to: `val == "オンライン"` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_bool)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/softether_reader.rs:63:88 [INFO] [stderr] | [INFO] [stderr] 63 | "SecureNAT 機能" => status.secure_nat = if val == "無効" { false } else { true }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can reduce it to: `!(val == "無効")` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/softether_reader.rs:82:90 [INFO] [stderr] | [INFO] [stderr] 82 | "Status" => status.online = if val == "Online" { true } else { false }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can reduce it to: `val == "Online"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/softether_reader.rs:83:90 [INFO] [stderr] | [INFO] [stderr] 83 | "SecureNAT" => status.secure_nat = if val == "Disabled" { false } else { true }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can reduce it to: `!(val == "Disabled")` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/softether_reader.rs:102:88 [INFO] [stderr] | [INFO] [stderr] 102 | "状态" => status.online = if val == "在线" { true } else { false }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can reduce it to: `val == "在线"` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] warning: this if-then-else expression returns a bool literal [INFO] [stderr] --> src/softether_reader.rs:103:88 [INFO] [stderr] | [INFO] [stderr] 103 | "SecureNAT 机能" => status.secure_nat = if val == "无效" { false } else { true }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can reduce it to: `!(val == "无效")` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 12.58s [INFO] running `"docker" "inspect" "4b9b27a3aad20d21d63b22b00214cfc41d4d6fc5996aa4ab7c96562e1086d5ef"` [INFO] running `"docker" "rm" "-f" "4b9b27a3aad20d21d63b22b00214cfc41d4d6fc5996aa4ab7c96562e1086d5ef"` [INFO] [stdout] 4b9b27a3aad20d21d63b22b00214cfc41d4d6fc5996aa4ab7c96562e1086d5ef