[INFO] crate sozu 0.11.0 is already in cache [INFO] extracting crate sozu 0.11.0 into work/ex/clippy-test-run/sources/stable/reg/sozu/0.11.0 [INFO] extracting crate sozu 0.11.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/sozu/0.11.0 [INFO] validating manifest of sozu-0.11.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 sozu-0.11.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 sozu-0.11.0 [INFO] finished frobbing sozu-0.11.0 [INFO] frobbed toml for sozu-0.11.0 written to work/ex/clippy-test-run/sources/stable/reg/sozu/0.11.0/Cargo.toml [INFO] started frobbing sozu-0.11.0 [INFO] finished frobbing sozu-0.11.0 [INFO] frobbed toml for sozu-0.11.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/sozu/0.11.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 sozu-0.11.0 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/sozu/0.11.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] 88e3e7ebf0ff7b48953bd6697b57f5d01f4148c4fc0858e0a4bd2b151cda604c [INFO] running `"docker" "start" "-a" "88e3e7ebf0ff7b48953bd6697b57f5d01f4148c4fc0858e0a4bd2b151cda604c"` [INFO] [stderr] Checking pool v0.1.4 [INFO] [stderr] Checking nom v2.2.1 [INFO] [stderr] Compiling procinfo v0.4.2 [INFO] [stderr] Checking mio-extras v2.0.5 [INFO] [stderr] Checking rustls v0.13.1 [INFO] [stderr] Checking pem v0.5.1 [INFO] [stderr] Checking sozu-command-lib v0.11.0 [INFO] [stderr] Checking sozu-lib v0.11.0 [INFO] [stderr] Checking sozu v0.11.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/command/orders.rs:776:7 [INFO] [stderr] | [INFO] [stderr] 776 | workers: workers, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `workers` [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/command/orders.rs:777:7 [INFO] [stderr] | [INFO] [stderr] 777 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `state` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/orders.rs:821:15 [INFO] [stderr] | [INFO] [stderr] 821 | channel: channel, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `channel` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/orders.rs:841:7 [INFO] [stderr] | [INFO] [stderr] 841 | poll: poll, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `poll` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/orders.rs:842:7 [INFO] [stderr] | [INFO] [stderr] 842 | config: config, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `config` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/orders.rs:843:7 [INFO] [stderr] | [INFO] [stderr] 843 | buffer_size: buffer_size, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `buffer_size` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/orders.rs:844:7 [INFO] [stderr] | [INFO] [stderr] 844 | max_buffer_size: max_buffer_size, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `max_buffer_size` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/orders.rs:848:7 [INFO] [stderr] | [INFO] [stderr] 848 | workers: workers, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `workers` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/orders.rs:849:7 [INFO] [stderr] | [INFO] [stderr] 849 | next_id: next_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `next_id` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/orders.rs:851:7 [INFO] [stderr] | [INFO] [stderr] 851 | token_count: token_count, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `token_count` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/orders.rs:856:7 [INFO] [stderr] | [INFO] [stderr] 856 | backends_count: backends_count, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `backends_count` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/orders.rs:857:7 [INFO] [stderr] | [INFO] [stderr] 857 | frontends_count: frontends_count, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `frontends_count` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/client.rs:22:7 [INFO] [stderr] | [INFO] [stderr] 22 | channel: channel, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `channel` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/mod.rs:64:7 [INFO] [stderr] | [INFO] [stderr] 64 | id: id, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `id` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/mod.rs:65:7 [INFO] [stderr] | [INFO] [stderr] 65 | channel: channel, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `channel` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/mod.rs:67:7 [INFO] [stderr] | [INFO] [stderr] 67 | pid: pid, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `pid` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/mod.rs:70:7 [INFO] [stderr] | [INFO] [stderr] 70 | scm: scm, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `scm` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/mod.rs:184:7 [INFO] [stderr] | [INFO] [stderr] 184 | workers: workers, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `workers` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/mod.rs:186:7 [INFO] [stderr] | [INFO] [stderr] 186 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `state` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/mod.rs:187:7 [INFO] [stderr] | [INFO] [stderr] 187 | poll: poll, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `poll` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/mod.rs:188:7 [INFO] [stderr] | [INFO] [stderr] 188 | config: config, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `config` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/mod.rs:189:7 [INFO] [stderr] | [INFO] [stderr] 189 | token_count: token_count, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `token_count` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/mod.rs:192:7 [INFO] [stderr] | [INFO] [stderr] 192 | backends_count: backends_count, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `backends_count` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/mod.rs:193:7 [INFO] [stderr] | [INFO] [stderr] 193 | frontends_count: frontends_count, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `frontends_count` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/orders.rs:776:7 [INFO] [stderr] | [INFO] [stderr] 776 | workers: workers, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `workers` [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/command/orders.rs:777:7 [INFO] [stderr] | [INFO] [stderr] 777 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `state` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/orders.rs:821:15 [INFO] [stderr] | [INFO] [stderr] 821 | channel: channel, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `channel` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/orders.rs:841:7 [INFO] [stderr] | [INFO] [stderr] 841 | poll: poll, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `poll` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/orders.rs:842:7 [INFO] [stderr] | [INFO] [stderr] 842 | config: config, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `config` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/orders.rs:843:7 [INFO] [stderr] | [INFO] [stderr] 843 | buffer_size: buffer_size, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `buffer_size` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/orders.rs:844:7 [INFO] [stderr] | [INFO] [stderr] 844 | max_buffer_size: max_buffer_size, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `max_buffer_size` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/orders.rs:848:7 [INFO] [stderr] | [INFO] [stderr] 848 | workers: workers, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `workers` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/orders.rs:849:7 [INFO] [stderr] | [INFO] [stderr] 849 | next_id: next_id, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `next_id` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/orders.rs:851:7 [INFO] [stderr] | [INFO] [stderr] 851 | token_count: token_count, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `token_count` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/orders.rs:856:7 [INFO] [stderr] | [INFO] [stderr] 856 | backends_count: backends_count, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `backends_count` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/orders.rs:857:7 [INFO] [stderr] | [INFO] [stderr] 857 | frontends_count: frontends_count, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `frontends_count` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/client.rs:22:7 [INFO] [stderr] | [INFO] [stderr] 22 | channel: channel, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `channel` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/mod.rs:64:7 [INFO] [stderr] | [INFO] [stderr] 64 | id: id, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `id` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/mod.rs:65:7 [INFO] [stderr] | [INFO] [stderr] 65 | channel: channel, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: replace it with: `channel` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/mod.rs:67:7 [INFO] [stderr] | [INFO] [stderr] 67 | pid: pid, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `pid` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/mod.rs:70:7 [INFO] [stderr] | [INFO] [stderr] 70 | scm: scm, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: replace it with: `scm` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/mod.rs:184:7 [INFO] [stderr] | [INFO] [stderr] 184 | workers: workers, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `workers` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/mod.rs:186:7 [INFO] [stderr] | [INFO] [stderr] 186 | state: state, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `state` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/mod.rs:187:7 [INFO] [stderr] | [INFO] [stderr] 187 | poll: poll, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `poll` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/mod.rs:188:7 [INFO] [stderr] | [INFO] [stderr] 188 | config: config, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `config` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/mod.rs:189:7 [INFO] [stderr] | [INFO] [stderr] 189 | token_count: token_count, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `token_count` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/mod.rs:192:7 [INFO] [stderr] | [INFO] [stderr] 192 | backends_count: backends_count, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `backends_count` [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: redundant field names in struct initialization [INFO] [stderr] --> src/command/mod.rs:193:7 [INFO] [stderr] | [INFO] [stderr] 193 | frontends_count: frontends_count, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `frontends_count` [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: unused import: `futures::executor::spawn` [INFO] [stderr] --> src/command/executor.rs:277:7 [INFO] [stderr] | [INFO] [stderr] 277 | use futures::executor::spawn; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `futures::task` [INFO] [stderr] --> src/command/executor.rs:278:7 [INFO] [stderr] | [INFO] [stderr] 278 | use futures::task; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `result` [INFO] [stderr] --> src/command/executor.rs:279:31 [INFO] [stderr] | [INFO] [stderr] 279 | use futures::future::{lazy, result}; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/command/orders.rs:168:48 [INFO] [stderr] | [INFO] [stderr] 168 | let mut buffer = Buffer::with_capacity(200000); [INFO] [stderr] | ^^^^^^ help: consider: `200_000` [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: this if statement can be collapsed [INFO] [stderr] --> src/command/orders.rs:629:5 [INFO] [stderr] | [INFO] [stderr] 629 | / if self.config.automatic_state_save { [INFO] [stderr] 630 | | if order != ProxyRequestData::SoftStop || order != ProxyRequestData::HardStop { [INFO] [stderr] 631 | | if let Some(path) = self.config.saved_state.clone() { [INFO] [stderr] 632 | | if let Ok(mut f) = fs::File::create(&path) { [INFO] [stderr] ... | [INFO] [stderr] 638 | | } [INFO] [stderr] 639 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 629 | if self.config.automatic_state_save && (order != ProxyRequestData::SoftStop || order != ProxyRequestData::HardStop) { [INFO] [stderr] 630 | if let Some(path) = self.config.saved_state.clone() { [INFO] [stderr] 631 | if let Ok(mut f) = fs::File::create(&path) { [INFO] [stderr] 632 | let _ = self.save_state_to_file(&mut f).map_err(|e| { [INFO] [stderr] 633 | error!("could not save state automatically to {}: {:?}", path, e); [INFO] [stderr] 634 | }); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/command/mod.rs:33:27 [INFO] [stderr] | [INFO] [stderr] 33 | const HALF_USIZE: usize = 0x8000000000000000usize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x8000_0000_0000_0000usize` [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: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/command/mod.rs:391:20 [INFO] [stderr] | [INFO] [stderr] 391 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 392 | | if (worker.channel.interest & worker.channel.readiness).is_readable() { [INFO] [stderr] 393 | | let _ = worker.channel.readable().map_err(|e| { [INFO] [stderr] 394 | | error!("could not read from worker socket: {:?}", e); [INFO] [stderr] ... | [INFO] [stderr] 399 | | } [INFO] [stderr] 400 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 391 | } else if (worker.channel.interest & worker.channel.readiness).is_readable() { [INFO] [stderr] 392 | let _ = worker.channel.readable().map_err(|e| { [INFO] [stderr] 393 | error!("could not read from worker socket: {:?}", e); [INFO] [stderr] 394 | }); [INFO] [stderr] 395 | continue; [INFO] [stderr] 396 | } else { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/command/mod.rs:570:14 [INFO] [stderr] | [INFO] [stderr] 570 | } else { [INFO] [stderr] | ______________^ [INFO] [stderr] 571 | | if worker.run_state == RunState::NotAnswering { [INFO] [stderr] 572 | | error!("worker process {} (PID = {}) stopped running, replacing", worker.id, worker.pid); [INFO] [stderr] 573 | | } else if worker.run_state == RunState::Stopping { [INFO] [stderr] ... | [INFO] [stderr] 581 | | } [INFO] [stderr] 582 | | } [INFO] [stderr] | |_______^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 570 | } else if worker.run_state == RunState::NotAnswering { [INFO] [stderr] 571 | error!("worker process {} (PID = {}) stopped running, replacing", worker.id, worker.pid); [INFO] [stderr] 572 | } else if worker.run_state == RunState::Stopping { [INFO] [stderr] 573 | info!("worker process {} (PID = {}) not detected, assuming it stopped", worker.id, worker.pid); [INFO] [stderr] 574 | worker.run_state = RunState::Stopped; [INFO] [stderr] 575 | let _ = self.poll.deregister(&worker.channel.sock); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/command/orders.rs:168:48 [INFO] [stderr] | [INFO] [stderr] 168 | let mut buffer = Buffer::with_capacity(200000); [INFO] [stderr] | ^^^^^^ help: consider: `200_000` [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: this if statement can be collapsed [INFO] [stderr] --> src/command/orders.rs:629:5 [INFO] [stderr] | [INFO] [stderr] 629 | / if self.config.automatic_state_save { [INFO] [stderr] 630 | | if order != ProxyRequestData::SoftStop || order != ProxyRequestData::HardStop { [INFO] [stderr] 631 | | if let Some(path) = self.config.saved_state.clone() { [INFO] [stderr] 632 | | if let Ok(mut f) = fs::File::create(&path) { [INFO] [stderr] ... | [INFO] [stderr] 638 | | } [INFO] [stderr] 639 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 629 | if self.config.automatic_state_save && (order != ProxyRequestData::SoftStop || order != ProxyRequestData::HardStop) { [INFO] [stderr] 630 | if let Some(path) = self.config.saved_state.clone() { [INFO] [stderr] 631 | if let Ok(mut f) = fs::File::create(&path) { [INFO] [stderr] 632 | let _ = self.save_state_to_file(&mut f).map_err(|e| { [INFO] [stderr] 633 | error!("could not save state automatically to {}: {:?}", path, e); [INFO] [stderr] 634 | }); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/command/mod.rs:33:27 [INFO] [stderr] | [INFO] [stderr] 33 | const HALF_USIZE: usize = 0x8000000000000000usize; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x8000_0000_0000_0000usize` [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: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/command/mod.rs:391:20 [INFO] [stderr] | [INFO] [stderr] 391 | } else { [INFO] [stderr] | ____________________^ [INFO] [stderr] 392 | | if (worker.channel.interest & worker.channel.readiness).is_readable() { [INFO] [stderr] 393 | | let _ = worker.channel.readable().map_err(|e| { [INFO] [stderr] 394 | | error!("could not read from worker socket: {:?}", e); [INFO] [stderr] ... | [INFO] [stderr] 399 | | } [INFO] [stderr] 400 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 391 | } else if (worker.channel.interest & worker.channel.readiness).is_readable() { [INFO] [stderr] 392 | let _ = worker.channel.readable().map_err(|e| { [INFO] [stderr] 393 | error!("could not read from worker socket: {:?}", e); [INFO] [stderr] 394 | }); [INFO] [stderr] 395 | continue; [INFO] [stderr] 396 | } else { [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: this `else { if .. }` block can be collapsed [INFO] [stderr] --> src/command/mod.rs:570:14 [INFO] [stderr] | [INFO] [stderr] 570 | } else { [INFO] [stderr] | ______________^ [INFO] [stderr] 571 | | if worker.run_state == RunState::NotAnswering { [INFO] [stderr] 572 | | error!("worker process {} (PID = {}) stopped running, replacing", worker.id, worker.pid); [INFO] [stderr] 573 | | } else if worker.run_state == RunState::Stopping { [INFO] [stderr] ... | [INFO] [stderr] 581 | | } [INFO] [stderr] 582 | | } [INFO] [stderr] | |_______^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 570 | } else if worker.run_state == RunState::NotAnswering { [INFO] [stderr] 571 | error!("worker process {} (PID = {}) stopped running, replacing", worker.id, worker.pid); [INFO] [stderr] 572 | } else if worker.run_state == RunState::Stopping { [INFO] [stderr] 573 | info!("worker process {} (PID = {}) not detected, assuming it stopped", worker.id, worker.pid); [INFO] [stderr] 574 | worker.run_state = RunState::Stopped; [INFO] [stderr] 575 | let _ = self.poll.deregister(&worker.channel.sock); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/upgrade.rs:86:7 [INFO] [stderr] | [INFO] [stderr] 86 | return (child.into(), command); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(child.into(), command)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/upgrade.rs:86:7 [INFO] [stderr] | [INFO] [stderr] 86 | return (child.into(), command); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove `return` as shown: `(child.into(), command)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `FutureProcessing` [INFO] [stderr] --> src/command/executor.rs:219:1 [INFO] [stderr] | [INFO] [stderr] 219 | pub struct FutureProcessing { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `send_processing` [INFO] [stderr] --> src/command/executor.rs:250:1 [INFO] [stderr] | [INFO] [stderr] 250 | pub fn send_processing(worker_id: Token, message: ProxyRequest) -> (FutureProcessing, FutureAnswer) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/command/orders.rs:137:78 [INFO] [stderr] | [INFO] [stderr] 137 | f.write_all(&serde_json::to_string(&message).map(|s| s.into_bytes()).unwrap_or(vec!()))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| vec!())` [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: length comparison to zero [INFO] [stderr] --> src/command/orders.rs:192:18 [INFO] [stderr] | [INFO] [stderr] 192 | if i.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!i.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] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/command/orders.rs:214:21 [INFO] [stderr] | [INFO] [stderr] 214 | for ref mut worker in self.workers.values_mut() [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 214 | for ref mut worker in let worker = &mut self.workers.values_mut() [INFO] [stderr] 215 | .filter(|worker| worker.run_state != RunState::Stopping && worker.run_state != RunState::Stopped); { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/command/orders.rs:269:15 [INFO] [stderr] | [INFO] [stderr] 269 | format!("ok: 0 messages, error: 0"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"ok: 0 messages, error: 0".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: using `clone` on a `Copy` type [INFO] [stderr] --> src/command/orders.rs:290:21 [INFO] [stderr] | [INFO] [stderr] 290 | run_state: worker.run_state.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `worker.run_state` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: the variable `count` is used as a loop counter. Consider using `for (count, item) in activate_orders.into_iter().enumerate()` or similar iterators [INFO] [stderr] --> src/command/orders.rs:328:20 [INFO] [stderr] | [INFO] [stderr] 328 | for order in activate_orders.into_iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_counter_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: use of `unwrap_or` followed by a function call [INFO] [stderr] --> src/command/orders.rs:137:78 [INFO] [stderr] | [INFO] [stderr] 137 | f.write_all(&serde_json::to_string(&message).map(|s| s.into_bytes()).unwrap_or(vec!()))?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|_| vec!())` [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: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/command/orders.rs:376:44 [INFO] [stderr] | [INFO] [stderr] 376 | if self.workers.values().find(|worker| { [INFO] [stderr] | ____________________________________________^ [INFO] [stderr] 377 | | worker.id == id && worker.run_state != RunState::Stopping && worker.run_state != RunState::Stopped [INFO] [stderr] 378 | | }).is_none() { [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::block_in_if_condition_stmt)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: called `filter(p).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(p)` instead. [INFO] [stderr] --> src/command/orders.rs:385:24 [INFO] [stderr] | [INFO] [stderr] 385 | let old_worker = self.workers.values_mut().filter(|worker| worker.id == id).next().unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::filter_next)] on by default [INFO] [stderr] = note: replace `filter(|worker| worker.id == id).next()` with `find(|worker| worker.id == id)` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/command/orders.rs:192:18 [INFO] [stderr] | [INFO] [stderr] 192 | if i.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!i.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] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/command/orders.rs:214:21 [INFO] [stderr] | [INFO] [stderr] 214 | for ref mut worker in self.workers.values_mut() [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::toplevel_ref_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 214 | for ref mut worker in let worker = &mut self.workers.values_mut() [INFO] [stderr] 215 | .filter(|worker| worker.run_state != RunState::Stopping && worker.run_state != RunState::Stopped); { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: the variable `count` is used as a loop counter. Consider using `for (count, item) in activate_orders.into_iter().enumerate()` or similar iterators [INFO] [stderr] --> src/command/orders.rs:429:18 [INFO] [stderr] | [INFO] [stderr] 429 | for order in activate_orders.into_iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/command/orders.rs:475:9 [INFO] [stderr] | [INFO] [stderr] 475 | for ref mut worker in self.workers.values_mut() [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 475 | for ref mut worker in let worker = &mut self.workers.values_mut() [INFO] [stderr] 476 | .filter(|worker| worker.run_state != RunState::Stopping && worker.run_state != RunState::Stopped); { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/command/orders.rs:269:15 [INFO] [stderr] | [INFO] [stderr] 269 | format!("ok: 0 messages, error: 0"), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"ok: 0 messages, error: 0".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: using `clone` on a `Copy` type [INFO] [stderr] --> src/command/orders.rs:290:21 [INFO] [stderr] | [INFO] [stderr] 290 | run_state: worker.run_state.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `worker.run_state` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/command/orders.rs:521:9 [INFO] [stderr] | [INFO] [stderr] 521 | for ref mut worker in self.workers.values_mut() [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 521 | for ref mut worker in let worker = &mut self.workers.values_mut() [INFO] [stderr] 522 | .filter(|worker| worker.run_state != RunState::Stopping && worker.run_state != RunState::Stopped); { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/command/orders.rs:544:5 [INFO] [stderr] | [INFO] [stderr] 544 | / match &query { [INFO] [stderr] 545 | | &Query::ApplicationsHashes => { [INFO] [stderr] 546 | | let master = QueryAnswer::ApplicationsHashes(self.state.hash_state()); [INFO] [stderr] 547 | | [INFO] [stderr] ... | [INFO] [stderr] 584 | | } [INFO] [stderr] 585 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 544 | match query { [INFO] [stderr] 545 | Query::ApplicationsHashes => { [INFO] [stderr] 546 | let master = QueryAnswer::ApplicationsHashes(self.state.hash_state()); [INFO] [stderr] 547 | [INFO] [stderr] 548 | executor::Executor::execute(f.map(move |mut data| { [INFO] [stderr] 549 | data.insert(String::from("master"), master); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: the variable `count` is used as a loop counter. Consider using `for (count, item) in activate_orders.into_iter().enumerate()` or similar iterators [INFO] [stderr] --> src/command/orders.rs:328:20 [INFO] [stderr] | [INFO] [stderr] 328 | for order in activate_orders.into_iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_counter_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/command/orders.rs:589:5 [INFO] [stderr] | [INFO] [stderr] 589 | / if let &ProxyRequestData::AddCertificate(_) = &order { [INFO] [stderr] 590 | | debug!("workerconfig client order AddCertificate()"); [INFO] [stderr] 591 | | } else { [INFO] [stderr] 592 | | debug!("workerconfig client order {:?}", order); [INFO] [stderr] 593 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 589 | if let ProxyRequestData::AddCertificate(_) = order { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: in an 'if' condition, avoid complex blocks or closures with blocks; instead, move the block or closure higher and bind it with a 'let' [INFO] [stderr] --> src/command/orders.rs:376:44 [INFO] [stderr] | [INFO] [stderr] 376 | if self.workers.values().find(|worker| { [INFO] [stderr] | ____________________________________________^ [INFO] [stderr] 377 | | worker.id == id && worker.run_state != RunState::Stopping && worker.run_state != RunState::Stopped [INFO] [stderr] 378 | | }).is_none() { [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::block_in_if_condition_stmt)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#block_in_if_condition_stmt [INFO] [stderr] [INFO] [stderr] warning: called `filter(p).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(p)` instead. [INFO] [stderr] --> src/command/orders.rs:385:24 [INFO] [stderr] | [INFO] [stderr] 385 | let old_worker = self.workers.values_mut().filter(|worker| worker.id == id).next().unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::filter_next)] on by default [INFO] [stderr] = note: replace `filter(|worker| worker.id == id).next()` with `find(|worker| worker.id == id)` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/command/orders.rs:595:5 [INFO] [stderr] | [INFO] [stderr] 595 | / if let &ProxyRequestData::Logging(ref logging_filter) = &order { [INFO] [stderr] 596 | | debug!("Changing master log level to {}", logging_filter); [INFO] [stderr] 597 | | logging::LOGGER.with(|l| { [INFO] [stderr] 598 | | let directives = logging::parse_logging_spec(&logging_filter); [INFO] [stderr] ... | [INFO] [stderr] 603 | | ::std::env::set_var("RUST_LOG", logging_filter); [INFO] [stderr] 604 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 595 | if let ProxyRequestData::Logging(ref logging_filter) = order { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: the variable `count` is used as a loop counter. Consider using `for (count, item) in activate_orders.into_iter().enumerate()` or similar iterators [INFO] [stderr] --> src/command/orders.rs:429:18 [INFO] [stderr] | [INFO] [stderr] 429 | for order in activate_orders.into_iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/command/orders.rs:643:9 [INFO] [stderr] | [INFO] [stderr] 643 | for ref mut worker in self.workers.values_mut() [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 643 | for ref mut worker in let worker = &mut self.workers.values_mut() [INFO] [stderr] 644 | .filter(|worker| worker.run_state != RunState::Stopping && worker.run_state != RunState::Stopped); { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/command/orders.rs:475:9 [INFO] [stderr] | [INFO] [stderr] 475 | for ref mut worker in self.workers.values_mut() [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 475 | for ref mut worker in let worker = &mut self.workers.values_mut() [INFO] [stderr] 476 | .filter(|worker| worker.run_state != RunState::Stopping && worker.run_state != RunState::Stopped); { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/command/orders.rs:721:9 [INFO] [stderr] | [INFO] [stderr] 721 | / if let &ProxyRequestData::AddCertificate(_) = &order { [INFO] [stderr] 722 | | debug!("config generated AddCertificate( ... )"); [INFO] [stderr] 723 | | } else { [INFO] [stderr] 724 | | debug!("config generated {:?}", order); [INFO] [stderr] 725 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 721 | if let ProxyRequestData::AddCertificate(_) = order { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/command/orders.rs:521:9 [INFO] [stderr] | [INFO] [stderr] 521 | for ref mut worker in self.workers.values_mut() [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 521 | for ref mut worker in let worker = &mut self.workers.values_mut() [INFO] [stderr] 522 | .filter(|worker| worker.run_state != RunState::Stopping && worker.run_state != RunState::Stopped); { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/command/orders.rs:544:5 [INFO] [stderr] | [INFO] [stderr] 544 | / match &query { [INFO] [stderr] 545 | | &Query::ApplicationsHashes => { [INFO] [stderr] 546 | | let master = QueryAnswer::ApplicationsHashes(self.state.hash_state()); [INFO] [stderr] 547 | | [INFO] [stderr] ... | [INFO] [stderr] 584 | | } [INFO] [stderr] 585 | | }; [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_ref_pats)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 544 | match query { [INFO] [stderr] 545 | Query::ApplicationsHashes => { [INFO] [stderr] 546 | let master = QueryAnswer::ApplicationsHashes(self.state.hash_state()); [INFO] [stderr] 547 | [INFO] [stderr] 548 | executor::Executor::execute(f.map(move |mut data| { [INFO] [stderr] 549 | data.insert(String::from("master"), master); [INFO] [stderr] ... [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/command/orders.rs:727:13 [INFO] [stderr] | [INFO] [stderr] 727 | for ref mut worker in self.workers.values_mut() [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 727 | for ref mut worker in let worker = &mut self.workers.values_mut() [INFO] [stderr] 728 | .filter(|worker| worker.run_state != RunState::Stopping && worker.run_state != RunState::Stopped); { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/command/orders.rs:750:9 [INFO] [stderr] | [INFO] [stderr] 750 | for ref mut worker in self.workers.values() { [INFO] [stderr] | ^^^^^^^^^^^^^^ --------------------- help: try: `let worker = &mut self.workers.values();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/command/orders.rs:760:9 [INFO] [stderr] | [INFO] [stderr] 760 | for ref mut worker in self.workers.values() { [INFO] [stderr] | ^^^^^^^^^^^^^^ --------------------- help: try: `let worker = &mut self.workers.values();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/command/orders.rs:589:5 [INFO] [stderr] | [INFO] [stderr] 589 | / if let &ProxyRequestData::AddCertificate(_) = &order { [INFO] [stderr] 590 | | debug!("workerconfig client order AddCertificate()"); [INFO] [stderr] 591 | | } else { [INFO] [stderr] 592 | | debug!("workerconfig client order {:?}", order); [INFO] [stderr] 593 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 589 | if let ProxyRequestData::AddCertificate(_) = order { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/command/orders.rs:595:5 [INFO] [stderr] | [INFO] [stderr] 595 | / if let &ProxyRequestData::Logging(ref logging_filter) = &order { [INFO] [stderr] 596 | | debug!("Changing master log level to {}", logging_filter); [INFO] [stderr] 597 | | logging::LOGGER.with(|l| { [INFO] [stderr] 598 | | let directives = logging::parse_logging_spec(&logging_filter); [INFO] [stderr] ... | [INFO] [stderr] 603 | | ::std::env::set_var("RUST_LOG", logging_filter); [INFO] [stderr] 604 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 595 | if let ProxyRequestData::Logging(ref logging_filter) = order { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/command/orders.rs:824:27 [INFO] [stderr] | [INFO] [stderr] 824 | run_state: serialized.run_state.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `serialized.run_state` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/command/orders.rs:643:9 [INFO] [stderr] | [INFO] [stderr] 643 | for ref mut worker in self.workers.values_mut() [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 643 | for ref mut worker in let worker = &mut self.workers.values_mut() [INFO] [stderr] 644 | .filter(|worker| worker.run_state != RunState::Stopping && worker.run_state != RunState::Stopped); { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you don't need to add `&` to both the expression and the patterns [INFO] [stderr] --> src/command/orders.rs:721:9 [INFO] [stderr] | [INFO] [stderr] 721 | / if let &ProxyRequestData::AddCertificate(_) = &order { [INFO] [stderr] 722 | | debug!("config generated AddCertificate( ... )"); [INFO] [stderr] 723 | | } else { [INFO] [stderr] 724 | | debug!("config generated {:?}", order); [INFO] [stderr] 725 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_ref_pats [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 721 | if let ProxyRequestData::AddCertificate(_) = order { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/command/orders.rs:727:13 [INFO] [stderr] | [INFO] [stderr] 727 | for ref mut worker in self.workers.values_mut() [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 727 | for ref mut worker in let worker = &mut self.workers.values_mut() [INFO] [stderr] 728 | .filter(|worker| worker.run_state != RunState::Stopping && worker.run_state != RunState::Stopped); { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/command/orders.rs:750:9 [INFO] [stderr] | [INFO] [stderr] 750 | for ref mut worker in self.workers.values() { [INFO] [stderr] | ^^^^^^^^^^^^^^ --------------------- help: try: `let worker = &mut self.workers.values();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/command/orders.rs:760:9 [INFO] [stderr] | [INFO] [stderr] 760 | for ref mut worker in self.workers.values() { [INFO] [stderr] | ^^^^^^^^^^^^^^ --------------------- help: try: `let worker = &mut self.workers.values();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/command/mod.rs:129:7 [INFO] [stderr] | [INFO] [stderr] 129 | / self.poll.register(&self.clients[tok].channel.sock, token, [INFO] [stderr] 130 | | Ready::readable() | Ready::writable() | UnixReady::error() | UnixReady::hup(), [INFO] [stderr] 131 | | PollOpt::edge()) [INFO] [stderr] 132 | | .ok().expect("could not register socket with event loop"); [INFO] [stderr] | |_________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ok_expect)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/command/orders.rs:824:27 [INFO] [stderr] | [INFO] [stderr] 824 | run_state: serialized.run_state.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `serialized.run_state` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: methods called `from_*` usually take no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/command/mod.rs:201:21 [INFO] [stderr] | [INFO] [stderr] 201 | pub fn from_front(&self, token: FrontToken) -> Token { [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/command/mod.rs:254:123 [INFO] [stderr] | [INFO] [stderr] 254 | let tokens: Vec = self.workers.iter().filter(|&(_, worker)| worker.can_handle_events()).map(|(token, _)| token.clone()).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try dereferencing it: `*token` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/command/mod.rs:344:7 [INFO] [stderr] | [INFO] [stderr] 344 | self.clients.get_mut(client_token).map(|cl| cl.push_message(answer)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(cl) = self.clients.get_mut(client_token) { cl.push_message(answer) }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_map_unit_fn)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/command/mod.rs:348:7 [INFO] [stderr] | [INFO] [stderr] 348 | self.workers.get_mut(&worker_token).map(|w| w.push_message(message)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(w) = self.workers.get_mut(&worker_token) { w.push_message(message) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/command/mod.rs:354:11 [INFO] [stderr] | [INFO] [stderr] 354 | self.workers.get_mut(&token).map(|w| w.run_state = RunState::Stopped); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(w) = self.workers.get_mut(&token) { ... }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/command/mod.rs:370:11 [INFO] [stderr] | [INFO] [stderr] 370 | let ref mut worker = self.workers.get_mut(&token).unwrap(); [INFO] [stderr] | ----^^^^^^^^^^^^^^----------------------------------------- help: try: `let worker = &mut self.workers.get_mut(&token).unwrap();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/command/mod.rs:430:65 [INFO] [stderr] | [INFO] [stderr] 430 | if worker.channel.back_buf.available_data() == 0 && worker.queue.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `worker.queue.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/command/mod.rs:129:7 [INFO] [stderr] | [INFO] [stderr] 129 | / self.poll.register(&self.clients[tok].channel.sock, token, [INFO] [stderr] 130 | | Ready::readable() | Ready::writable() | UnixReady::error() | UnixReady::hup(), [INFO] [stderr] 131 | | PollOpt::edge()) [INFO] [stderr] 132 | | .ok().expect("could not register socket with event loop"); [INFO] [stderr] | |_________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ok_expect)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/command/mod.rs:519:13 [INFO] [stderr] | [INFO] [stderr] 519 | / loop { [INFO] [stderr] 520 | | if let Some(message) = self.clients[conn_token].channel.read_message() { [INFO] [stderr] 521 | | incr!("client_cmd"); [INFO] [stderr] 522 | | self.handle_client_message(conn_token, &message); [INFO] [stderr] ... | [INFO] [stderr] 525 | | } [INFO] [stderr] 526 | | } [INFO] [stderr] | |_____________^ help: try: `while let Some(message) = self.clients[conn_token].channel.read_message() { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/command/mod.rs:546:9 [INFO] [stderr] | [INFO] [stderr] 546 | self.clients.get_mut(*client_token).map(|cl| cl.push_message(event)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(cl) = self.clients.get_mut(*client_token) { cl.push_message(event) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: methods called `from_*` usually take no self; consider choosing a less ambiguous name [INFO] [stderr] --> src/command/mod.rs:201:21 [INFO] [stderr] | [INFO] [stderr] 201 | pub fn from_front(&self, token: FrontToken) -> Token { [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/command/mod.rs:555:11 [INFO] [stderr] | [INFO] [stderr] 555 | let ref mut worker = self.workers.get_mut(&token).expect("there should be a worker at that token"); [INFO] [stderr] | ----^^^^^^^^^^^^^^--------------------------------------------------------------------------------- help: try: `let worker = &mut self.workers.get_mut(&token).expect("there should be a worker at that token");` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/command/mod.rs:254:123 [INFO] [stderr] | [INFO] [stderr] 254 | let tokens: Vec = self.workers.iter().filter(|&(_, worker)| worker.can_handle_events()).map(|(token, _)| token.clone()).collect(); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try dereferencing it: `*token` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: the variable `count` is used as a loop counter. Consider using `for (count, item) in orders.drain(..).enumerate()` or similar iterators [INFO] [stderr] --> src/command/mod.rs:611:22 [INFO] [stderr] | [INFO] [stderr] 611 | for order in orders.drain(..) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/command/mod.rs:658:7 [INFO] [stderr] | [INFO] [stderr] 658 | saved_state.as_ref().map(|state_path| { [INFO] [stderr] | _______^ [INFO] [stderr] | |_______| [INFO] [stderr] | || [INFO] [stderr] 659 | || server.load_state(None, "INITIALIZATION", state_path); [INFO] [stderr] 660 | || }); [INFO] [stderr] | ||________^- help: try this: `if let Some(state_path) = saved_state.as_ref() { server.load_state(None, "INITIALIZATION", state_path); }` [INFO] [stderr] | |_________| [INFO] [stderr] | [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/command/mod.rs:344:7 [INFO] [stderr] | [INFO] [stderr] 344 | self.clients.get_mut(client_token).map(|cl| cl.push_message(answer)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(cl) = self.clients.get_mut(client_token) { cl.push_message(answer) }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::option_map_unit_fn)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/command/mod.rs:348:7 [INFO] [stderr] | [INFO] [stderr] 348 | self.workers.get_mut(&worker_token).map(|w| w.push_message(message)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(w) = self.workers.get_mut(&worker_token) { w.push_message(message) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/command/mod.rs:354:11 [INFO] [stderr] | [INFO] [stderr] 354 | self.workers.get_mut(&token).map(|w| w.run_state = RunState::Stopped); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(w) = self.workers.get_mut(&token) { ... }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/worker.rs:46:30 [INFO] [stderr] | [INFO] [stderr] 46 | let w = Worker::new(index as u32, pid, command, scm, config); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u32::from(index)` [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: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/command/mod.rs:370:11 [INFO] [stderr] | [INFO] [stderr] 370 | let ref mut worker = self.workers.get_mut(&token).unwrap(); [INFO] [stderr] | ----^^^^^^^^^^^^^^----------------------------------------- help: try: `let worker = &mut self.workers.get_mut(&token).unwrap();` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/command/mod.rs:430:65 [INFO] [stderr] | [INFO] [stderr] 430 | if worker.channel.back_buf.available_data() == 0 && worker.queue.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `worker.queue.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/command/mod.rs:519:13 [INFO] [stderr] | [INFO] [stderr] 519 | / loop { [INFO] [stderr] 520 | | if let Some(message) = self.clients[conn_token].channel.read_message() { [INFO] [stderr] 521 | | incr!("client_cmd"); [INFO] [stderr] 522 | | self.handle_client_message(conn_token, &message); [INFO] [stderr] ... | [INFO] [stderr] 525 | | } [INFO] [stderr] 526 | | } [INFO] [stderr] | |_____________^ help: try: `while let Some(message) = self.clients[conn_token].channel.read_message() { .. }` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::while_let_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/upgrade.rs:39:19 [INFO] [stderr] | [INFO] [stderr] 39 | run_state: worker.run_state.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `worker.run_state` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/upgrade.rs:40:19 [INFO] [stderr] | [INFO] [stderr] 40 | token: worker.token.clone().map(|Token(t)| t), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `worker.token` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/command/mod.rs:546:9 [INFO] [stderr] | [INFO] [stderr] 546 | self.clients.get_mut(*client_token).map(|cl| cl.push_message(event)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- [INFO] [stderr] | | [INFO] [stderr] | help: try this: `if let Some(cl) = self.clients.get_mut(*client_token) { cl.push_message(event) }` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/command/mod.rs:555:11 [INFO] [stderr] | [INFO] [stderr] 555 | let ref mut worker = self.workers.get_mut(&token).expect("there should be a worker at that token"); [INFO] [stderr] | ----^^^^^^^^^^^^^^--------------------------------------------------------------------------------- help: try: `let worker = &mut self.workers.get_mut(&token).expect("there should be a worker at that token");` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: the variable `count` is used as a loop counter. Consider using `for (count, item) in orders.drain(..).enumerate()` or similar iterators [INFO] [stderr] --> src/command/mod.rs:611:22 [INFO] [stderr] | [INFO] [stderr] 611 | for order in orders.drain(..) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/main.rs:68:18 [INFO] [stderr] | [INFO] [stderr] 68 | .map_err(|err| StartupError::PIDFileNotWritable(err)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `StartupError::PIDFileNotWritable` [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: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/command/mod.rs:658:7 [INFO] [stderr] | [INFO] [stderr] 658 | saved_state.as_ref().map(|state_path| { [INFO] [stderr] | _______^ [INFO] [stderr] | |_______| [INFO] [stderr] | || [INFO] [stderr] 659 | || server.load_state(None, "INITIALIZATION", state_path); [INFO] [stderr] 660 | || }); [INFO] [stderr] | ||________^- help: try this: `if let Some(state_path) = saved_state.as_ref() { server.load_state(None, "INITIALIZATION", state_path); }` [INFO] [stderr] | |_________| [INFO] [stderr] | [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#option_map_unit_fn [INFO] [stderr] [INFO] [stderr] warning: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:145:34 [INFO] [stderr] | [INFO] [stderr] 145 | fn set_workers_affinity(workers: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[Worker]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:158:3 [INFO] [stderr] | [INFO] [stderr] 158 | cpu_count = cpu_count + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `cpu_count += 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/main.rs:160:7 [INFO] [stderr] | [INFO] [stderr] 160 | for ref worker in workers { [INFO] [stderr] | ^^^^^^^^^^ ------- help: try: `let worker = &workers;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:167:5 [INFO] [stderr] | [INFO] [stderr] 167 | cpu_count = cpu_count + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `cpu_count += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: The function/method `libc::sched_setaffinity` doesn't need a mutable reference [INFO] [stderr] --> src/main.rs:188:48 [INFO] [stderr] | [INFO] [stderr] 188 | libc::sched_setaffinity(pid, size_cpu_set, &mut cpu_set); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u32 may become silently lossy if types change [INFO] [stderr] --> src/worker.rs:46:30 [INFO] [stderr] | [INFO] [stderr] 46 | let w = Worker::new(index as u32, pid, command, scm, config); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `u32::from(index)` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/upgrade.rs:39:19 [INFO] [stderr] | [INFO] [stderr] 39 | run_state: worker.run_state.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `worker.run_state` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/upgrade.rs:40:19 [INFO] [stderr] | [INFO] [stderr] 40 | token: worker.token.clone().map(|Token(t)| t), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `worker.token` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: redundant closure found [INFO] [stderr] --> src/main.rs:68:18 [INFO] [stderr] | [INFO] [stderr] 68 | .map_err(|err| StartupError::PIDFileNotWritable(err)) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove closure as shown: `StartupError::PIDFileNotWritable` [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: writing `&Vec<_>` instead of `&[_]` involves one more reference and cannot be used with non-Vec-based slices. [INFO] [stderr] --> src/main.rs:145:34 [INFO] [stderr] | [INFO] [stderr] 145 | fn set_workers_affinity(workers: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^^ help: change this to: `&[Worker]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ptr_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ptr_arg [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:158:3 [INFO] [stderr] | [INFO] [stderr] 158 | cpu_count = cpu_count + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `cpu_count += 1` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::assign_op_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: `ref` on an entire `let` pattern is discouraged, take a reference with `&` instead [INFO] [stderr] --> src/main.rs:160:7 [INFO] [stderr] | [INFO] [stderr] 160 | for ref worker in workers { [INFO] [stderr] | ^^^^^^^^^^ ------- help: try: `let worker = &workers;` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#toplevel_ref_arg [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/main.rs:167:5 [INFO] [stderr] | [INFO] [stderr] 167 | cpu_count = cpu_count + 1; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `cpu_count += 1` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#assign_op_pattern [INFO] [stderr] [INFO] [stderr] warning: The function/method `libc::sched_setaffinity` doesn't need a mutable reference [INFO] [stderr] --> src/main.rs:188:48 [INFO] [stderr] | [INFO] [stderr] 188 | libc::sched_setaffinity(pid, size_cpu_set, &mut cpu_set); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unnecessary_mut_passed)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_mut_passed [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 48.63s [INFO] running `"docker" "inspect" "88e3e7ebf0ff7b48953bd6697b57f5d01f4148c4fc0858e0a4bd2b151cda604c"` [INFO] running `"docker" "rm" "-f" "88e3e7ebf0ff7b48953bd6697b57f5d01f4148c4fc0858e0a4bd2b151cda604c"` [INFO] [stdout] 88e3e7ebf0ff7b48953bd6697b57f5d01f4148c4fc0858e0a4bd2b151cda604c