[INFO] updating cached repository dylanmckay/parapet [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/dylanmckay/parapet [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/dylanmckay/parapet" "work/ex/clippy-test-run/sources/stable/gh/dylanmckay/parapet"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/dylanmckay/parapet'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/dylanmckay/parapet" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/dylanmckay/parapet"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/dylanmckay/parapet'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 1775f74c5ee18b9ed9b9c36f43ebd94e16c5d207 [INFO] sha for GitHub repo dylanmckay/parapet: 1775f74c5ee18b9ed9b9c36f43ebd94e16c5d207 [INFO] validating manifest of dylanmckay/parapet 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 dylanmckay/parapet 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 dylanmckay/parapet [INFO] finished frobbing dylanmckay/parapet [INFO] frobbed toml for dylanmckay/parapet written to work/ex/clippy-test-run/sources/stable/gh/dylanmckay/parapet/Cargo.toml [INFO] started frobbing dylanmckay/parapet [INFO] finished frobbing dylanmckay/parapet [INFO] frobbed toml for dylanmckay/parapet written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/dylanmckay/parapet/Cargo.toml [INFO] crate dylanmckay/parapet has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting dylanmckay/parapet against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-1/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/dylanmckay/parapet:/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] cc71f08217fe895209678572abb51169e9bca928d6bd292e0ca7b48e381aa681 [INFO] running `"docker" "start" "-a" "cc71f08217fe895209678572abb51169e9bca928d6bd292e0ca7b48e381aa681"` [INFO] [stderr] Compiling serde v1.0.66 [INFO] [stderr] Checking graphsearch v0.6.0 [INFO] [stderr] Checking twox-hash v1.1.0 [INFO] [stderr] Checking flate2 v1.0.1 [INFO] [stderr] Checking uuid v0.6.5 [INFO] [stderr] Checking protocol v0.3.4 [INFO] [stderr] Checking parapet v0.1.1 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/parapet.rs:43:13 [INFO] [stderr] | [INFO] [stderr] 43 | poll: poll, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `poll` [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/parapet.rs:34:21 [INFO] [stderr] | [INFO] [stderr] 34 | uuid: uuid, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `uuid` [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/parapet.rs:67:13 [INFO] [stderr] | [INFO] [stderr] 67 | 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: using `println!("")` [INFO] [stderr] --> src/interactive.rs:136:21 [INFO] [stderr] | [INFO] [stderr] 136 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/network/local/node.rs:64:29 [INFO] [stderr] | [INFO] [stderr] 64 | token: token, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `token` [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/network/local/node.rs:188:29 [INFO] [stderr] | [INFO] [stderr] 188 | listener: listener, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `listener` [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/network/local/node.rs:189:29 [INFO] [stderr] | [INFO] [stderr] 189 | network: network, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `network` [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/network/local/pending.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | connection: connection, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `connection` [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/network/local/pending.rs:91:63 [INFO] [stderr] | [INFO] [stderr] 91 | self.state = PendingState::Complete { join_response: join_response }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `join_response` [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/network/remote/pending.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | connection: connection, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `connection` [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/network/remote/pending.rs:65:29 [INFO] [stderr] | [INFO] [stderr] 65 | network: network, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `network` [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/network/remote/pending.rs:73:63 [INFO] [stderr] | [INFO] [stderr] 73 | self.state = PendingState::Complete { join_response: join_response }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `join_response` [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/network/path.rs:22:16 [INFO] [stderr] | [INFO] [stderr] 22 | Path { hops: hops } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `hops` [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/network/network.rs:117:26 [INFO] [stderr] | [INFO] [stderr] 117 | Some(Entry { uuid: uuid, network: self }) [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `uuid` [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/protocol/network.rs:111:35 [INFO] [stderr] | [INFO] [stderr] 111 | network::remote::Status { work: work } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `work` [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/ci/workspace.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | path: path, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `path` [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/ci/project.rs:20:13 [INFO] [stderr] | [INFO] [stderr] 20 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [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/ci/cache.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | directory: directory, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `directory` [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/ci/builder.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | tx: tx, [INFO] [stderr] | ^^^^^^ help: replace it with: `tx` [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/ci/builder.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | rx: rx, [INFO] [stderr] | ^^^^^^ help: replace it with: `rx` [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/ci/builder.rs:47:42 [INFO] [stderr] | [INFO] [stderr] 47 | let pending_work = RunningWork { origin: origin, work: work.clone() }; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `origin` [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/ci/builder.rs:65:25 [INFO] [stderr] | [INFO] [stderr] 65 | output: output, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `output` [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/ci/dispatcher.rs:232:21 [INFO] [stderr] | [INFO] [stderr] 232 | task: task, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `task` [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/ci/dispatcher.rs:252:21 [INFO] [stderr] | [INFO] [stderr] 252 | task: task, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `task` [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/ci/build.rs:58:13 [INFO] [stderr] | [INFO] [stderr] 58 | work: work, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `work` [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/ci/build.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | task: task, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `task` [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/parapet.rs:43:13 [INFO] [stderr] | [INFO] [stderr] 43 | poll: poll, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `poll` [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/parapet.rs:34:21 [INFO] [stderr] | [INFO] [stderr] 34 | uuid: uuid, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `uuid` [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/parapet.rs:67:13 [INFO] [stderr] | [INFO] [stderr] 67 | 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: using `println!("")` [INFO] [stderr] --> src/interactive.rs:136:21 [INFO] [stderr] | [INFO] [stderr] 136 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/network/local/node.rs:64:29 [INFO] [stderr] | [INFO] [stderr] 64 | token: token, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `token` [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/network/local/node.rs:188:29 [INFO] [stderr] | [INFO] [stderr] 188 | listener: listener, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace it with: `listener` [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/network/local/node.rs:189:29 [INFO] [stderr] | [INFO] [stderr] 189 | network: network, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `network` [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/network/local/pending.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | connection: connection, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `connection` [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/network/local/pending.rs:91:63 [INFO] [stderr] | [INFO] [stderr] 91 | self.state = PendingState::Complete { join_response: join_response }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `join_response` [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/network/remote/pending.rs:22:13 [INFO] [stderr] | [INFO] [stderr] 22 | connection: connection, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `connection` [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/network/remote/pending.rs:65:29 [INFO] [stderr] | [INFO] [stderr] 65 | network: network, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: replace it with: `network` [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/network/remote/pending.rs:73:63 [INFO] [stderr] | [INFO] [stderr] 73 | self.state = PendingState::Complete { join_response: join_response }; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `join_response` [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/network/path.rs:22:16 [INFO] [stderr] | [INFO] [stderr] 22 | Path { hops: hops } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `hops` [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/network/network.rs:117:26 [INFO] [stderr] | [INFO] [stderr] 117 | Some(Entry { uuid: uuid, network: self }) [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `uuid` [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/protocol/network.rs:111:35 [INFO] [stderr] | [INFO] [stderr] 111 | network::remote::Status { work: work } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `work` [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/ci/workspace.rs:17:13 [INFO] [stderr] | [INFO] [stderr] 17 | path: path, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `path` [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/ci/project.rs:20:13 [INFO] [stderr] | [INFO] [stderr] 20 | name: name, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `name` [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/ci/cache.rs:50:13 [INFO] [stderr] | [INFO] [stderr] 50 | directory: directory, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `directory` [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/ci/builder.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | tx: tx, [INFO] [stderr] | ^^^^^^ help: replace it with: `tx` [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/ci/builder.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | rx: rx, [INFO] [stderr] | ^^^^^^ help: replace it with: `rx` [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/ci/builder.rs:47:42 [INFO] [stderr] | [INFO] [stderr] 47 | let pending_work = RunningWork { origin: origin, work: work.clone() }; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `origin` [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/ci/builder.rs:65:25 [INFO] [stderr] | [INFO] [stderr] 65 | output: output, [INFO] [stderr] | ^^^^^^^^^^^^^^ help: replace it with: `output` [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/ci/dispatcher.rs:232:21 [INFO] [stderr] | [INFO] [stderr] 232 | task: task, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `task` [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/ci/dispatcher.rs:252:21 [INFO] [stderr] | [INFO] [stderr] 252 | task: task, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `task` [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/ci/build.rs:58:13 [INFO] [stderr] | [INFO] [stderr] 58 | work: work, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `work` [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/ci/build.rs:72:9 [INFO] [stderr] | [INFO] [stderr] 72 | task: task, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `task` [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: module has the same name as its containing module [INFO] [stderr] --> src/network/mod.rs:14:1 [INFO] [stderr] | [INFO] [stderr] 14 | pub mod network; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/ci/sandbox/basic.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | output [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/ci/sandbox/basic.rs:21:22 [INFO] [stderr] | [INFO] [stderr] 21 | let output = build::TaskOutput { [INFO] [stderr] | ______________________^ [INFO] [stderr] 22 | | // FIXME: grab stderr [INFO] [stderr] 23 | | output: output.stdout, [INFO] [stderr] 24 | | result_code: match output.status.code() { [INFO] [stderr] ... | [INFO] [stderr] 27 | | }, [INFO] [stderr] 28 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/lib.rs:26:29 [INFO] [stderr] | [INFO] [stderr] 26 | pub const SERVER_ADDRESS: (&'static str, u16) = ("127.0.0.1", SERVER_PORT); [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/lib.rs:28:25 [INFO] [stderr] | [INFO] [stderr] 28 | pub const CLIENT_NAME: &'static str = "vanilla"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/lib.rs:29:28 [INFO] [stderr] | [INFO] [stderr] 29 | pub const CLIENT_VERSION: &'static str = env!("CARGO_PKG_VERSION"); [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/network/mod.rs:14:1 [INFO] [stderr] | [INFO] [stderr] 14 | pub mod network; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: returning the result of a let binding from a block. Consider returning the expression directly. [INFO] [stderr] --> src/ci/sandbox/basic.rs:30:9 [INFO] [stderr] | [INFO] [stderr] 30 | output [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::let_and_return)] on by default [INFO] [stderr] note: this expression can be directly returned [INFO] [stderr] --> src/ci/sandbox/basic.rs:21:22 [INFO] [stderr] | [INFO] [stderr] 21 | let output = build::TaskOutput { [INFO] [stderr] | ______________________^ [INFO] [stderr] 22 | | // FIXME: grab stderr [INFO] [stderr] 23 | | output: output.stdout, [INFO] [stderr] 24 | | result_code: match output.status.code() { [INFO] [stderr] ... | [INFO] [stderr] 27 | | }, [INFO] [stderr] 28 | | }; [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/lib.rs:26:29 [INFO] [stderr] | [INFO] [stderr] 26 | pub const SERVER_ADDRESS: (&'static str, u16) = ("127.0.0.1", SERVER_PORT); [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::const_static_lifetime)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/lib.rs:28:25 [INFO] [stderr] | [INFO] [stderr] 28 | pub const CLIENT_NAME: &'static str = "vanilla"; [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: Constants have by default a `'static` lifetime [INFO] [stderr] --> src/lib.rs:29:28 [INFO] [stderr] | [INFO] [stderr] 29 | pub const CLIENT_VERSION: &'static str = env!("CARGO_PKG_VERSION"); [INFO] [stderr] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#const_static_lifetime [INFO] [stderr] [INFO] [stderr] warning: field is never used: `running_tasks` [INFO] [stderr] --> src/ci/dispatcher.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | running_tasks: HashMap, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: The function/method `network::local::tcp::bind` doesn't need a mutable reference [INFO] [stderr] --> src/parapet.rs:26:50 [INFO] [stderr] | [INFO] [stderr] 26 | let listener = network::local::tcp::bind(&mut poll, addr)?; [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: large size difference between variants [INFO] [stderr] --> src/network/local/node.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | / Connected { [INFO] [stderr] 22 | | node: local::connected::Node, [INFO] [stderr] 23 | | [INFO] [stderr] 24 | | pending_connections: Slab, [INFO] [stderr] 25 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] --> src/network/local/node.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | / Connected { [INFO] [stderr] 22 | | node: local::connected::Node, [INFO] [stderr] 23 | | [INFO] [stderr] 24 | | pending_connections: Slab, [INFO] [stderr] 25 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/network/local/connected.rs:40:25 [INFO] [stderr] | [INFO] [stderr] 40 | .map(|node| node.uuid.clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `node.uuid` [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: called `filter(p).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(p)` instead. [INFO] [stderr] --> src/network/local/connected.rs:95:29 [INFO] [stderr] | [INFO] [stderr] 95 | let node_uuid = self.network.nodes().filter(|n| n.can_ask_for_work()).next().map(|n| n.uuid.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::filter_next)] on by default [INFO] [stderr] = note: replace `filter(|n| n.can_ask_for_work()).next()` with `find(|n| n.can_ask_for_work())` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/network/local/connected.rs:95:98 [INFO] [stderr] | [INFO] [stderr] 95 | let node_uuid = self.network.nodes().filter(|n| n.can_ask_for_work()).next().map(|n| n.uuid.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `n.uuid` [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/network/remote/pending.rs:64:38 [INFO] [stderr] | [INFO] [stderr] 64 | my_uuid: connected_node.uuid.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `connected_node.uuid` [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: passing a unit value to a function [INFO] [stderr] --> src/network/connection.rs:18:12 [INFO] [stderr] | [INFO] [stderr] 18 | Ok(self.protocol.process_incoming_data()?) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unit_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 18 | Ok(()) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: called `skip(x).next()` on an iterator. This is more succinctly expressed by calling `nth(x)` [INFO] [stderr] --> src/network/path.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | self.hops.iter().rev().skip_while(|node| node != &from).skip(1).next().cloned() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::iter_skip_next)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_skip_next [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/network/network.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | self.network.nodes.get(&self.uuid).unwrap() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.network.nodes[&self.uuid]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [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/network/network.rs:69:9 [INFO] [stderr] | [INFO] [stderr] 69 | vec![&self.a, &self.b].into_iter().filter(|a| a != &uuid).next() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: replace `filter(|a| a != &uuid).next()` with `find(|a| a != &uuid)` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/network/network.rs:94:27 [INFO] [stderr] | [INFO] [stderr] 94 | self.nodes.insert(node.uuid.clone(), node); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `node.uuid` [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/network/network.rs:114:122 [INFO] [stderr] | [INFO] [stderr] 114 | let uuid = self.nodes.values().find(|node| node.connection.as_ref().map_or(false, |c| c.token == token)).map(|n| n.uuid.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `n.uuid` [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/network/network.rs:123:5 [INFO] [stderr] | [INFO] [stderr] 123 | / pub fn nodes<'a>(&'a self) -> impl Iterator { [INFO] [stderr] 124 | | self.nodes.values() [INFO] [stderr] 125 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/network/network.rs:128:30 [INFO] [stderr] | [INFO] [stderr] 128 | let edge = Edge::new(a.clone(), b.clone()); [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*a` [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/network/network.rs:128:41 [INFO] [stderr] | [INFO] [stderr] 128 | let edge = Edge::new(a.clone(), b.clone()); [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*b` [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/network/network.rs:156:26 [INFO] [stderr] | [INFO] [stderr] 156 | content: node.uuid.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `node.uuid` [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: you should consider adding a `Default` implementation for `network::notify::Notify` [INFO] [stderr] --> src/network/notify.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | / pub fn new() -> Self { [INFO] [stderr] 32 | | Notify { [INFO] [stderr] 33 | | work: Work::Unavailable, [INFO] [stderr] 34 | | } [INFO] [stderr] 35 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 29 | impl Default for network::notify::Notify { [INFO] [stderr] 30 | fn default() -> Self { [INFO] [stderr] 31 | Self::new() [INFO] [stderr] 32 | } [INFO] [stderr] 33 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/protocol/network.rs:40:19 [INFO] [stderr] | [INFO] [stderr] 40 | uuid: node.uuid.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `node.uuid` [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/protocol/network.rs:53:16 [INFO] [stderr] | [INFO] [stderr] 53 | a: edge.a.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `edge.a` [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/protocol/network.rs:54:16 [INFO] [stderr] | [INFO] [stderr] 54 | b: edge.b.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `edge.b` [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/protocol/network.rs:72:52 [INFO] [stderr] | [INFO] [stderr] 72 | nodes: self.nodes.into_iter().map(|n| (n.uuid.clone(), n.into())).collect(), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `n.uuid` [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/protocol/ci.rs:57:23 [INFO] [stderr] | [INFO] [stderr] 57 | uuid: work.uuid.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `work.uuid` [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/protocol/ci.rs:68:19 [INFO] [stderr] | [INFO] [stderr] 68 | uuid: task.uuid.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `task.uuid` [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/protocol/mod.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | self.path.head().unwrap().clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.path.head().unwrap()` [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/protocol/mod.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | self.path.tail().unwrap().clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.path.tail().unwrap()` [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: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/ci/sandbox/basic.rs:25:31 [INFO] [stderr] | [INFO] [stderr] 25 | Some(code) => code as _, [INFO] [stderr] | ^^^^^^^^^ help: try: `i64::from(code)` [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] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/ci/cache.rs:80:9 [INFO] [stderr] | [INFO] [stderr] 80 | fs.write(data)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `ci::builder::Builder` [INFO] [stderr] --> src/ci/builder.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | / pub fn new() -> Self { [INFO] [stderr] 34 | | let (tx, rx) = mpsc::channel(); [INFO] [stderr] 35 | | [INFO] [stderr] 36 | | Builder { [INFO] [stderr] ... | [INFO] [stderr] 41 | | } [INFO] [stderr] 42 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 31 | impl Default for ci::builder::Builder { [INFO] [stderr] 32 | fn default() -> Self { [INFO] [stderr] 33 | Self::new() [INFO] [stderr] 34 | } [INFO] [stderr] 35 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/ci/builder.rs:56:9 [INFO] [stderr] | [INFO] [stderr] 56 | / loop { [INFO] [stderr] 57 | | match self.rx.try_recv() { [INFO] [stderr] 58 | | Ok(output) => { [INFO] [stderr] 59 | | let pending_work = self.running_work.remove(&output.work.uuid).unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 69 | | } [INFO] [stderr] 70 | | } [INFO] [stderr] | |_________^ help: try: `while let Ok(output) = self.rx.try_recv() { .. }` [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: you should consider deriving a `Default` implementation for `ci::dispatcher::Dispatcher` [INFO] [stderr] --> src/ci/dispatcher.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | / pub fn new() -> Self { [INFO] [stderr] 44 | | Dispatcher { [INFO] [stderr] 45 | | pending_jobs: VecDeque::new(), [INFO] [stderr] 46 | | running_jobs: VecDeque::new(), [INFO] [stderr] 47 | | completed_jobs: VecDeque::new(), [INFO] [stderr] 48 | | } [INFO] [stderr] 49 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 7 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/ci/dispatcher.rs:84:23 [INFO] [stderr] | [INFO] [stderr] 84 | uuid: work.uuid.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `work.uuid` [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/ci/dispatcher.rs:85:59 [INFO] [stderr] | [INFO] [stderr] 85 | running_tasks: work.tasks.iter().map(|t| (t.uuid.clone(), t.clone())).collect(), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `t.uuid` [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/ci/dispatcher.rs:89:45 [INFO] [stderr] | [INFO] [stderr] 89 | running_job.running_work.insert(running_work.uuid.clone(), running_work); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `running_work.uuid` [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: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/ci/build.rs:66:34 [INFO] [stderr] | [INFO] [stderr] 66 | pub fn task(task: Task, sandbox: &mut Box) -> TaskResult [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `&mut Sandbox` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::borrowed_box)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `parapet`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: field is never used: `running_tasks` [INFO] [stderr] --> src/ci/dispatcher.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | running_tasks: HashMap, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: The function/method `network::local::tcp::bind` doesn't need a mutable reference [INFO] [stderr] --> src/parapet.rs:26:50 [INFO] [stderr] | [INFO] [stderr] 26 | let listener = network::local::tcp::bind(&mut poll, addr)?; [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: large size difference between variants [INFO] [stderr] --> src/network/local/node.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | / Connected { [INFO] [stderr] 22 | | node: local::connected::Node, [INFO] [stderr] 23 | | [INFO] [stderr] 24 | | pending_connections: Slab, [INFO] [stderr] 25 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::large_enum_variant)] on by default [INFO] [stderr] help: consider boxing the large fields to reduce the total size of the enum [INFO] [stderr] --> src/network/local/node.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | / Connected { [INFO] [stderr] 22 | | node: local::connected::Node, [INFO] [stderr] 23 | | [INFO] [stderr] 24 | | pending_connections: Slab, [INFO] [stderr] 25 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/network/local/connected.rs:40:25 [INFO] [stderr] | [INFO] [stderr] 40 | .map(|node| node.uuid.clone()) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `node.uuid` [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: called `filter(p).next()` on an `Iterator`. This is more succinctly expressed by calling `.find(p)` instead. [INFO] [stderr] --> src/network/local/connected.rs:95:29 [INFO] [stderr] | [INFO] [stderr] 95 | let node_uuid = self.network.nodes().filter(|n| n.can_ask_for_work()).next().map(|n| n.uuid.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::filter_next)] on by default [INFO] [stderr] = note: replace `filter(|n| n.can_ask_for_work()).next()` with `find(|n| n.can_ask_for_work())` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/network/local/connected.rs:95:98 [INFO] [stderr] | [INFO] [stderr] 95 | let node_uuid = self.network.nodes().filter(|n| n.can_ask_for_work()).next().map(|n| n.uuid.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `n.uuid` [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/network/remote/pending.rs:64:38 [INFO] [stderr] | [INFO] [stderr] 64 | my_uuid: connected_node.uuid.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `connected_node.uuid` [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: passing a unit value to a function [INFO] [stderr] --> src/network/connection.rs:18:12 [INFO] [stderr] | [INFO] [stderr] 18 | Ok(self.protocol.process_incoming_data()?) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unit_arg)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unit_arg [INFO] [stderr] help: if you intended to pass a unit value, use a unit literal instead [INFO] [stderr] | [INFO] [stderr] 18 | Ok(()) [INFO] [stderr] | ^^ [INFO] [stderr] [INFO] [stderr] warning: called `skip(x).next()` on an iterator. This is more succinctly expressed by calling `nth(x)` [INFO] [stderr] --> src/network/path.rs:48:9 [INFO] [stderr] | [INFO] [stderr] 48 | self.hops.iter().rev().skip_while(|node| node != &from).skip(1).next().cloned() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::iter_skip_next)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#iter_skip_next [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/network/path.rs:78:31 [INFO] [stderr] | [INFO] [stderr] 78 | path_queue.push_front(node1.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `node1` [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/network/path.rs:79:31 [INFO] [stderr] | [INFO] [stderr] 79 | path_queue.push_front(node2.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `node2` [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/network/path.rs:80:31 [INFO] [stderr] | [INFO] [stderr] 80 | path_queue.push_front(node3.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^ help: try removing the `clone` call: `node3` [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 `.get().unwrap()` on a HashMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/network/network.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | self.network.nodes.get(&self.uuid).unwrap() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.network.nodes[&self.uuid]` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::get_unwrap)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#get_unwrap [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/network/network.rs:69:9 [INFO] [stderr] | [INFO] [stderr] 69 | vec![&self.a, &self.b].into_iter().filter(|a| a != &uuid).next() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: replace `filter(|a| a != &uuid).next()` with `find(|a| a != &uuid)` [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#filter_next [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/network/network.rs:94:27 [INFO] [stderr] | [INFO] [stderr] 94 | self.nodes.insert(node.uuid.clone(), node); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `node.uuid` [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/network/network.rs:114:122 [INFO] [stderr] | [INFO] [stderr] 114 | let uuid = self.nodes.values().find(|node| node.connection.as_ref().map_or(false, |c| c.token == token)).map(|n| n.uuid.clone()); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `n.uuid` [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: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/network/network.rs:123:5 [INFO] [stderr] | [INFO] [stderr] 123 | / pub fn nodes<'a>(&'a self) -> impl Iterator { [INFO] [stderr] 124 | | self.nodes.values() [INFO] [stderr] 125 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/network/network.rs:128:30 [INFO] [stderr] | [INFO] [stderr] 128 | let edge = Edge::new(a.clone(), b.clone()); [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*a` [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/network/network.rs:128:41 [INFO] [stderr] | [INFO] [stderr] 128 | let edge = Edge::new(a.clone(), b.clone()); [INFO] [stderr] | ^^^^^^^^^ help: try dereferencing it: `*b` [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/network/network.rs:156:26 [INFO] [stderr] | [INFO] [stderr] 156 | content: node.uuid.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `node.uuid` [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: you should consider adding a `Default` implementation for `network::notify::Notify` [INFO] [stderr] --> src/network/notify.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | / pub fn new() -> Self { [INFO] [stderr] 32 | | Notify { [INFO] [stderr] 33 | | work: Work::Unavailable, [INFO] [stderr] 34 | | } [INFO] [stderr] 35 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 29 | impl Default for network::notify::Notify { [INFO] [stderr] 30 | fn default() -> Self { [INFO] [stderr] 31 | Self::new() [INFO] [stderr] 32 | } [INFO] [stderr] 33 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/protocol/network.rs:40:19 [INFO] [stderr] | [INFO] [stderr] 40 | uuid: node.uuid.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `node.uuid` [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/protocol/network.rs:53:16 [INFO] [stderr] | [INFO] [stderr] 53 | a: edge.a.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `edge.a` [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/protocol/network.rs:54:16 [INFO] [stderr] | [INFO] [stderr] 54 | b: edge.b.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `edge.b` [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/protocol/network.rs:72:52 [INFO] [stderr] | [INFO] [stderr] 72 | nodes: self.nodes.into_iter().map(|n| (n.uuid.clone(), n.into())).collect(), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `n.uuid` [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/protocol/ci.rs:57:23 [INFO] [stderr] | [INFO] [stderr] 57 | uuid: work.uuid.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `work.uuid` [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/protocol/ci.rs:68:19 [INFO] [stderr] | [INFO] [stderr] 68 | uuid: task.uuid.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `task.uuid` [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/protocol/mod.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | self.path.head().unwrap().clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.path.head().unwrap()` [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/protocol/mod.rs:65:9 [INFO] [stderr] | [INFO] [stderr] 65 | self.path.tail().unwrap().clone() [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try dereferencing it: `*self.path.tail().unwrap()` [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: casting i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/ci/sandbox/basic.rs:25:31 [INFO] [stderr] | [INFO] [stderr] 25 | Some(code) => code as _, [INFO] [stderr] | ^^^^^^^^^ help: try: `i64::from(code)` [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] error: handle written amount returned or use `Write::write_all` instead [INFO] [stderr] --> src/ci/cache.rs:80:9 [INFO] [stderr] | [INFO] [stderr] 80 | fs.write(data)?; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::unused_io_amount)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unused_io_amount [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `ci::builder::Builder` [INFO] [stderr] --> src/ci/builder.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | / pub fn new() -> Self { [INFO] [stderr] 34 | | let (tx, rx) = mpsc::channel(); [INFO] [stderr] 35 | | [INFO] [stderr] 36 | | Builder { [INFO] [stderr] ... | [INFO] [stderr] 41 | | } [INFO] [stderr] 42 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 31 | impl Default for ci::builder::Builder { [INFO] [stderr] 32 | fn default() -> Self { [INFO] [stderr] 33 | Self::new() [INFO] [stderr] 34 | } [INFO] [stderr] 35 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this loop could be written as a `while let` loop [INFO] [stderr] --> src/ci/builder.rs:56:9 [INFO] [stderr] | [INFO] [stderr] 56 | / loop { [INFO] [stderr] 57 | | match self.rx.try_recv() { [INFO] [stderr] 58 | | Ok(output) => { [INFO] [stderr] 59 | | let pending_work = self.running_work.remove(&output.work.uuid).unwrap(); [INFO] [stderr] ... | [INFO] [stderr] 69 | | } [INFO] [stderr] 70 | | } [INFO] [stderr] | |_________^ help: try: `while let Ok(output) = self.rx.try_recv() { .. }` [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: you should consider deriving a `Default` implementation for `ci::dispatcher::Dispatcher` [INFO] [stderr] --> src/ci/dispatcher.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | / pub fn new() -> Self { [INFO] [stderr] 44 | | Dispatcher { [INFO] [stderr] 45 | | pending_jobs: VecDeque::new(), [INFO] [stderr] 46 | | running_jobs: VecDeque::new(), [INFO] [stderr] 47 | | completed_jobs: VecDeque::new(), [INFO] [stderr] 48 | | } [INFO] [stderr] 49 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 7 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: using `clone` on a `Copy` type [INFO] [stderr] --> src/ci/dispatcher.rs:84:23 [INFO] [stderr] | [INFO] [stderr] 84 | uuid: work.uuid.clone(), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `work.uuid` [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/ci/dispatcher.rs:85:59 [INFO] [stderr] | [INFO] [stderr] 85 | running_tasks: work.tasks.iter().map(|t| (t.uuid.clone(), t.clone())).collect(), [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `t.uuid` [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/ci/dispatcher.rs:89:45 [INFO] [stderr] | [INFO] [stderr] 89 | running_job.running_work.insert(running_work.uuid.clone(), running_work); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try removing the `clone` call: `running_work.uuid` [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: you seem to be trying to use `&Box`. Consider using just `&T` [INFO] [stderr] --> src/ci/build.rs:66:34 [INFO] [stderr] | [INFO] [stderr] 66 | pub fn task(task: Task, sandbox: &mut Box) -> TaskResult [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `&mut Sandbox` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::borrowed_box)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#borrowed_box [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `parapet`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "cc71f08217fe895209678572abb51169e9bca928d6bd292e0ca7b48e381aa681"` [INFO] running `"docker" "rm" "-f" "cc71f08217fe895209678572abb51169e9bca928d6bd292e0ca7b48e381aa681"` [INFO] [stdout] cc71f08217fe895209678572abb51169e9bca928d6bd292e0ca7b48e381aa681