[INFO] cloning repository https://github.com/xero-lib/RSChess [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/xero-lib/RSChess" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxero-lib%2FRSChess", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxero-lib%2FRSChess'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 3b85aa588452258f7c369d24312e6249579d34ca [INFO] linting xero-lib/RSChess against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxero-lib%2FRSChess" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/xero-lib/RSChess [INFO] finished tweaking git repo https://github.com/xero-lib/RSChess [INFO] tweaked toml for git repo https://github.com/xero-lib/RSChess written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/xero-lib/RSChess on toolchain nightly [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/xero-lib/RSChess already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded phf_macros v0.11.2 [INFO] [stderr] Downloaded phf_generator v0.11.2 [INFO] [stderr] Downloaded phf v0.11.2 [INFO] [stderr] Downloaded phf_shared v0.11.2 [INFO] [stderr] Downloaded proc-macro2 v1.0.69 [INFO] [stderr] Downloaded quote v1.0.33 [INFO] [stderr] Downloaded syn v2.0.38 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 16b5e296621a324d730e2d1cdd03347f0b65080962bfac4a615a502a9ee48290 [INFO] running `Command { std: "docker" "start" "-a" "16b5e296621a324d730e2d1cdd03347f0b65080962bfac4a615a502a9ee48290", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "16b5e296621a324d730e2d1cdd03347f0b65080962bfac4a615a502a9ee48290", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "16b5e296621a324d730e2d1cdd03347f0b65080962bfac4a615a502a9ee48290", kill_on_drop: false }` [INFO] [stdout] 16b5e296621a324d730e2d1cdd03347f0b65080962bfac4a615a502a9ee48290 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "clippy" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7b7f52e06f85439b62d24644f5e624692ad5054229cd8e8435bdcc0f18132e4c [INFO] running `Command { std: "docker" "start" "-a" "7b7f52e06f85439b62d24644f5e624692ad5054229cd8e8435bdcc0f18132e4c", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.69 [INFO] [stderr] Compiling siphasher v0.3.11 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Checking phf_shared v0.11.2 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling quote v1.0.33 [INFO] [stderr] Compiling syn v2.0.38 [INFO] [stderr] Compiling phf_generator v0.11.2 [INFO] [stderr] Compiling phf_macros v0.11.2 [INFO] [stderr] Checking phf v0.11.2 [INFO] [stderr] Checking rschess v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: operator precedence might not be obvious [INFO] [stdout] --> src/board.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | (c as u8 - b'A' << 4) + r.to_digit(10).expect("Invalid coord string") as u8 - 1 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(c as u8 - b'A') << 4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stdout] = note: `#[warn(clippy::precedence)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: operator precedence might not be obvious [INFO] [stdout] --> src/board.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | (c as u8 - b'A' << 4) + r.to_digit(10).expect("Invalid coord string") as u8 - 1 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(c as u8 - b'A') << 4` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stdout] = note: `#[warn(clippy::precedence)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pieces.rs:359:9 [INFO] [stdout] | [INFO] [stdout] 359 | return offsets.into_iter().map(|(x, y)| (((px as i8 + x) as u8) << 4) + ((py as i8 + y) as u8)).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 359 - return offsets.into_iter().map(|(x, y)| (((px as i8 + x) as u8) << 4) + ((py as i8 + y) as u8)).collect(); [INFO] [stdout] 359 + offsets.into_iter().map(|(x, y)| (((px as i8 + x) as u8) << 4) + ((py as i8 + y) as u8)).collect() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pieces.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 63 | ... return !board.get_index((px as i8 + x) as u8, (py as i8 + y) as u8).get_piece().is_some_and(|piece| piece.color == self.color); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 63 - return !board.get_index((px as i8 + x) as u8, (py as i8 + y) as u8).get_piece().is_some_and(|piece| piece.color == self.color); [INFO] [stdout] 63 + !board.get_index((px as i8 + x) as u8, (py as i8 + y) as u8).get_piece().is_some_and(|piece| piece.color == self.color) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pieces.rs:72:17 [INFO] [stdout] | [INFO] [stdout] 72 | return board.get_index((px as i8 + x) as u8, (py as i8 + y) as u8).get_piece().is_some_and(|p| p.color != self.color); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 72 - return board.get_index((px as i8 + x) as u8, (py as i8 + y) as u8).get_piece().is_some_and(|p| p.color != self.color); [INFO] [stdout] 72 + board.get_index((px as i8 + x) as u8, (py as i8 + y) as u8).get_piece().is_some_and(|p| p.color != self.color) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pieces.rs:94:17 [INFO] [stdout] | [INFO] [stdout] 94 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 94 - return true; [INFO] [stdout] 94 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pieces.rs:107:17 [INFO] [stdout] | [INFO] [stdout] 107 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 107 - return true; [INFO] [stdout] 107 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pieces.rs:128:17 [INFO] [stdout] | [INFO] [stdout] 128 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 128 - return true; [INFO] [stdout] 128 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pieces.rs:359:9 [INFO] [stdout] | [INFO] [stdout] 359 | return offsets.into_iter().map(|(x, y)| (((px as i8 + x) as u8) << 4) + ((py as i8 + y) as u8)).collect(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] = note: `#[warn(clippy::needless_return)]` on by default [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 359 - return offsets.into_iter().map(|(x, y)| (((px as i8 + x) as u8) << 4) + ((py as i8 + y) as u8)).collect(); [INFO] [stdout] 359 + offsets.into_iter().map(|(x, y)| (((px as i8 + x) as u8) << 4) + ((py as i8 + y) as u8)).collect() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/pieces.rs:133:48 [INFO] [stdout] | [INFO] [stdout] 133 | offsets.retain(|(x, y)| *x != 0 || !board.get_index((px as i8 + x) as u8, (py as i8 + y) as u8).get_piece().is_some()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `board.get_index((px as i8 + x) as u8, (py as i8 + y) as u8).get_piece().is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pieces.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 63 | ... return !board.get_index((px as i8 + x) as u8, (py as i8 + y) as u8).get_piece().is_some_and(|piece| piece.color == self.color); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 63 - return !board.get_index((px as i8 + x) as u8, (py as i8 + y) as u8).get_piece().is_some_and(|piece| piece.color == self.color); [INFO] [stdout] 63 + !board.get_index((px as i8 + x) as u8, (py as i8 + y) as u8).get_piece().is_some_and(|piece| piece.color == self.color) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pieces.rs:356:13 [INFO] [stdout] | [INFO] [stdout] 356 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 356 - return true; [INFO] [stdout] 356 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pieces.rs:72:17 [INFO] [stdout] | [INFO] [stdout] 72 | return board.get_index((px as i8 + x) as u8, (py as i8 + y) as u8).get_piece().is_some_and(|p| p.color != self.color); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 72 - return board.get_index((px as i8 + x) as u8, (py as i8 + y) as u8).get_piece().is_some_and(|p| p.color != self.color); [INFO] [stdout] 72 + board.get_index((px as i8 + x) as u8, (py as i8 + y) as u8).get_piece().is_some_and(|p| p.color != self.color) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pieces.rs:94:17 [INFO] [stdout] | [INFO] [stdout] 94 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 94 - return true; [INFO] [stdout] 94 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pieces.rs:107:17 [INFO] [stdout] | [INFO] [stdout] 107 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 107 - return true; [INFO] [stdout] 107 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pieces.rs:128:17 [INFO] [stdout] | [INFO] [stdout] 128 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 128 - return true; [INFO] [stdout] 128 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/pieces.rs:133:48 [INFO] [stdout] | [INFO] [stdout] 133 | offsets.retain(|(x, y)| *x != 0 || !board.get_index((px as i8 + x) as u8, (py as i8 + y) as u8).get_piece().is_some()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `board.get_index((px as i8 + x) as u8, (py as i8 + y) as u8).get_piece().is_none()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] = note: `#[warn(clippy::nonminimal_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pieces.rs:356:13 [INFO] [stdout] | [INFO] [stdout] 356 | return true; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 356 - return true; [INFO] [stdout] 356 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Board` which implements the `Copy` trait [INFO] [stdout] --> src/pieces.rs:138:39 [INFO] [stdout] | [INFO] [stdout] 138 | let mut ephemeral_board = board.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*board` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Board` which implements the `Copy` trait [INFO] [stdout] --> src/pieces.rs:138:39 [INFO] [stdout] | [INFO] [stdout] 138 | let mut ephemeral_board = board.clone(); [INFO] [stdout] | ^^^^^^^^^^^^^ help: try dereferencing it: `*board` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] = note: `#[warn(clippy::clone_on_copy)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/board.rs:46:14 [INFO] [stdout] | [INFO] [stdout] 46 | ((x as u8) << 4) + y as u8, [INFO] [stdout] | ^^^^^^^^^ help: try: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/board.rs:46:32 [INFO] [stdout] | [INFO] [stdout] 46 | ((x as u8) << 4) + y as u8, [INFO] [stdout] | ^^^^^^^ help: try: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/board.rs:61:26 [INFO] [stdout] | [INFO] [stdout] 61 | format!("{}{}", ((self.0 >> 4) as u8 + b'A') as char, (self.0 & 0x0F) + 1) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try: `((self.0 >> 4))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | / return if (((self.0 & 0xF0) >> 4) ^ (self.0 & 0x0F)) & 1 == 0 { [INFO] [stdout] 66 | | Black [INFO] [stdout] 67 | | } else { [INFO] [stdout] 68 | | White [INFO] [stdout] 69 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 65 ~ if (((self.0 & 0xF0) >> 4) ^ (self.0 & 0x0F)) & 1 == 0 { [INFO] [stdout] 66 + Black [INFO] [stdout] 67 + } else { [INFO] [stdout] 68 + White [INFO] [stdout] 69 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option` which implements the `Copy` trait [INFO] [stdout] --> src/board.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | self.1.clone() [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:243:9 [INFO] [stdout] | [INFO] [stdout] 243 | return Err("Illegal move") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 243 - return Err("Illegal move") [INFO] [stdout] 243 + Err("Illegal move") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/board.rs:229:47 [INFO] [stdout] | [INFO] [stdout] 229 | if piece.get_moves(&mut self.clone(), &self.get_index(start_x, start_y)).contains(&Square::string_to_u8(end)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `self.get_index(start_x, start_y)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/board.rs:46:14 [INFO] [stdout] | [INFO] [stdout] 46 | ((x as u8) << 4) + y as u8, [INFO] [stdout] | ^^^^^^^^^ help: try: `x` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] = note: `#[warn(clippy::unnecessary_cast)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/board.rs:297:13 [INFO] [stdout] | [INFO] [stdout] 297 | write!(f, "║\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] = note: `#[warn(clippy::write_with_newline)]` on by default [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 297 - write!(f, "║\n")?; [INFO] [stdout] 297 + writeln!(f, "║")?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/board.rs:46:32 [INFO] [stdout] | [INFO] [stdout] 46 | ((x as u8) << 4) + y as u8, [INFO] [stdout] | ^^^^^^^ help: try: `y` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u8` -> `u8`) [INFO] [stdout] --> src/board.rs:61:26 [INFO] [stdout] | [INFO] [stdout] 61 | format!("{}{}", ((self.0 >> 4) as u8 + b'A') as char, (self.0 & 0x0F) + 1) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: try: `((self.0 >> 4))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | / return if (((self.0 & 0xF0) >> 4) ^ (self.0 & 0x0F)) & 1 == 0 { [INFO] [stdout] 66 | | Black [INFO] [stdout] 67 | | } else { [INFO] [stdout] 68 | | White [INFO] [stdout] 69 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 65 ~ if (((self.0 & 0xF0) >> 4) ^ (self.0 & 0x0F)) & 1 == 0 { [INFO] [stdout] 66 + Black [INFO] [stdout] 67 + } else { [INFO] [stdout] 68 + White [INFO] [stdout] 69 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `clone` on type `Option` which implements the `Copy` trait [INFO] [stdout] --> src/board.rs:73:9 [INFO] [stdout] | [INFO] [stdout] 73 | self.1.clone() [INFO] [stdout] | ^^^^^^^^^^^^^^ help: try removing the `clone` call: `self.1` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/board.rs:243:9 [INFO] [stdout] | [INFO] [stdout] 243 | return Err("Illegal move") [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stdout] help: remove `return` [INFO] [stdout] | [INFO] [stdout] 243 - return Err("Illegal move") [INFO] [stdout] 243 + Err("Illegal move") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/board.rs:229:47 [INFO] [stdout] | [INFO] [stdout] 229 | if piece.get_moves(&mut self.clone(), &self.get_index(start_x, start_y)).contains(&Square::string_to_u8(end)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: change this to: `self.get_index(start_x, start_y)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] = note: `#[warn(clippy::needless_borrow)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `write!()` with a format string that ends in a single newline [INFO] [stdout] --> src/board.rs:297:13 [INFO] [stdout] | [INFO] [stdout] 297 | write!(f, "║\n")?; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stdout] = note: `#[warn(clippy::write_with_newline)]` on by default [INFO] [stdout] help: use `writeln!` instead [INFO] [stdout] | [INFO] [stdout] 297 - write!(f, "║\n")?; [INFO] [stdout] 297 + writeln!(f, "║")?; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.42s [INFO] running `Command { std: "docker" "inspect" "7b7f52e06f85439b62d24644f5e624692ad5054229cd8e8435bdcc0f18132e4c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7b7f52e06f85439b62d24644f5e624692ad5054229cd8e8435bdcc0f18132e4c", kill_on_drop: false }` [INFO] [stdout] 7b7f52e06f85439b62d24644f5e624692ad5054229cd8e8435bdcc0f18132e4c