[INFO] cloning repository https://github.com/csimo005/martian_chess [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/csimo005/martian_chess" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcsimo005%2Fmartian_chess", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcsimo005%2Fmartian_chess'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 16b9ee9798b900acea79f71abb4100cf608f7d52 [INFO] linting csimo005/martian_chess against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcsimo005%2Fmartian_chess" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/csimo005/martian_chess [INFO] finished tweaking git repo https://github.com/csimo005/martian_chess [INFO] tweaked toml for git repo https://github.com/csimo005/martian_chess written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/csimo005/martian_chess 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/csimo005/martian_chess 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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] a64e611ffff7f8fada6f35cdb16a3954352391ee846c3ab8eaeeeff12b28d79b [INFO] running `Command { std: "docker" "start" "-a" "a64e611ffff7f8fada6f35cdb16a3954352391ee846c3ab8eaeeeff12b28d79b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a64e611ffff7f8fada6f35cdb16a3954352391ee846c3ab8eaeeeff12b28d79b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a64e611ffff7f8fada6f35cdb16a3954352391ee846c3ab8eaeeeff12b28d79b", kill_on_drop: false }` [INFO] [stdout] a64e611ffff7f8fada6f35cdb16a3954352391ee846c3ab8eaeeeff12b28d79b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 606ce2975e5e22fe7340f425888c1cf7908dd53ef649b6c932b4ad4544159bed [INFO] running `Command { std: "docker" "start" "-a" "606ce2975e5e22fe7340f425888c1cf7908dd53ef649b6c932b4ad4544159bed", kill_on_drop: false }` [INFO] [stderr] Checking regex-syntax v0.8.5 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking martian_chess v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:18:18 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn build(mut args: impl Iterator) -> Result { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/lib.rs:18:18 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn build(mut args: impl Iterator) -> Result { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `config` [INFO] [stdout] --> src/lib.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 45 | fn new(config: Config) -> Self { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pieces.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | return Ok(()); [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] 44 - return Ok(()); [INFO] [stdout] 44 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | return game; [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] 75 - return game; [INFO] [stdout] 75 + game [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | return 0_u32; [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] 81 - return 0_u32; [INFO] [stdout] 81 + 0_u32 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:83:13 [INFO] [stdout] | [INFO] [stdout] 83 | return 1_u32; [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] 83 - return 1_u32; [INFO] [stdout] 83 + 1_u32 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:122:34 [INFO] [stdout] | [INFO] [stdout] 122 | if self.clock > 0 && !self.board.get_piece(m.dst).is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.board.get_piece(m.dst).is_some()` [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/lib.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | return Ok(()); [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] 148 - return Ok(()); [INFO] [stdout] 148 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/lib.rs:119:30 [INFO] [stdout] | [INFO] [stdout] 119 | self.collision_check(&m)?; [INFO] [stdout] | ^^ help: change this to: `m` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/lib.rs:126:16 [INFO] [stdout] | [INFO] [stdout] 126 | if self.turn % 2 == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace with: `self.turn.is_multiple_of(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/lib.rs:140:50 [INFO] [stdout] | [INFO] [stdout] 140 | let new_piece = self.can_promote(&m)?; [INFO] [stdout] | ^^ help: change this to: `m` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:161:16 [INFO] [stdout] | [INFO] [stdout] 161 | if !self.board.get_piece(n).is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.board.get_piece(n).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:169:9 [INFO] [stdout] | [INFO] [stdout] 169 | return Ok(()); [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] 169 - return Ok(()); [INFO] [stdout] 169 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:219:9 [INFO] [stdout] | [INFO] [stdout] 219 | return Ok(new_piece); [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] 219 - return Ok(new_piece); [INFO] [stdout] 219 + Ok(new_piece) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/lib.rs:197:12 [INFO] [stdout] | [INFO] [stdout] 197 | if self.turn % 2 == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace with: `self.turn.is_multiple_of(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:254:9 [INFO] [stdout] | [INFO] [stdout] 254 | 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] 254 - return true; [INFO] [stdout] 254 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/lib.rs:225:13 [INFO] [stdout] | [INFO] [stdout] 225 | / match self.board.data[i] { [INFO] [stdout] 226 | | Some(_) => t1 += 1, [INFO] [stdout] 227 | | None => (), [INFO] [stdout] 228 | | } [INFO] [stdout] | |_____________^ help: try: `if let Some(_) = self.board.data[i] { t1 += 1 }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/lib.rs:233:13 [INFO] [stdout] | [INFO] [stdout] 233 | / match self.board.data[i] { [INFO] [stdout] 234 | | Some(_) => t2 += 1, [INFO] [stdout] 235 | | None => (), [INFO] [stdout] 236 | | } [INFO] [stdout] | |_____________^ help: try: `if let Some(_) = self.board.data[i] { t2 += 1 }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/lib.rs:277:17 [INFO] [stdout] | [INFO] [stdout] 277 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] = note: `#[warn(clippy::println_empty_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/lib.rs:304:9 [INFO] [stdout] | [INFO] [stdout] 304 | / match re.captures(&input) { [INFO] [stdout] 305 | | Some(caps) => Some(Move { [INFO] [stdout] 306 | | src: Position { [INFO] [stdout] 307 | | row: caps[2].parse::().unwrap() - 1, [INFO] [stdout] ... | [INFO] [stdout] 317 | | None => None, [INFO] [stdout] 318 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 304 ~ re.captures(&input).map(|caps| Move { [INFO] [stdout] 305 + src: Position { [INFO] [stdout] 306 + row: caps[2].parse::().unwrap() - 1, [INFO] [stdout] 307 + col: ((u32::from(caps[1].chars().nth(0).unwrap()) | 32) - u32::from('a')) [INFO] [stdout] 308 + as usize, [INFO] [stdout] 309 + }, [INFO] [stdout] 310 + dst: Position { [INFO] [stdout] 311 + row: caps[4].parse::().unwrap() - 1, [INFO] [stdout] 312 + col: ((u32::from(caps[3].chars().nth(0).unwrap()) | 32) - u32::from('a')) [INFO] [stdout] 313 + as usize, [INFO] [stdout] 314 + }, [INFO] [stdout] 315 + }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/lib.rs:333:17 [INFO] [stdout] | [INFO] [stdout] 333 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/lib.rs:344:16 [INFO] [stdout] | [INFO] [stdout] 344 | if self.turn % 2 == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace with: `self.turn.is_multiple_of(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:18:18 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn build(mut args: impl Iterator) -> Result { [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `args` [INFO] [stdout] --> src/lib.rs:18:18 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn build(mut args: impl Iterator) -> Result { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_args` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `config` [INFO] [stdout] --> src/lib.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 45 | fn new(config: Config) -> Self { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/pieces.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | return Ok(()); [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] 44 - return Ok(()); [INFO] [stdout] 44 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | return game; [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] 75 - return game; [INFO] [stdout] 75 + game [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:81:13 [INFO] [stdout] | [INFO] [stdout] 81 | return 0_u32; [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] 81 - return 0_u32; [INFO] [stdout] 81 + 0_u32 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:83:13 [INFO] [stdout] | [INFO] [stdout] 83 | return 1_u32; [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] 83 - return 1_u32; [INFO] [stdout] 83 + 1_u32 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:122:34 [INFO] [stdout] | [INFO] [stdout] 122 | if self.clock > 0 && !self.board.get_piece(m.dst).is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.board.get_piece(m.dst).is_some()` [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/lib.rs:148:9 [INFO] [stdout] | [INFO] [stdout] 148 | return Ok(()); [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] 148 - return Ok(()); [INFO] [stdout] 148 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/lib.rs:119:30 [INFO] [stdout] | [INFO] [stdout] 119 | self.collision_check(&m)?; [INFO] [stdout] | ^^ help: change this to: `m` [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: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/lib.rs:126:16 [INFO] [stdout] | [INFO] [stdout] 126 | if self.turn % 2 == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace with: `self.turn.is_multiple_of(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] = note: `#[warn(clippy::manual_is_multiple_of)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> src/lib.rs:140:50 [INFO] [stdout] | [INFO] [stdout] 140 | let new_piece = self.can_promote(&m)?; [INFO] [stdout] | ^^ help: change this to: `m` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_borrow [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> src/lib.rs:161:16 [INFO] [stdout] | [INFO] [stdout] 161 | if !self.board.get_piece(n).is_none() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `self.board.get_piece(n).is_some()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#nonminimal_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:169:9 [INFO] [stdout] | [INFO] [stdout] 169 | return Ok(()); [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] 169 - return Ok(()); [INFO] [stdout] 169 + Ok(()) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:219:9 [INFO] [stdout] | [INFO] [stdout] 219 | return Ok(new_piece); [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] 219 - return Ok(new_piece); [INFO] [stdout] 219 + Ok(new_piece) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/lib.rs:197:12 [INFO] [stdout] | [INFO] [stdout] 197 | if self.turn % 2 == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace with: `self.turn.is_multiple_of(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> src/lib.rs:254:9 [INFO] [stdout] | [INFO] [stdout] 254 | 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] 254 - return true; [INFO] [stdout] 254 + true [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/lib.rs:225:13 [INFO] [stdout] | [INFO] [stdout] 225 | / match self.board.data[i] { [INFO] [stdout] 226 | | Some(_) => t1 += 1, [INFO] [stdout] 227 | | None => (), [INFO] [stdout] 228 | | } [INFO] [stdout] | |_____________^ help: try: `if let Some(_) = self.board.data[i] { t1 += 1 }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] = note: `#[warn(clippy::single_match)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you seem to be trying to use `match` for destructuring a single pattern. Consider using `if let` [INFO] [stdout] --> src/lib.rs:233:13 [INFO] [stdout] | [INFO] [stdout] 233 | / match self.board.data[i] { [INFO] [stdout] 234 | | Some(_) => t2 += 1, [INFO] [stdout] 235 | | None => (), [INFO] [stdout] 236 | | } [INFO] [stdout] | |_____________^ help: try: `if let Some(_) = self.board.data[i] { t2 += 1 }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_match [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/lib.rs:277:17 [INFO] [stdout] | [INFO] [stdout] 277 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] = note: `#[warn(clippy::println_empty_string)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Option::map` [INFO] [stdout] --> src/lib.rs:304:9 [INFO] [stdout] | [INFO] [stdout] 304 | / match re.captures(&input) { [INFO] [stdout] 305 | | Some(caps) => Some(Move { [INFO] [stdout] 306 | | src: Position { [INFO] [stdout] 307 | | row: caps[2].parse::().unwrap() - 1, [INFO] [stdout] ... | [INFO] [stdout] 317 | | None => None, [INFO] [stdout] 318 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_map [INFO] [stdout] = note: `#[warn(clippy::manual_map)]` on by default [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 304 ~ re.captures(&input).map(|caps| Move { [INFO] [stdout] 305 + src: Position { [INFO] [stdout] 306 + row: caps[2].parse::().unwrap() - 1, [INFO] [stdout] 307 + col: ((u32::from(caps[1].chars().nth(0).unwrap()) | 32) - u32::from('a')) [INFO] [stdout] 308 + as usize, [INFO] [stdout] 309 + }, [INFO] [stdout] 310 + dst: Position { [INFO] [stdout] 311 + row: caps[4].parse::().unwrap() - 1, [INFO] [stdout] 312 + col: ((u32::from(caps[3].chars().nth(0).unwrap()) | 32) - u32::from('a')) [INFO] [stdout] 313 + as usize, [INFO] [stdout] 314 + }, [INFO] [stdout] 315 + }) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: empty string literal in `println!` [INFO] [stdout] --> src/lib.rs:333:17 [INFO] [stdout] | [INFO] [stdout] 333 | println!(""); [INFO] [stdout] | ^^^^^^^^^--^ [INFO] [stdout] | | [INFO] [stdout] | help: remove the empty string [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> src/lib.rs:344:16 [INFO] [stdout] | [INFO] [stdout] 344 | if self.turn % 2 == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: replace with: `self.turn.is_multiple_of(2)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.61s [INFO] running `Command { std: "docker" "inspect" "606ce2975e5e22fe7340f425888c1cf7908dd53ef649b6c932b4ad4544159bed", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "606ce2975e5e22fe7340f425888c1cf7908dd53ef649b6c932b4ad4544159bed", kill_on_drop: false }` [INFO] [stdout] 606ce2975e5e22fe7340f425888c1cf7908dd53ef649b6c932b4ad4544159bed