[INFO] cloning repository https://github.com/Wertyqin99331/OrionChessEngine [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Wertyqin99331/OrionChessEngine" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWertyqin99331%2FOrionChessEngine", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWertyqin99331%2FOrionChessEngine'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 56221a4ed83bc95a741f70ac689cf67bfe8bbd12 [INFO] linting Wertyqin99331/OrionChessEngine against nightly for clippy-nonminimal_bool-denied [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWertyqin99331%2FOrionChessEngine" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Wertyqin99331/OrionChessEngine [INFO] finished tweaking git repo https://github.com/Wertyqin99331/OrionChessEngine [INFO] tweaked toml for git repo https://github.com/Wertyqin99331/OrionChessEngine written to /workspace/builds/worker-3-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Wertyqin99331/OrionChessEngine 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/Wertyqin99331/OrionChessEngine 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-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 914789af84ab6b16f0ca7634b1519e3d593a7daa70ef3036e220f9ba22f87f94 [INFO] running `Command { std: "docker" "start" "-a" "914789af84ab6b16f0ca7634b1519e3d593a7daa70ef3036e220f9ba22f87f94", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "914789af84ab6b16f0ca7634b1519e3d593a7daa70ef3036e220f9ba22f87f94", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "914789af84ab6b16f0ca7634b1519e3d593a7daa70ef3036e220f9ba22f87f94", kill_on_drop: false }` [INFO] [stdout] 914789af84ab6b16f0ca7634b1519e3d593a7daa70ef3036e220f9ba22f87f94 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 87801d5892978eb505701c4577e728253a2bdfd1dd218b309af2eb0d5540b836 [INFO] running `Command { std: "docker" "start" "-a" "87801d5892978eb505701c4577e728253a2bdfd1dd218b309af2eb0d5540b836", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.179 [INFO] [stderr] Checking getrandom v0.3.4 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking rand v0.9.2 [INFO] [stderr] Checking engine-core v0.1.0 (/opt/rustwide/workdir/engine-core) [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> engine-core/src/enums.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | use bitflags; [INFO] [stdout] | ^^^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] = note: `#[warn(clippy::single_component_path_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/enums.rs:418:13 [INFO] [stdout] | [INFO] [stdout] 418 | from: from, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/enums.rs:419:13 [INFO] [stdout] | [INFO] [stdout] 419 | to: to, [INFO] [stdout] | ^^^^^^ help: replace it with: `to` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/messaging.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | join: join, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `join` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/messaging.rs:204:13 [INFO] [stdout] | [INFO] [stdout] 204 | tx: tx, [INFO] [stdout] | ^^^^^^ help: replace it with: `tx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/messaging.rs:205:13 [INFO] [stdout] | [INFO] [stdout] 205 | handle: handle, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `handle` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/messaging.rs:206:13 [INFO] [stdout] | [INFO] [stdout] 206 | stop: stop, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `stop` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/messaging.rs:215:13 [INFO] [stdout] | [INFO] [stdout] 215 | board: board, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `board` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/messaging.rs:216:13 [INFO] [stdout] | [INFO] [stdout] 216 | search_id: search_id, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `search_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/move_generator.rs:280:21 [INFO] [stdout] | [INFO] [stdout] 280 | from: from, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/move_generator.rs:281:21 [INFO] [stdout] | [INFO] [stdout] 281 | to: to, [INFO] [stdout] | ^^^^^^ help: replace it with: `to` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/move_generator.rs:282:21 [INFO] [stdout] | [INFO] [stdout] 282 | piece: piece, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `piece` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/move_generator.rs:295:17 [INFO] [stdout] | [INFO] [stdout] 295 | from: from, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/move_generator.rs:296:17 [INFO] [stdout] | [INFO] [stdout] 296 | to: to, [INFO] [stdout] | ^^^^^^ help: replace it with: `to` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/move_generator.rs:297:17 [INFO] [stdout] | [INFO] [stdout] 297 | piece: piece, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `piece` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/move_generator.rs:326:21 [INFO] [stdout] | [INFO] [stdout] 326 | from: from, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/move_generator.rs:327:21 [INFO] [stdout] | [INFO] [stdout] 327 | to: to, [INFO] [stdout] | ^^^^^^ help: replace it with: `to` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/move_generator.rs:328:21 [INFO] [stdout] | [INFO] [stdout] 328 | piece: piece, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `piece` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/move_generator.rs:341:17 [INFO] [stdout] | [INFO] [stdout] 341 | from: from, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/move_generator.rs:342:17 [INFO] [stdout] | [INFO] [stdout] 342 | to: to, [INFO] [stdout] | ^^^^^^ help: replace it with: `to` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/move_generator.rs:343:17 [INFO] [stdout] | [INFO] [stdout] 343 | piece: piece, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `piece` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits grouped inconsistently by underscores [INFO] [stdout] --> engine-core/src/searching.rs:23:23 [INFO] [stdout] | [INFO] [stdout] 23 | const INFINITY: i32 = 1_000_000_00; [INFO] [stdout] | ^^^^^^^^^^^^ help: consider: `100_000_000` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inconsistent_digit_grouping [INFO] [stdout] = note: `#[warn(clippy::inconsistent_digit_grouping)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:271:17 [INFO] [stdout] | [INFO] [stdout] 271 | board: board, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `board` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:272:17 [INFO] [stdout] | [INFO] [stdout] 272 | search_state: search_state, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `search_state` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:273:17 [INFO] [stdout] | [INFO] [stdout] 273 | tt: tt, [INFO] [stdout] | ^^^^^^ help: replace it with: `tt` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:275:17 [INFO] [stdout] | [INFO] [stdout] 275 | stop_token: stop_token, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stop_token` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:278:17 [INFO] [stdout] | [INFO] [stdout] 278 | mv: mv, [INFO] [stdout] | ^^^^^^ help: replace it with: `mv` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:280:17 [INFO] [stdout] | [INFO] [stdout] 280 | depth: depth, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `depth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:282:17 [INFO] [stdout] | [INFO] [stdout] 282 | beta: beta, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `beta` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:284:17 [INFO] [stdout] | [INFO] [stdout] 284 | ply: ply, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `ply` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:285:17 [INFO] [stdout] | [INFO] [stdout] 285 | limits: limits, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `limits` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:286:17 [INFO] [stdout] | [INFO] [stdout] 286 | is_in_check: is_in_check, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `is_in_check` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:393:29 [INFO] [stdout] | [INFO] [stdout] 393 | ... score: score, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `score` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:458:17 [INFO] [stdout] | [INFO] [stdout] 458 | board: board, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `board` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:459:17 [INFO] [stdout] | [INFO] [stdout] 459 | search_state: search_state, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `search_state` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this import is redundant [INFO] [stdout] --> engine-core/src/enums.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | use bitflags; [INFO] [stdout] | ^^^^^^^^^^^^^ help: remove it entirely [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_component_path_imports [INFO] [stdout] = note: `#[warn(clippy::single_component_path_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:460:17 [INFO] [stdout] | [INFO] [stdout] 460 | tt: tt, [INFO] [stdout] | ^^^^^^ help: replace it with: `tt` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:465:17 [INFO] [stdout] | [INFO] [stdout] 465 | mv: mv, [INFO] [stdout] | ^^^^^^ help: replace it with: `mv` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:467:17 [INFO] [stdout] | [INFO] [stdout] 467 | depth: depth, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `depth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:469:17 [INFO] [stdout] | [INFO] [stdout] 469 | beta: beta, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `beta` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:473:17 [INFO] [stdout] | [INFO] [stdout] 473 | is_in_check: is_in_check, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `is_in_check` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:497:53 [INFO] [stdout] | [INFO] [stdout] 497 | return SearchBestMoveResult::FailHigh { score: score }; [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `score` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:831:25 [INFO] [stdout] | [INFO] [stdout] 831 | eval: eval, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `eval` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:834:25 [INFO] [stdout] | [INFO] [stdout] 834 | nps: nps, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `nps` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/see.rs:39:21 [INFO] [stdout] | [INFO] [stdout] 39 | piece: piece, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `piece` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/enums.rs:418:13 [INFO] [stdout] | [INFO] [stdout] 418 | from: from, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] = note: `#[warn(clippy::redundant_field_names)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/enums.rs:419:13 [INFO] [stdout] | [INFO] [stdout] 419 | to: to, [INFO] [stdout] | ^^^^^^ help: replace it with: `to` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/tt.rs:78:21 [INFO] [stdout] | [INFO] [stdout] 78 | score: score, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `score` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/tt.rs:85:21 [INFO] [stdout] | [INFO] [stdout] 85 | score: score, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `score` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/tt.rs:92:21 [INFO] [stdout] | [INFO] [stdout] 92 | score: score, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `score` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/tt.rs:125:17 [INFO] [stdout] | [INFO] [stdout] 125 | key: key, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/tt.rs:126:17 [INFO] [stdout] | [INFO] [stdout] 126 | depth: depth, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `depth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/tt.rs:128:17 [INFO] [stdout] | [INFO] [stdout] 128 | score: score, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `score` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/tt.rs:129:17 [INFO] [stdout] | [INFO] [stdout] 129 | best_move: best_move, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `best_move` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> engine-core/src/zobrist_hashing.rs:58:30 [INFO] [stdout] | [INFO] [stdout] 58 | const UNINIT_ZOBRIST_ERROR: &'static str = "Zobrist keys must be initialized before using"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/messaging.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | join: join, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `join` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/messaging.rs:204:13 [INFO] [stdout] | [INFO] [stdout] 204 | tx: tx, [INFO] [stdout] | ^^^^^^ help: replace it with: `tx` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/messaging.rs:205:13 [INFO] [stdout] | [INFO] [stdout] 205 | handle: handle, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `handle` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/messaging.rs:206:13 [INFO] [stdout] | [INFO] [stdout] 206 | stop: stop, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `stop` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/messaging.rs:215:13 [INFO] [stdout] | [INFO] [stdout] 215 | board: board, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `board` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/messaging.rs:216:13 [INFO] [stdout] | [INFO] [stdout] 216 | search_id: search_id, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `search_id` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/move_generator.rs:280:21 [INFO] [stdout] | [INFO] [stdout] 280 | from: from, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/move_generator.rs:281:21 [INFO] [stdout] | [INFO] [stdout] 281 | to: to, [INFO] [stdout] | ^^^^^^ help: replace it with: `to` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/move_generator.rs:282:21 [INFO] [stdout] | [INFO] [stdout] 282 | piece: piece, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `piece` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/move_generator.rs:295:17 [INFO] [stdout] | [INFO] [stdout] 295 | from: from, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/move_generator.rs:296:17 [INFO] [stdout] | [INFO] [stdout] 296 | to: to, [INFO] [stdout] | ^^^^^^ help: replace it with: `to` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/move_generator.rs:297:17 [INFO] [stdout] | [INFO] [stdout] 297 | piece: piece, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `piece` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/move_generator.rs:326:21 [INFO] [stdout] | [INFO] [stdout] 326 | from: from, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/move_generator.rs:327:21 [INFO] [stdout] | [INFO] [stdout] 327 | to: to, [INFO] [stdout] | ^^^^^^ help: replace it with: `to` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/move_generator.rs:328:21 [INFO] [stdout] | [INFO] [stdout] 328 | piece: piece, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `piece` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/move_generator.rs:341:17 [INFO] [stdout] | [INFO] [stdout] 341 | from: from, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `from` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/move_generator.rs:342:17 [INFO] [stdout] | [INFO] [stdout] 342 | to: to, [INFO] [stdout] | ^^^^^^ help: replace it with: `to` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/move_generator.rs:343:17 [INFO] [stdout] | [INFO] [stdout] 343 | piece: piece, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `piece` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: digits grouped inconsistently by underscores [INFO] [stdout] --> engine-core/src/searching.rs:23:23 [INFO] [stdout] | [INFO] [stdout] 23 | const INFINITY: i32 = 1_000_000_00; [INFO] [stdout] | ^^^^^^^^^^^^ help: consider: `100_000_000` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#inconsistent_digit_grouping [INFO] [stdout] = note: `#[warn(clippy::inconsistent_digit_grouping)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:271:17 [INFO] [stdout] | [INFO] [stdout] 271 | board: board, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `board` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:272:17 [INFO] [stdout] | [INFO] [stdout] 272 | search_state: search_state, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `search_state` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:273:17 [INFO] [stdout] | [INFO] [stdout] 273 | tt: tt, [INFO] [stdout] | ^^^^^^ help: replace it with: `tt` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:275:17 [INFO] [stdout] | [INFO] [stdout] 275 | stop_token: stop_token, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `stop_token` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:278:17 [INFO] [stdout] | [INFO] [stdout] 278 | mv: mv, [INFO] [stdout] | ^^^^^^ help: replace it with: `mv` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:280:17 [INFO] [stdout] | [INFO] [stdout] 280 | depth: depth, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `depth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:282:17 [INFO] [stdout] | [INFO] [stdout] 282 | beta: beta, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `beta` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:284:17 [INFO] [stdout] | [INFO] [stdout] 284 | ply: ply, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `ply` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:285:17 [INFO] [stdout] | [INFO] [stdout] 285 | limits: limits, [INFO] [stdout] | ^^^^^^^^^^^^^^ help: replace it with: `limits` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:286:17 [INFO] [stdout] | [INFO] [stdout] 286 | is_in_check: is_in_check, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `is_in_check` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:393:29 [INFO] [stdout] | [INFO] [stdout] 393 | ... score: score, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `score` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:458:17 [INFO] [stdout] | [INFO] [stdout] 458 | board: board, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `board` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:459:17 [INFO] [stdout] | [INFO] [stdout] 459 | search_state: search_state, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `search_state` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:460:17 [INFO] [stdout] | [INFO] [stdout] 460 | tt: tt, [INFO] [stdout] | ^^^^^^ help: replace it with: `tt` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:465:17 [INFO] [stdout] | [INFO] [stdout] 465 | mv: mv, [INFO] [stdout] | ^^^^^^ help: replace it with: `mv` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:467:17 [INFO] [stdout] | [INFO] [stdout] 467 | depth: depth, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `depth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:469:17 [INFO] [stdout] | [INFO] [stdout] 469 | beta: beta, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `beta` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:473:17 [INFO] [stdout] | [INFO] [stdout] 473 | is_in_check: is_in_check, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `is_in_check` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:497:53 [INFO] [stdout] | [INFO] [stdout] 497 | return SearchBestMoveResult::FailHigh { score: score }; [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `score` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:831:25 [INFO] [stdout] | [INFO] [stdout] 831 | eval: eval, [INFO] [stdout] | ^^^^^^^^^^ help: replace it with: `eval` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/searching.rs:834:25 [INFO] [stdout] | [INFO] [stdout] 834 | nps: nps, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `nps` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/see.rs:39:21 [INFO] [stdout] | [INFO] [stdout] 39 | piece: piece, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `piece` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/tt.rs:78:21 [INFO] [stdout] | [INFO] [stdout] 78 | score: score, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `score` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/tt.rs:85:21 [INFO] [stdout] | [INFO] [stdout] 85 | score: score, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `score` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/tt.rs:92:21 [INFO] [stdout] | [INFO] [stdout] 92 | score: score, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `score` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/tt.rs:125:17 [INFO] [stdout] | [INFO] [stdout] 125 | key: key, [INFO] [stdout] | ^^^^^^^^ help: replace it with: `key` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/tt.rs:126:17 [INFO] [stdout] | [INFO] [stdout] 126 | depth: depth, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `depth` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/tt.rs:128:17 [INFO] [stdout] | [INFO] [stdout] 128 | score: score, [INFO] [stdout] | ^^^^^^^^^^^^ help: replace it with: `score` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant field names in struct initialization [INFO] [stdout] --> engine-core/src/tt.rs:129:17 [INFO] [stdout] | [INFO] [stdout] 129 | best_move: best_move, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `best_move` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constants have by default a `'static` lifetime [INFO] [stdout] --> engine-core/src/zobrist_hashing.rs:58:30 [INFO] [stdout] | [INFO] [stdout] 58 | const UNINIT_ZOBRIST_ERROR: &'static str = "Zobrist keys must be initialized before using"; [INFO] [stdout] | -^^^^^^^---- help: consider removing `'static`: `&str` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_static_lifetimes [INFO] [stdout] = note: `#[warn(clippy::redundant_static_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Iterator::find` [INFO] [stdout] --> engine-core/src/board.rs:138:9 [INFO] [stdout] | [INFO] [stdout] 138 | / for piece in Piece::all() { [INFO] [stdout] 139 | | if self.get_bb(side, piece) & sq_bb != 0 { [INFO] [stdout] 140 | | return Some(piece); [INFO] [stdout] ... | [INFO] [stdout] 144 | | None [INFO] [stdout] | |____________^ help: replace with an iterator: `Piece::all().find(|&piece| self.get_bb(side, piece) & sq_bb != 0)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_find [INFO] [stdout] = note: `#[warn(clippy::manual_find)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/board.rs:162:9 [INFO] [stdout] | [INFO] [stdout] 162 | return None; [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] 162 - return None; [INFO] [stdout] 162 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/board.rs:256:9 [INFO] [stdout] | [INFO] [stdout] 256 | return non_pawn_bb != 0; [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] 256 - return non_pawn_bb != 0; [INFO] [stdout] 256 + non_pawn_bb != 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> engine-core/src/enums.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | / impl Default for Side { [INFO] [stdout] 14 | | fn default() -> Self { [INFO] [stdout] 15 | | Side::White [INFO] [stdout] 16 | | } [INFO] [stdout] 17 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute and mark the default variant [INFO] [stdout] | [INFO] [stdout] 8 + #[derive(Default)] [INFO] [stdout] 9 | pub(crate) enum Side { [INFO] [stdout] 10 ~ #[default] [INFO] [stdout] 11 ~ White, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true [INFO] [stdout] --> engine-core/src/enums.rs:55:1 [INFO] [stdout] | [INFO] [stdout] 55 | impl Into for Side { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: `impl From for Foreign` is allowed by the orphan rules, for more information see [INFO] [stdout] https://doc.rust-lang.org/reference/items/implementations.html#trait-implementation-coherence [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into [INFO] [stdout] = note: `#[warn(clippy::from_over_into)]` on by default [INFO] [stdout] help: replace the `Into` implementation with `From` [INFO] [stdout] | [INFO] [stdout] 55 ~ impl From for u8 { [INFO] [stdout] 56 ~ fn from(val: Side) -> Self { [INFO] [stdout] 57 ~ val as u8 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> engine-core/src/enums.rs:118:12 [INFO] [stdout] | [INFO] [stdout] 118 | if self.index() % 2 == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: replace with: `self.index().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: unneeded `return` statement [INFO] [stdout] --> engine-core/src/enums.rs:164:17 [INFO] [stdout] | [INFO] [stdout] 164 | / return unsafe { [INFO] [stdout] 165 | | Square::from_u8_unchecked(self.index() + chess_consts::BOARD_SIZE as u8) [INFO] [stdout] 166 | | }; [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] 164 ~ unsafe { [INFO] [stdout] 165 + Square::from_u8_unchecked(self.index() + chess_consts::BOARD_SIZE as u8) [INFO] [stdout] 166 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/enums.rs:173:17 [INFO] [stdout] | [INFO] [stdout] 173 | / return unsafe { [INFO] [stdout] 174 | | Square::from_u8_unchecked(self.index() - chess_consts::BOARD_SIZE as u8) [INFO] [stdout] 175 | | }; [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] 173 ~ unsafe { [INFO] [stdout] 174 + Square::from_u8_unchecked(self.index() - chess_consts::BOARD_SIZE as u8) [INFO] [stdout] 175 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true [INFO] [stdout] --> engine-core/src/enums.rs:196:1 [INFO] [stdout] | [INFO] [stdout] 196 | impl Into for Square { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: `impl From for Foreign` is allowed by the orphan rules, for more information see [INFO] [stdout] https://doc.rust-lang.org/reference/items/implementations.html#trait-implementation-coherence [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into [INFO] [stdout] help: replace the `Into` implementation with `From` [INFO] [stdout] | [INFO] [stdout] 196 ~ impl From for u8 { [INFO] [stdout] 197 ~ fn from(val: Square) -> Self { [INFO] [stdout] 198 ~ val.index() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmute used without annotations [INFO] [stdout] --> engine-core/src/enums.rs:207:35 [INFO] [stdout] | [INFO] [stdout] 207 | Ok(unsafe { std::mem::transmute(value) }) [INFO] [stdout] | ^^^^^^^^^ help: consider adding missing annotations: `transmute::` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations [INFO] [stdout] = note: `#[warn(clippy::missing_transmute_annotations)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmute used without annotations [INFO] [stdout] --> engine-core/src/enums.rs:291:35 [INFO] [stdout] | [INFO] [stdout] 291 | Ok(unsafe { std::mem::transmute(value) }) [INFO] [stdout] | ^^^^^^^^^ help: consider adding missing annotations: `transmute::` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmute used without annotations [INFO] [stdout] --> engine-core/src/enums.rs:329:35 [INFO] [stdout] | [INFO] [stdout] 329 | Ok(unsafe { std::mem::transmute(value) }) [INFO] [stdout] | ^^^^^^^^^ help: consider adding missing annotations: `transmute::` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/enums.rs:426:46 [INFO] [stdout] | [INFO] [stdout] 426 | Move::Normal { from, to, .. } => return (*from, *to), [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] 426 - Move::Normal { from, to, .. } => return (*from, *to), [INFO] [stdout] 426 + Move::Normal { from, to, .. } => (*from, *to), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/enums.rs:427:47 [INFO] [stdout] | [INFO] [stdout] 427 | &Move::Castle { from, to, .. } => return (from, to), [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] 427 - &Move::Castle { from, to, .. } => return (from, to), [INFO] [stdout] 427 + &Move::Castle { from, to, .. } => (from, to), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/enums.rs:498:58 [INFO] [stdout] | [INFO] [stdout] 498 | (Piece::King, CastlingSide::KingSide) => return (Square::E1, Square::G1), [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] 498 - (Piece::King, CastlingSide::KingSide) => return (Square::E1, Square::G1), [INFO] [stdout] 498 + (Piece::King, CastlingSide::KingSide) => (Square::E1, Square::G1), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/enums.rs:499:59 [INFO] [stdout] | [INFO] [stdout] 499 | (Piece::King, CastlingSide::QueenSide) => return (Square::E1, Square::C1), [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] 499 - (Piece::King, CastlingSide::QueenSide) => return (Square::E1, Square::C1), [INFO] [stdout] 499 + (Piece::King, CastlingSide::QueenSide) => (Square::E1, Square::C1), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/enums.rs:500:58 [INFO] [stdout] | [INFO] [stdout] 500 | (Piece::Rook, CastlingSide::KingSide) => return (Square::H1, Square::F1), [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] 500 - (Piece::Rook, CastlingSide::KingSide) => return (Square::H1, Square::F1), [INFO] [stdout] 500 + (Piece::Rook, CastlingSide::KingSide) => (Square::H1, Square::F1), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/enums.rs:501:59 [INFO] [stdout] | [INFO] [stdout] 501 | (Piece::Rook, CastlingSide::QueenSide) => return (Square::A1, Square::D1), [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] 501 - (Piece::Rook, CastlingSide::QueenSide) => return (Square::A1, Square::D1), [INFO] [stdout] 501 + (Piece::Rook, CastlingSide::QueenSide) => (Square::A1, Square::D1), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/enums.rs:506:58 [INFO] [stdout] | [INFO] [stdout] 506 | (Piece::King, CastlingSide::KingSide) => return (Square::E8, Square::G8), [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] 506 - (Piece::King, CastlingSide::KingSide) => return (Square::E8, Square::G8), [INFO] [stdout] 506 + (Piece::King, CastlingSide::KingSide) => (Square::E8, Square::G8), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/enums.rs:507:59 [INFO] [stdout] | [INFO] [stdout] 507 | (Piece::King, CastlingSide::QueenSide) => return (Square::E8, Square::C8), [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] 507 - (Piece::King, CastlingSide::QueenSide) => return (Square::E8, Square::C8), [INFO] [stdout] 507 + (Piece::King, CastlingSide::QueenSide) => (Square::E8, Square::C8), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/enums.rs:508:58 [INFO] [stdout] | [INFO] [stdout] 508 | (Piece::Rook, CastlingSide::KingSide) => return (Square::H8, Square::F8), [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] 508 - (Piece::Rook, CastlingSide::KingSide) => return (Square::H8, Square::F8), [INFO] [stdout] 508 + (Piece::Rook, CastlingSide::KingSide) => (Square::H8, Square::F8), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/enums.rs:509:59 [INFO] [stdout] | [INFO] [stdout] 509 | (Piece::Rook, CastlingSide::QueenSide) => return (Square::A8, Square::D8), [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] 509 - (Piece::Rook, CastlingSide::QueenSide) => return (Square::A8, Square::D8), [INFO] [stdout] 509 + (Piece::Rook, CastlingSide::QueenSide) => (Square::A8, Square::D8), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/evaluation.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | return if side == Side::White { score } else { -score }; [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] 46 - return if side == Side::White { score } else { -score }; [INFO] [stdout] 46 + if side == Side::White { score } else { -score } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/evaluation.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 94 | return false; [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 false; [INFO] [stdout] 94 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> engine-core/src/evaluation.rs:914:44 [INFO] [stdout] | [INFO] [stdout] 914 | move_ordering::sort_moves(cur_buf, &board, ply, false, false, None, search_state); [INFO] [stdout] | ^^^^^^ help: change this to: `board` [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: unneeded `return` statement [INFO] [stdout] --> engine-core/src/fen_parser.rs:149:5 [INFO] [stdout] | [INFO] [stdout] 149 | return Err(ParseFenError::SideToMoveParse); [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] 149 - return Err(ParseFenError::SideToMoveParse); [INFO] [stdout] 149 + Err(ParseFenError::SideToMoveParse) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/fen_parser.rs:180:5 [INFO] [stdout] | [INFO] [stdout] 180 | return Err(ParseFenError::CastlingRightsParse); [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] 180 - return Err(ParseFenError::CastlingRightsParse); [INFO] [stdout] 180 + Err(ParseFenError::CastlingRightsParse) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/fen_parser.rs:204:5 [INFO] [stdout] | [INFO] [stdout] 204 | return Err(ParseFenError::EnPassantSquareParse); [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] 204 - return Err(ParseFenError::EnPassantSquareParse); [INFO] [stdout] 204 + Err(ParseFenError::EnPassantSquareParse) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `while let` loop [INFO] [stdout] --> engine-core/src/messaging.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | / loop { [INFO] [stdout] 93 | | let cmd = match ev_rx.recv() { [INFO] [stdout] 94 | | Ok(cmd) => cmd, [INFO] [stdout] 95 | | Err(_) => break, [INFO] [stdout] ... | [INFO] [stdout] 178 | | } [INFO] [stdout] | |_____^ help: try: `while let Ok(cmd) = ev_rx.recv() { .. }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stdout] = note: `#[warn(clippy::while_let_loop)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: large size difference between variants [INFO] [stdout] --> engine-core/src/messaging.rs:181:1 [INFO] [stdout] | [INFO] [stdout] 181 | / enum SearchCmd { [INFO] [stdout] 182 | |/ Go { [INFO] [stdout] 183 | || go_cmd: UciGoCommand, [INFO] [stdout] 184 | || board: Board, [INFO] [stdout] 185 | || search_id: u64, [INFO] [stdout] 186 | || }, [INFO] [stdout] | ||_____- the largest variant contains at least 320 bytes [INFO] [stdout] 187 | | Quit, [INFO] [stdout] | | ---- the second-largest variant carries no data at all [INFO] [stdout] 188 | | } [INFO] [stdout] | |__^ the entire enum is at least 320 bytes [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stdout] = note: `#[warn(clippy::large_enum_variant)]` on by default [INFO] [stdout] help: consider boxing the large fields or introducing indirection in some other way to reduce the total size of the enum [INFO] [stdout] | [INFO] [stdout] 184 - board: Board, [INFO] [stdout] 184 + board: Box, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `while let` loop [INFO] [stdout] --> engine-core/src/messaging.rs:237:9 [INFO] [stdout] | [INFO] [stdout] 237 | / loop { [INFO] [stdout] 238 | | match rx.recv() { [INFO] [stdout] 239 | | Ok(SearchCmd::Go { [INFO] [stdout] 240 | | go_cmd, [INFO] [stdout] ... | [INFO] [stdout] 294 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 237 ~ while let Ok(SearchCmd::Go { [INFO] [stdout] 238 + go_cmd, [INFO] [stdout] 239 + mut board, [INFO] [stdout] 240 + search_id, [INFO] [stdout] 241 + }) = rx.recv() { .. } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/move_ordering.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | return 90_000; [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] 70 - return 90_000; [INFO] [stdout] 70 + 90_000 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/move_ordering.rs:74:13 [INFO] [stdout] | [INFO] [stdout] 74 | return 80_000; [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] 74 - return 80_000; [INFO] [stdout] 74 + 80_000 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Iterator::find` [INFO] [stdout] --> engine-core/src/board.rs:138:9 [INFO] [stdout] | [INFO] [stdout] 138 | / for piece in Piece::all() { [INFO] [stdout] 139 | | if self.get_bb(side, piece) & sq_bb != 0 { [INFO] [stdout] 140 | | return Some(piece); [INFO] [stdout] ... | [INFO] [stdout] 144 | | None [INFO] [stdout] | |____________^ help: replace with an iterator: `Piece::all().find(|&piece| self.get_bb(side, piece) & sq_bb != 0)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_find [INFO] [stdout] = note: `#[warn(clippy::manual_find)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/board.rs:162:9 [INFO] [stdout] | [INFO] [stdout] 162 | return None; [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] 162 - return None; [INFO] [stdout] 162 + None [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/board.rs:256:9 [INFO] [stdout] | [INFO] [stdout] 256 | return non_pawn_bb != 0; [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] 256 - return non_pawn_bb != 0; [INFO] [stdout] 256 + non_pawn_bb != 0 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: parameter is only used in recursion [INFO] [stdout] --> engine-core/src/perft.rs:4:52 [INFO] [stdout] | [INFO] [stdout] 4 | pub(crate) fn perft(board: &mut Board, depth: u32, ply: usize, bufs: &mut [MoveBuffer]) -> u64 { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ply` [INFO] [stdout] | [INFO] [stdout] note: parameter used here [INFO] [stdout] --> engine-core/src/perft.rs:17:42 [INFO] [stdout] | [INFO] [stdout] 17 | nodes += perft(board, depth - 1, ply + 1, rest); [INFO] [stdout] | ^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#only_used_in_recursion [INFO] [stdout] = note: `#[warn(clippy::only_used_in_recursion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `StopToken` [INFO] [stdout] --> engine-core/src/searching.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | / pub fn new() -> Self { [INFO] [stdout] 42 | | Self(Arc::new(AtomicBool::new(false))) [INFO] [stdout] 43 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 40 + impl Default for StopToken { [INFO] [stdout] 41 + fn default() -> Self { [INFO] [stdout] 42 + Self::new() [INFO] [stdout] 43 + } [INFO] [stdout] 44 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> engine-core/src/searching.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | / pub(crate) fn negamax_ab( [INFO] [stdout] 69 | | board: &mut Board, [INFO] [stdout] 70 | | depth: u32, [INFO] [stdout] 71 | | alpha: i32, [INFO] [stdout] ... | [INFO] [stdout] 78 | | stop_token: &StopToken, [INFO] [stdout] 79 | | ) -> NegamaxResult { [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/searching.rs:333:5 [INFO] [stdout] | [INFO] [stdout] 333 | return NegamaxResult::Completed(best_score); [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] 333 - return NegamaxResult::Completed(best_score); [INFO] [stdout] 333 + NegamaxResult::Completed(best_score) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> engine-core/src/searching.rs:192:8 [INFO] [stdout] | [INFO] [stdout] 192 | if cur.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `cur.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> engine-core/src/searching.rs:221:80 [INFO] [stdout] | [INFO] [stdout] 221 | let q_eval_score = evaluation::q_search(board, alpha, beta, bufs, ply, &search_state); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `search_state` [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 if-then-else expression returns a bool literal [INFO] [stdout] --> engine-core/src/searching.rs:243:28 [INFO] [stdout] | [INFO] [stdout] 243 | let sort_quiet_moves = if depth > ONLY_CAPTURES_DEPTH as u32 { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 244 | | true [INFO] [stdout] 245 | | } else { [INFO] [stdout] 246 | | false [INFO] [stdout] 247 | | }; [INFO] [stdout] | |_____^ help: you can reduce it to: `depth > ONLY_CAPTURES_DEPTH as u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] = note: `#[warn(clippy::needless_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> engine-core/src/searching.rs:243:39 [INFO] [stdout] | [INFO] [stdout] 243 | let sort_quiet_moves = if depth > ONLY_CAPTURES_DEPTH as u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `ONLY_CAPTURES_DEPTH` [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: this function has too many arguments (9/7) [INFO] [stdout] --> engine-core/src/searching.rs:350:1 [INFO] [stdout] | [INFO] [stdout] 350 | / pub(crate) fn search_best_move( [INFO] [stdout] 351 | | board: &mut Board, [INFO] [stdout] 352 | | alpha: i32, [INFO] [stdout] 353 | | beta: i32, [INFO] [stdout] ... | [INFO] [stdout] 359 | | stop: &StopToken, [INFO] [stdout] 360 | | ) -> SearchBestMoveResult { [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> engine-core/src/searching.rs:376:5 [INFO] [stdout] | [INFO] [stdout] 376 | / if let ProbeResult::Hit { score, mv, bound } = probe_result [INFO] [stdout] 377 | | && !is_draw_candidate [INFO] [stdout] 378 | | { [INFO] [stdout] 379 | | if let Some(tt_move) = mv { [INFO] [stdout] ... | [INFO] [stdout] 405 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 377 ~ && !is_draw_candidate [INFO] [stdout] 378 ~ && let Some(tt_move) = mv { [INFO] [stdout] 379 | board.make_move(tt_move); [INFO] [stdout] ... [INFO] [stdout] 402 | } [INFO] [stdout] 403 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> engine-core/src/searching.rs:422:8 [INFO] [stdout] | [INFO] [stdout] 422 | if cur.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `cur.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> engine-core/src/searching.rs:426:28 [INFO] [stdout] | [INFO] [stdout] 426 | let sort_quiet_moves = if depth > ONLY_CAPTURES_DEPTH { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 427 | | true [INFO] [stdout] 428 | | } else { [INFO] [stdout] 429 | | false [INFO] [stdout] 430 | | }; [INFO] [stdout] | |_____^ help: you can reduce it to: `depth > ONLY_CAPTURES_DEPTH` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> engine-core/src/searching.rs:654:9 [INFO] [stdout] | [INFO] [stdout] 635 | / let s = match negamax_ab( [INFO] [stdout] 636 | | board, [INFO] [stdout] 637 | | search_depth - 1, [INFO] [stdout] 638 | | -beta, [INFO] [stdout] ... | [INFO] [stdout] 652 | | }; [INFO] [stdout] | |__________- unnecessary `let` binding [INFO] [stdout] 653 | [INFO] [stdout] 654 | s [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] = note: `#[warn(clippy::let_and_return)]` on by default [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 635 ~ [INFO] [stdout] 636 | [INFO] [stdout] 637 ~ match negamax_ab( [INFO] [stdout] 638 + board, [INFO] [stdout] 639 + search_depth - 1, [INFO] [stdout] 640 + -beta, [INFO] [stdout] 641 + -alpha, [INFO] [stdout] 642 + ply + 1, [INFO] [stdout] 643 + search_state, [INFO] [stdout] 644 + tt, [INFO] [stdout] 645 + bufs, [INFO] [stdout] 646 + limits, [INFO] [stdout] 647 + stop_token, [INFO] [stdout] 648 + ) { [INFO] [stdout] 649 + NegamaxResult::Completed(s) => -s, [INFO] [stdout] 650 + NegamaxResult::Stopped => { [INFO] [stdout] 651 + board.unmake_move(); [INFO] [stdout] 652 + return SearchMoveResult::Stopped; [INFO] [stdout] 653 + } [INFO] [stdout] 654 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> engine-core/src/searching.rs:713:13 [INFO] [stdout] | [INFO] [stdout] 694 | / let s = match negamax_ab( [INFO] [stdout] 695 | | board, [INFO] [stdout] 696 | | full_depth, [INFO] [stdout] 697 | | -beta, [INFO] [stdout] ... | [INFO] [stdout] 711 | | }; [INFO] [stdout] | |______________- unnecessary `let` binding [INFO] [stdout] 712 | [INFO] [stdout] 713 | s [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 694 ~ [INFO] [stdout] 695 | [INFO] [stdout] 696 ~ match negamax_ab( [INFO] [stdout] 697 + board, [INFO] [stdout] 698 + full_depth, [INFO] [stdout] 699 + -beta, [INFO] [stdout] 700 + -alpha, [INFO] [stdout] 701 + ply + 1, [INFO] [stdout] 702 + search_state, [INFO] [stdout] 703 + tt, [INFO] [stdout] 704 + bufs, [INFO] [stdout] 705 + limits, [INFO] [stdout] 706 + stop_token, [INFO] [stdout] 707 + ) { [INFO] [stdout] 708 + NegamaxResult::Completed(s) => -s, [INFO] [stdout] 709 + NegamaxResult::Stopped => { [INFO] [stdout] 710 + board.unmake_move(); [INFO] [stdout] 711 + return SearchMoveResult::Stopped; [INFO] [stdout] 712 + } [INFO] [stdout] 713 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> engine-core/src/searching.rs:724:1 [INFO] [stdout] | [INFO] [stdout] 724 | / fn can_reduce_depth( [INFO] [stdout] 725 | | mv: Move, [INFO] [stdout] 726 | | move_score: i32, [INFO] [stdout] 727 | | move_index: usize, [INFO] [stdout] ... | [INFO] [stdout] 733 | | ply: u32, [INFO] [stdout] 734 | | ) -> bool { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/searching.rs:735:5 [INFO] [stdout] | [INFO] [stdout] 735 | / return move_index >= FULL_DEPTH_MOVES [INFO] [stdout] 736 | | && depth >= REDUCTION_DEPTH as u32 [INFO] [stdout] 737 | | && (mv.is_quiet() || (move_score < 0 && !mv.is_promo())) [INFO] [stdout] 738 | | && !is_in_check [INFO] [stdout] 739 | | && !is_pv_move [INFO] [stdout] 740 | | && !gives_check [INFO] [stdout] 741 | | && !search_state.is_mv_killer(mv, ply); [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] 735 ~ move_index >= FULL_DEPTH_MOVES [INFO] [stdout] 736 + && depth >= REDUCTION_DEPTH as u32 [INFO] [stdout] 737 + && (mv.is_quiet() || (move_score < 0 && !mv.is_promo())) [INFO] [stdout] 738 + && !is_in_check [INFO] [stdout] 739 + && !is_pv_move [INFO] [stdout] 740 + && !gives_check [INFO] [stdout] 741 ~ && !search_state.is_mv_killer(mv, ply) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `impl` can be derived [INFO] [stdout] --> engine-core/src/enums.rs:13:1 [INFO] [stdout] | [INFO] [stdout] 13 | / impl Default for Side { [INFO] [stdout] 14 | | fn default() -> Self { [INFO] [stdout] 15 | | Side::White [INFO] [stdout] 16 | | } [INFO] [stdout] 17 | | } [INFO] [stdout] | |_^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derivable_impls [INFO] [stdout] = note: `#[warn(clippy::derivable_impls)]` on by default [INFO] [stdout] help: replace the manual implementation with a derive attribute and mark the default variant [INFO] [stdout] | [INFO] [stdout] 8 + #[derive(Default)] [INFO] [stdout] 9 | pub(crate) enum Side { [INFO] [stdout] 10 ~ #[default] [INFO] [stdout] 11 ~ White, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true [INFO] [stdout] --> engine-core/src/enums.rs:55:1 [INFO] [stdout] | [INFO] [stdout] 55 | impl Into for Side { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: `impl From for Foreign` is allowed by the orphan rules, for more information see [INFO] [stdout] https://doc.rust-lang.org/reference/items/implementations.html#trait-implementation-coherence [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into [INFO] [stdout] = note: `#[warn(clippy::from_over_into)]` on by default [INFO] [stdout] help: replace the `Into` implementation with `From` [INFO] [stdout] | [INFO] [stdout] 55 ~ impl From for u8 { [INFO] [stdout] 56 ~ fn from(val: Side) -> Self { [INFO] [stdout] 57 ~ val as u8 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `.is_multiple_of()` [INFO] [stdout] --> engine-core/src/enums.rs:118:12 [INFO] [stdout] | [INFO] [stdout] 118 | if self.index() % 2 == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: replace with: `self.index().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: unneeded `return` statement [INFO] [stdout] --> engine-core/src/enums.rs:164:17 [INFO] [stdout] | [INFO] [stdout] 164 | / return unsafe { [INFO] [stdout] 165 | | Square::from_u8_unchecked(self.index() + chess_consts::BOARD_SIZE as u8) [INFO] [stdout] 166 | | }; [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] 164 ~ unsafe { [INFO] [stdout] 165 + Square::from_u8_unchecked(self.index() + chess_consts::BOARD_SIZE as u8) [INFO] [stdout] 166 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/sliding_piece_attack_table.rs:178:5 [INFO] [stdout] | [INFO] [stdout] 178 | / return ROOK_MAGIC_NUMBERS [INFO] [stdout] 179 | | .get() [INFO] [stdout] 180 | | .expect("Rook magic numbers must be initialized before using"); [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] 178 ~ ROOK_MAGIC_NUMBERS [INFO] [stdout] 179 + .get() [INFO] [stdout] 180 ~ .expect("Rook magic numbers must be initialized before using") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/enums.rs:173:17 [INFO] [stdout] | [INFO] [stdout] 173 | / return unsafe { [INFO] [stdout] 174 | | Square::from_u8_unchecked(self.index() - chess_consts::BOARD_SIZE as u8) [INFO] [stdout] 175 | | }; [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] 173 ~ unsafe { [INFO] [stdout] 174 + Square::from_u8_unchecked(self.index() - chess_consts::BOARD_SIZE as u8) [INFO] [stdout] 175 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: an implementation of `From` is preferred since it gives you `Into<_>` for free where the reverse isn't true [INFO] [stdout] --> engine-core/src/enums.rs:196:1 [INFO] [stdout] | [INFO] [stdout] 196 | impl Into for Square { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: `impl From for Foreign` is allowed by the orphan rules, for more information see [INFO] [stdout] https://doc.rust-lang.org/reference/items/implementations.html#trait-implementation-coherence [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#from_over_into [INFO] [stdout] help: replace the `Into` implementation with `From` [INFO] [stdout] | [INFO] [stdout] 196 ~ impl From for u8 { [INFO] [stdout] 197 ~ fn from(val: Square) -> Self { [INFO] [stdout] 198 ~ val.index() [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmute used without annotations [INFO] [stdout] --> engine-core/src/enums.rs:207:35 [INFO] [stdout] | [INFO] [stdout] 207 | Ok(unsafe { std::mem::transmute(value) }) [INFO] [stdout] | ^^^^^^^^^ help: consider adding missing annotations: `transmute::` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations [INFO] [stdout] = note: `#[warn(clippy::missing_transmute_annotations)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmute used without annotations [INFO] [stdout] --> engine-core/src/enums.rs:291:35 [INFO] [stdout] | [INFO] [stdout] 291 | Ok(unsafe { std::mem::transmute(value) }) [INFO] [stdout] | ^^^^^^^^^ help: consider adding missing annotations: `transmute::` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: transmute used without annotations [INFO] [stdout] --> engine-core/src/enums.rs:329:35 [INFO] [stdout] | [INFO] [stdout] 329 | Ok(unsafe { std::mem::transmute(value) }) [INFO] [stdout] | ^^^^^^^^^ help: consider adding missing annotations: `transmute::` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#missing_transmute_annotations [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/enums.rs:426:46 [INFO] [stdout] | [INFO] [stdout] 426 | Move::Normal { from, to, .. } => return (*from, *to), [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] 426 - Move::Normal { from, to, .. } => return (*from, *to), [INFO] [stdout] 426 + Move::Normal { from, to, .. } => (*from, *to), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/enums.rs:427:47 [INFO] [stdout] | [INFO] [stdout] 427 | &Move::Castle { from, to, .. } => return (from, to), [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] 427 - &Move::Castle { from, to, .. } => return (from, to), [INFO] [stdout] 427 + &Move::Castle { from, to, .. } => (from, to), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/enums.rs:498:58 [INFO] [stdout] | [INFO] [stdout] 498 | (Piece::King, CastlingSide::KingSide) => return (Square::E1, Square::G1), [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] 498 - (Piece::King, CastlingSide::KingSide) => return (Square::E1, Square::G1), [INFO] [stdout] 498 + (Piece::King, CastlingSide::KingSide) => (Square::E1, Square::G1), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/enums.rs:499:59 [INFO] [stdout] | [INFO] [stdout] 499 | (Piece::King, CastlingSide::QueenSide) => return (Square::E1, Square::C1), [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] 499 - (Piece::King, CastlingSide::QueenSide) => return (Square::E1, Square::C1), [INFO] [stdout] 499 + (Piece::King, CastlingSide::QueenSide) => (Square::E1, Square::C1), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/enums.rs:500:58 [INFO] [stdout] | [INFO] [stdout] 500 | (Piece::Rook, CastlingSide::KingSide) => return (Square::H1, Square::F1), [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] 500 - (Piece::Rook, CastlingSide::KingSide) => return (Square::H1, Square::F1), [INFO] [stdout] 500 + (Piece::Rook, CastlingSide::KingSide) => (Square::H1, Square::F1), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/enums.rs:501:59 [INFO] [stdout] | [INFO] [stdout] 501 | (Piece::Rook, CastlingSide::QueenSide) => return (Square::A1, Square::D1), [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] 501 - (Piece::Rook, CastlingSide::QueenSide) => return (Square::A1, Square::D1), [INFO] [stdout] 501 + (Piece::Rook, CastlingSide::QueenSide) => (Square::A1, Square::D1), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/enums.rs:506:58 [INFO] [stdout] | [INFO] [stdout] 506 | (Piece::King, CastlingSide::KingSide) => return (Square::E8, Square::G8), [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] 506 - (Piece::King, CastlingSide::KingSide) => return (Square::E8, Square::G8), [INFO] [stdout] 506 + (Piece::King, CastlingSide::KingSide) => (Square::E8, Square::G8), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/enums.rs:507:59 [INFO] [stdout] | [INFO] [stdout] 507 | (Piece::King, CastlingSide::QueenSide) => return (Square::E8, Square::C8), [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] 507 - (Piece::King, CastlingSide::QueenSide) => return (Square::E8, Square::C8), [INFO] [stdout] 507 + (Piece::King, CastlingSide::QueenSide) => (Square::E8, Square::C8), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/enums.rs:508:58 [INFO] [stdout] | [INFO] [stdout] 508 | (Piece::Rook, CastlingSide::KingSide) => return (Square::H8, Square::F8), [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] 508 - (Piece::Rook, CastlingSide::KingSide) => return (Square::H8, Square::F8), [INFO] [stdout] 508 + (Piece::Rook, CastlingSide::KingSide) => (Square::H8, Square::F8), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/enums.rs:509:59 [INFO] [stdout] | [INFO] [stdout] 509 | (Piece::Rook, CastlingSide::QueenSide) => return (Square::A8, Square::D8), [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] 509 - (Piece::Rook, CastlingSide::QueenSide) => return (Square::A8, Square::D8), [INFO] [stdout] 509 + (Piece::Rook, CastlingSide::QueenSide) => (Square::A8, Square::D8), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/tt.rs:77:17 [INFO] [stdout] | [INFO] [stdout] 77 | / return ProbeResult::Hit { [INFO] [stdout] 78 | | score: score, [INFO] [stdout] 79 | | bound: TTEntryBound::Exact, [INFO] [stdout] 80 | | mv: entry.best_move, [INFO] [stdout] 81 | | }; [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] 77 ~ ProbeResult::Hit { [INFO] [stdout] 78 + score: score, [INFO] [stdout] 79 + bound: TTEntryBound::Exact, [INFO] [stdout] 80 + mv: entry.best_move, [INFO] [stdout] 81 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/tt.rs:84:17 [INFO] [stdout] | [INFO] [stdout] 84 | / return ProbeResult::Hit { [INFO] [stdout] 85 | | score: score, [INFO] [stdout] 86 | | bound: TTEntryBound::FailLow, [INFO] [stdout] 87 | | mv: entry.best_move, [INFO] [stdout] 88 | | }; [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] 84 ~ ProbeResult::Hit { [INFO] [stdout] 85 + score: score, [INFO] [stdout] 86 + bound: TTEntryBound::FailLow, [INFO] [stdout] 87 + mv: entry.best_move, [INFO] [stdout] 88 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/tt.rs:91:17 [INFO] [stdout] | [INFO] [stdout] 91 | / return ProbeResult::Hit { [INFO] [stdout] 92 | | score: score, [INFO] [stdout] 93 | | bound: TTEntryBound::FailHigh, [INFO] [stdout] 94 | | mv: entry.best_move, [INFO] [stdout] 95 | | }; [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] 91 ~ ProbeResult::Hit { [INFO] [stdout] 92 + score: score, [INFO] [stdout] 93 + bound: TTEntryBound::FailHigh, [INFO] [stdout] 94 + mv: entry.best_move, [INFO] [stdout] 95 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/tt.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | return score; [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] 150 - return score; [INFO] [stdout] 150 + score [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/tt.rs:163:5 [INFO] [stdout] | [INFO] [stdout] 163 | return score; [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] 163 - return score; [INFO] [stdout] 163 + score [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/uci.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | return mv_str; [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] 24 - return mv_str; [INFO] [stdout] 24 + mv_str [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/uci.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | return mv_str; [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] 28 - return mv_str; [INFO] [stdout] 28 + mv_str [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Iterator::find` [INFO] [stdout] --> engine-core/src/uci.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | / for mv in moves { [INFO] [stdout] 38 | | if move_str == &serialize_move_to_uci_str(mv) { [INFO] [stdout] 39 | | return Some(mv); [INFO] [stdout] ... | [INFO] [stdout] 43 | | None [INFO] [stdout] | |________^ help: replace with an iterator: `moves.into_iter().find(|&mv| move_str == &serialize_move_to_uci_str(mv))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_find [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> engine-core/src/uci.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | if move_str == &serialize_move_to_uci_str(mv) { [INFO] [stdout] | ^^^^^^^^^^^^------------------------------ [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `serialize_move_to_uci_str(mv)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] = note: `#[warn(clippy::op_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> engine-core/src/uci.rs:74:8 [INFO] [stdout] | [INFO] [stdout] 74 | if !(parts[moves_index] == "moves") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(parts[moves_index] != "moves")` [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: the loop variable `castling` is only used to index `castling_keys` [INFO] [stdout] --> engine-core/src/zobrist_hashing.rs:49:21 [INFO] [stdout] | [INFO] [stdout] 49 | for castling in 0..16 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 49 - for castling in 0..16 { [INFO] [stdout] 49 + for in &mut castling_keys { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/evaluation.rs:46:5 [INFO] [stdout] | [INFO] [stdout] 46 | return if side == Side::White { score } else { -score }; [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] 46 - return if side == Side::White { score } else { -score }; [INFO] [stdout] 46 + if side == Side::White { score } else { -score } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/evaluation.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 94 | return false; [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 false; [INFO] [stdout] 94 + false [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> engine-core/src/evaluation.rs:914:44 [INFO] [stdout] | [INFO] [stdout] 914 | move_ordering::sort_moves(cur_buf, &board, ply, false, false, None, search_state); [INFO] [stdout] | ^^^^^^ help: change this to: `board` [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] [stderr] Checking engine-bin v0.1.0 (/opt/rustwide/workdir/engine-bin) [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/fen_parser.rs:149:5 [INFO] [stdout] | [INFO] [stdout] 149 | return Err(ParseFenError::SideToMoveParse); [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] 149 - return Err(ParseFenError::SideToMoveParse); [INFO] [stdout] 149 + Err(ParseFenError::SideToMoveParse) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/fen_parser.rs:180:5 [INFO] [stdout] | [INFO] [stdout] 180 | return Err(ParseFenError::CastlingRightsParse); [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] 180 - return Err(ParseFenError::CastlingRightsParse); [INFO] [stdout] 180 + Err(ParseFenError::CastlingRightsParse) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/fen_parser.rs:204:5 [INFO] [stdout] | [INFO] [stdout] 204 | return Err(ParseFenError::EnPassantSquareParse); [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] 204 - return Err(ParseFenError::EnPassantSquareParse); [INFO] [stdout] 204 + Err(ParseFenError::EnPassantSquareParse) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> engine-core/src/helpers.rs:203:9 [INFO] [stdout] | [INFO] [stdout] 203 | assert_eq!(is_bit_set(a1_bitboard, Square::A1), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] = note: `#[warn(clippy::bool_assert_comparison)]` on by default [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 203 - assert_eq!(is_bit_set(a1_bitboard, Square::A1), true); [INFO] [stdout] 203 + assert!(is_bit_set(a1_bitboard, Square::A1)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> engine-core/src/helpers.rs:204:9 [INFO] [stdout] | [INFO] [stdout] 204 | assert_eq!(is_bit_set(a1_bitboard, Square::A2), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 204 - assert_eq!(is_bit_set(a1_bitboard, Square::A2), false); [INFO] [stdout] 204 + assert!(!is_bit_set(a1_bitboard, Square::A2)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> engine-core/src/helpers.rs:207:9 [INFO] [stdout] | [INFO] [stdout] 207 | assert_eq!(is_bit_set(a2_bitboard, Square::A1), false); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 207 - assert_eq!(is_bit_set(a2_bitboard, Square::A1), false); [INFO] [stdout] 207 + assert!(!is_bit_set(a2_bitboard, Square::A1)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: used `assert_eq!` with a literal bool [INFO] [stdout] --> engine-core/src/helpers.rs:208:9 [INFO] [stdout] | [INFO] [stdout] 208 | assert_eq!(is_bit_set(a2_bitboard, Square::A2), true); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#bool_assert_comparison [INFO] [stdout] help: replace it with `assert!(..)` [INFO] [stdout] | [INFO] [stdout] 208 - assert_eq!(is_bit_set(a2_bitboard, Square::A2), true); [INFO] [stdout] 208 + assert!(is_bit_set(a2_bitboard, Square::A2)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: useless conversion to the same type: `enums::Square` [INFO] [stdout] --> engine-core/src/king_attack_table.rs:60:22 [INFO] [stdout] | [INFO] [stdout] 60 | let sq = Square::try_from(sq).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing `Square::try_from()` [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_conversion [INFO] [stdout] = note: `#[warn(clippy::useless_conversion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `while let` loop [INFO] [stdout] --> engine-core/src/messaging.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | / loop { [INFO] [stdout] 93 | | let cmd = match ev_rx.recv() { [INFO] [stdout] 94 | | Ok(cmd) => cmd, [INFO] [stdout] 95 | | Err(_) => break, [INFO] [stdout] ... | [INFO] [stdout] 178 | | } [INFO] [stdout] | |_____^ help: try: `while let Ok(cmd) = ev_rx.recv() { .. }` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stdout] = note: `#[warn(clippy::while_let_loop)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: large size difference between variants [INFO] [stdout] --> engine-core/src/messaging.rs:181:1 [INFO] [stdout] | [INFO] [stdout] 181 | / enum SearchCmd { [INFO] [stdout] 182 | |/ Go { [INFO] [stdout] 183 | || go_cmd: UciGoCommand, [INFO] [stdout] 184 | || board: Board, [INFO] [stdout] 185 | || search_id: u64, [INFO] [stdout] 186 | || }, [INFO] [stdout] | ||_____- the largest variant contains at least 320 bytes [INFO] [stdout] 187 | | Quit, [INFO] [stdout] | | ---- the second-largest variant carries no data at all [INFO] [stdout] 188 | | } [INFO] [stdout] | |__^ the entire enum is at least 320 bytes [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#large_enum_variant [INFO] [stdout] = note: `#[warn(clippy::large_enum_variant)]` on by default [INFO] [stdout] help: consider boxing the large fields or introducing indirection in some other way to reduce the total size of the enum [INFO] [stdout] | [INFO] [stdout] 184 - board: Board, [INFO] [stdout] 184 + board: Box, [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this loop could be written as a `while let` loop [INFO] [stdout] --> engine-core/src/messaging.rs:237:9 [INFO] [stdout] | [INFO] [stdout] 237 | / loop { [INFO] [stdout] 238 | | match rx.recv() { [INFO] [stdout] 239 | | Ok(SearchCmd::Go { [INFO] [stdout] 240 | | go_cmd, [INFO] [stdout] ... | [INFO] [stdout] 294 | | } [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#while_let_loop [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 237 ~ while let Ok(SearchCmd::Go { [INFO] [stdout] 238 + go_cmd, [INFO] [stdout] 239 + mut board, [INFO] [stdout] 240 + search_id, [INFO] [stdout] 241 + }) = rx.recv() { .. } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/move_ordering.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | return 90_000; [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] 70 - return 90_000; [INFO] [stdout] 70 + 90_000 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/move_ordering.rs:74:13 [INFO] [stdout] | [INFO] [stdout] 74 | return 80_000; [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] 74 - return 80_000; [INFO] [stdout] 74 + 80_000 [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: parameter is only used in recursion [INFO] [stdout] --> engine-core/src/perft.rs:4:52 [INFO] [stdout] | [INFO] [stdout] 4 | pub(crate) fn perft(board: &mut Board, depth: u32, ply: usize, bufs: &mut [MoveBuffer]) -> u64 { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ply` [INFO] [stdout] | [INFO] [stdout] note: parameter used here [INFO] [stdout] --> engine-core/src/perft.rs:17:42 [INFO] [stdout] | [INFO] [stdout] 17 | nodes += perft(board, depth - 1, ply + 1, rest); [INFO] [stdout] | ^^^ [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#only_used_in_recursion [INFO] [stdout] = note: `#[warn(clippy::only_used_in_recursion)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: you should consider adding a `Default` implementation for `StopToken` [INFO] [stdout] --> engine-core/src/searching.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 41 | / pub fn new() -> Self { [INFO] [stdout] 42 | | Self(Arc::new(AtomicBool::new(false))) [INFO] [stdout] 43 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stdout] = note: `#[warn(clippy::new_without_default)]` on by default [INFO] [stdout] help: try adding this [INFO] [stdout] | [INFO] [stdout] 40 + impl Default for StopToken { [INFO] [stdout] 41 + fn default() -> Self { [INFO] [stdout] 42 + Self::new() [INFO] [stdout] 43 + } [INFO] [stdout] 44 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (10/7) [INFO] [stdout] --> engine-core/src/searching.rs:68:1 [INFO] [stdout] | [INFO] [stdout] 68 | / pub(crate) fn negamax_ab( [INFO] [stdout] 69 | | board: &mut Board, [INFO] [stdout] 70 | | depth: u32, [INFO] [stdout] 71 | | alpha: i32, [INFO] [stdout] ... | [INFO] [stdout] 78 | | stop_token: &StopToken, [INFO] [stdout] 79 | | ) -> NegamaxResult { [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] = note: `#[warn(clippy::too_many_arguments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/searching.rs:333:5 [INFO] [stdout] | [INFO] [stdout] 333 | return NegamaxResult::Completed(best_score); [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] 333 - return NegamaxResult::Completed(best_score); [INFO] [stdout] 333 + NegamaxResult::Completed(best_score) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> engine-core/src/searching.rs:192:8 [INFO] [stdout] | [INFO] [stdout] 192 | if cur.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `cur.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] = note: `#[warn(clippy::len_zero)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this expression creates a reference which is immediately dereferenced by the compiler [INFO] [stdout] --> engine-core/src/searching.rs:221:80 [INFO] [stdout] | [INFO] [stdout] 221 | let q_eval_score = evaluation::q_search(board, alpha, beta, bufs, ply, &search_state); [INFO] [stdout] | ^^^^^^^^^^^^^ help: change this to: `search_state` [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 if-then-else expression returns a bool literal [INFO] [stdout] --> engine-core/src/searching.rs:243:28 [INFO] [stdout] | [INFO] [stdout] 243 | let sort_quiet_moves = if depth > ONLY_CAPTURES_DEPTH as u32 { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 244 | | true [INFO] [stdout] 245 | | } else { [INFO] [stdout] 246 | | false [INFO] [stdout] 247 | | }; [INFO] [stdout] | |_____^ help: you can reduce it to: `depth > ONLY_CAPTURES_DEPTH as u32` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] = note: `#[warn(clippy::needless_bool)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: casting to the same type is unnecessary (`u32` -> `u32`) [INFO] [stdout] --> engine-core/src/searching.rs:243:39 [INFO] [stdout] | [INFO] [stdout] 243 | let sort_quiet_moves = if depth > ONLY_CAPTURES_DEPTH as u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `ONLY_CAPTURES_DEPTH` [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: this function has too many arguments (9/7) [INFO] [stdout] --> engine-core/src/searching.rs:350:1 [INFO] [stdout] | [INFO] [stdout] 350 | / pub(crate) fn search_best_move( [INFO] [stdout] 351 | | board: &mut Board, [INFO] [stdout] 352 | | alpha: i32, [INFO] [stdout] 353 | | beta: i32, [INFO] [stdout] ... | [INFO] [stdout] 359 | | stop: &StopToken, [INFO] [stdout] 360 | | ) -> SearchBestMoveResult { [INFO] [stdout] | |_________________________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this `if` statement can be collapsed [INFO] [stdout] --> engine-core/src/searching.rs:376:5 [INFO] [stdout] | [INFO] [stdout] 376 | / if let ProbeResult::Hit { score, mv, bound } = probe_result [INFO] [stdout] 377 | | && !is_draw_candidate [INFO] [stdout] 378 | | { [INFO] [stdout] 379 | | if let Some(tt_move) = mv { [INFO] [stdout] ... | [INFO] [stdout] 405 | | } [INFO] [stdout] | |_____^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stdout] = note: `#[warn(clippy::collapsible_if)]` on by default [INFO] [stdout] help: collapse nested if block [INFO] [stdout] | [INFO] [stdout] 377 ~ && !is_draw_candidate [INFO] [stdout] 378 ~ && let Some(tt_move) = mv { [INFO] [stdout] 379 | board.make_move(tt_move); [INFO] [stdout] ... [INFO] [stdout] 402 | } [INFO] [stdout] 403 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: length comparison to zero [INFO] [stdout] --> engine-core/src/searching.rs:422:8 [INFO] [stdout] | [INFO] [stdout] 422 | if cur.len() == 0 { [INFO] [stdout] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `cur.is_empty()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this if-then-else expression returns a bool literal [INFO] [stdout] --> engine-core/src/searching.rs:426:28 [INFO] [stdout] | [INFO] [stdout] 426 | let sort_quiet_moves = if depth > ONLY_CAPTURES_DEPTH { [INFO] [stdout] | ____________________________^ [INFO] [stdout] 427 | | true [INFO] [stdout] 428 | | } else { [INFO] [stdout] 429 | | false [INFO] [stdout] 430 | | }; [INFO] [stdout] | |_____^ help: you can reduce it to: `depth > ONLY_CAPTURES_DEPTH` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_bool [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> engine-core/src/searching.rs:654:9 [INFO] [stdout] | [INFO] [stdout] 635 | / let s = match negamax_ab( [INFO] [stdout] 636 | | board, [INFO] [stdout] 637 | | search_depth - 1, [INFO] [stdout] 638 | | -beta, [INFO] [stdout] ... | [INFO] [stdout] 652 | | }; [INFO] [stdout] | |__________- unnecessary `let` binding [INFO] [stdout] 653 | [INFO] [stdout] 654 | s [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] = note: `#[warn(clippy::let_and_return)]` on by default [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 635 ~ [INFO] [stdout] 636 | [INFO] [stdout] 637 ~ match negamax_ab( [INFO] [stdout] 638 + board, [INFO] [stdout] 639 + search_depth - 1, [INFO] [stdout] 640 + -beta, [INFO] [stdout] 641 + -alpha, [INFO] [stdout] 642 + ply + 1, [INFO] [stdout] 643 + search_state, [INFO] [stdout] 644 + tt, [INFO] [stdout] 645 + bufs, [INFO] [stdout] 646 + limits, [INFO] [stdout] 647 + stop_token, [INFO] [stdout] 648 + ) { [INFO] [stdout] 649 + NegamaxResult::Completed(s) => -s, [INFO] [stdout] 650 + NegamaxResult::Stopped => { [INFO] [stdout] 651 + board.unmake_move(); [INFO] [stdout] 652 + return SearchMoveResult::Stopped; [INFO] [stdout] 653 + } [INFO] [stdout] 654 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: returning the result of a `let` binding from a block [INFO] [stdout] --> engine-core/src/searching.rs:713:13 [INFO] [stdout] | [INFO] [stdout] 694 | / let s = match negamax_ab( [INFO] [stdout] 695 | | board, [INFO] [stdout] 696 | | full_depth, [INFO] [stdout] 697 | | -beta, [INFO] [stdout] ... | [INFO] [stdout] 711 | | }; [INFO] [stdout] | |______________- unnecessary `let` binding [INFO] [stdout] 712 | [INFO] [stdout] 713 | s [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#let_and_return [INFO] [stdout] help: return the expression directly [INFO] [stdout] | [INFO] [stdout] 694 ~ [INFO] [stdout] 695 | [INFO] [stdout] 696 ~ match negamax_ab( [INFO] [stdout] 697 + board, [INFO] [stdout] 698 + full_depth, [INFO] [stdout] 699 + -beta, [INFO] [stdout] 700 + -alpha, [INFO] [stdout] 701 + ply + 1, [INFO] [stdout] 702 + search_state, [INFO] [stdout] 703 + tt, [INFO] [stdout] 704 + bufs, [INFO] [stdout] 705 + limits, [INFO] [stdout] 706 + stop_token, [INFO] [stdout] 707 + ) { [INFO] [stdout] 708 + NegamaxResult::Completed(s) => -s, [INFO] [stdout] 709 + NegamaxResult::Stopped => { [INFO] [stdout] 710 + board.unmake_move(); [INFO] [stdout] 711 + return SearchMoveResult::Stopped; [INFO] [stdout] 712 + } [INFO] [stdout] 713 + } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this function has too many arguments (9/7) [INFO] [stdout] --> engine-core/src/searching.rs:724:1 [INFO] [stdout] | [INFO] [stdout] 724 | / fn can_reduce_depth( [INFO] [stdout] 725 | | mv: Move, [INFO] [stdout] 726 | | move_score: i32, [INFO] [stdout] 727 | | move_index: usize, [INFO] [stdout] ... | [INFO] [stdout] 733 | | ply: u32, [INFO] [stdout] 734 | | ) -> bool { [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#too_many_arguments [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/searching.rs:735:5 [INFO] [stdout] | [INFO] [stdout] 735 | / return move_index >= FULL_DEPTH_MOVES [INFO] [stdout] 736 | | && depth >= REDUCTION_DEPTH as u32 [INFO] [stdout] 737 | | && (mv.is_quiet() || (move_score < 0 && !mv.is_promo())) [INFO] [stdout] 738 | | && !is_in_check [INFO] [stdout] 739 | | && !is_pv_move [INFO] [stdout] 740 | | && !gives_check [INFO] [stdout] 741 | | && !search_state.is_mv_killer(mv, ply); [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] 735 ~ move_index >= FULL_DEPTH_MOVES [INFO] [stdout] 736 + && depth >= REDUCTION_DEPTH as u32 [INFO] [stdout] 737 + && (mv.is_quiet() || (move_score < 0 && !mv.is_promo())) [INFO] [stdout] 738 + && !is_in_check [INFO] [stdout] 739 + && !is_pv_move [INFO] [stdout] 740 + && !gives_check [INFO] [stdout] 741 ~ && !search_state.is_mv_killer(mv, ply) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/sliding_piece_attack_table.rs:178:5 [INFO] [stdout] | [INFO] [stdout] 178 | / return ROOK_MAGIC_NUMBERS [INFO] [stdout] 179 | | .get() [INFO] [stdout] 180 | | .expect("Rook magic numbers must be initialized before using"); [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] 178 ~ ROOK_MAGIC_NUMBERS [INFO] [stdout] 179 + .get() [INFO] [stdout] 180 ~ .expect("Rook magic numbers must be initialized before using") [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `BISHOP_RELEVANT_BIT_COUNTS` [INFO] [stdout] --> engine-core/src/sliding_piece_attack_table.rs:654:18 [INFO] [stdout] | [INFO] [stdout] 654 | for i in 0..chess_consts::SQUARES_COUNT { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] = note: `#[warn(clippy::needless_range_loop)]` on by default [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 654 - for i in 0..chess_consts::SQUARES_COUNT { [INFO] [stdout] 654 + for (i, ) in BISHOP_RELEVANT_BIT_COUNTS.iter().enumerate().take(chess_consts::SQUARES_COUNT) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `i` is used to index `ROOK_RELEVANT_BIT_COUNTS` [INFO] [stdout] --> engine-core/src/sliding_piece_attack_table.rs:664:18 [INFO] [stdout] | [INFO] [stdout] 664 | for i in 0..chess_consts::SQUARES_COUNT { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator and enumerate() [INFO] [stdout] | [INFO] [stdout] 664 - for i in 0..chess_consts::SQUARES_COUNT { [INFO] [stdout] 664 + for (i, ) in ROOK_RELEVANT_BIT_COUNTS.iter().enumerate().take(chess_consts::SQUARES_COUNT) { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/tt.rs:77:17 [INFO] [stdout] | [INFO] [stdout] 77 | / return ProbeResult::Hit { [INFO] [stdout] 78 | | score: score, [INFO] [stdout] 79 | | bound: TTEntryBound::Exact, [INFO] [stdout] 80 | | mv: entry.best_move, [INFO] [stdout] 81 | | }; [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] 77 ~ ProbeResult::Hit { [INFO] [stdout] 78 + score: score, [INFO] [stdout] 79 + bound: TTEntryBound::Exact, [INFO] [stdout] 80 + mv: entry.best_move, [INFO] [stdout] 81 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/tt.rs:84:17 [INFO] [stdout] | [INFO] [stdout] 84 | / return ProbeResult::Hit { [INFO] [stdout] 85 | | score: score, [INFO] [stdout] 86 | | bound: TTEntryBound::FailLow, [INFO] [stdout] 87 | | mv: entry.best_move, [INFO] [stdout] 88 | | }; [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] 84 ~ ProbeResult::Hit { [INFO] [stdout] 85 + score: score, [INFO] [stdout] 86 + bound: TTEntryBound::FailLow, [INFO] [stdout] 87 + mv: entry.best_move, [INFO] [stdout] 88 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/tt.rs:91:17 [INFO] [stdout] | [INFO] [stdout] 91 | / return ProbeResult::Hit { [INFO] [stdout] 92 | | score: score, [INFO] [stdout] 93 | | bound: TTEntryBound::FailHigh, [INFO] [stdout] 94 | | mv: entry.best_move, [INFO] [stdout] 95 | | }; [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] 91 ~ ProbeResult::Hit { [INFO] [stdout] 92 + score: score, [INFO] [stdout] 93 + bound: TTEntryBound::FailHigh, [INFO] [stdout] 94 + mv: entry.best_move, [INFO] [stdout] 95 ~ } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/tt.rs:150:5 [INFO] [stdout] | [INFO] [stdout] 150 | return score; [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] 150 - return score; [INFO] [stdout] 150 + score [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/tt.rs:163:5 [INFO] [stdout] | [INFO] [stdout] 163 | return score; [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] 163 - return score; [INFO] [stdout] 163 + score [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/uci.rs:24:13 [INFO] [stdout] | [INFO] [stdout] 24 | return mv_str; [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] 24 - return mv_str; [INFO] [stdout] 24 + mv_str [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unneeded `return` statement [INFO] [stdout] --> engine-core/src/uci.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | return mv_str; [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] 28 - return mv_str; [INFO] [stdout] 28 + mv_str [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: manual implementation of `Iterator::find` [INFO] [stdout] --> engine-core/src/uci.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 37 | / for mv in moves { [INFO] [stdout] 38 | | if move_str == &serialize_move_to_uci_str(mv) { [INFO] [stdout] 39 | | return Some(mv); [INFO] [stdout] ... | [INFO] [stdout] 43 | | None [INFO] [stdout] | |________^ help: replace with an iterator: `moves.into_iter().find(|&mv| move_str == &serialize_move_to_uci_str(mv))` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_find [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: taken reference of right operand [INFO] [stdout] --> engine-core/src/uci.rs:38:12 [INFO] [stdout] | [INFO] [stdout] 38 | if move_str == &serialize_move_to_uci_str(mv) { [INFO] [stdout] | ^^^^^^^^^^^^------------------------------ [INFO] [stdout] | | [INFO] [stdout] | help: use the right value directly: `serialize_move_to_uci_str(mv)` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#op_ref [INFO] [stdout] = note: `#[warn(clippy::op_ref)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: this boolean expression can be simplified [INFO] [stdout] --> engine-core/src/uci.rs:74:8 [INFO] [stdout] | [INFO] [stdout] 74 | if !(parts[moves_index] == "moves") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `(parts[moves_index] != "moves")` [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: redundant pattern matching, consider using `is_ok()` [INFO] [stdout] --> engine-core/src/uci.rs:484:17 [INFO] [stdout] | [INFO] [stdout] 484 | assert!(matches!( [INFO] [stdout] | _________________^ [INFO] [stdout] 485 | | parse_uci_position_command("position startpos"), [INFO] [stdout] 486 | | Ok(_) [INFO] [stdout] 487 | | )); [INFO] [stdout] | |_________^ help: try: `parse_uci_position_command("position startpos").is_ok()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] = note: `#[warn(clippy::redundant_pattern_matching)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_err()` [INFO] [stdout] --> engine-core/src/uci.rs:508:17 [INFO] [stdout] | [INFO] [stdout] 508 | assert!(matches!(parse_uci_position_command("position"), Err(_))); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `parse_uci_position_command("position").is_err()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_err()` [INFO] [stdout] --> engine-core/src/uci.rs:509:17 [INFO] [stdout] | [INFO] [stdout] 509 | assert!(matches!( [INFO] [stdout] | _________________^ [INFO] [stdout] 510 | | parse_uci_position_command( [INFO] [stdout] 511 | | "position startpos fen rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1" [INFO] [stdout] 512 | | ), [INFO] [stdout] 513 | | Err(_) [INFO] [stdout] 514 | | )); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 509 ~ assert!(parse_uci_position_command( [INFO] [stdout] 510 + "position startpos fen rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1" [INFO] [stdout] 511 ~ ).is_err()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_err()` [INFO] [stdout] --> engine-core/src/uci.rs:515:17 [INFO] [stdout] | [INFO] [stdout] 515 | assert!(matches!( [INFO] [stdout] | _________________^ [INFO] [stdout] 516 | | parse_uci_position_command("position fen rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR"), [INFO] [stdout] 517 | | Err(_) [INFO] [stdout] 518 | | )); [INFO] [stdout] | |_________^ help: try: `parse_uci_position_command("position fen rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR").is_err()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_err()` [INFO] [stdout] --> engine-core/src/uci.rs:519:17 [INFO] [stdout] | [INFO] [stdout] 519 | assert!(matches!( [INFO] [stdout] | _________________^ [INFO] [stdout] 520 | | parse_uci_position_command( [INFO] [stdout] 521 | | "position fen rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1 extra" [INFO] [stdout] 522 | | ), [INFO] [stdout] 523 | | Err(_) [INFO] [stdout] 524 | | )); [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] help: try [INFO] [stdout] | [INFO] [stdout] 519 ~ assert!(parse_uci_position_command( [INFO] [stdout] 520 + "position fen rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1 extra" [INFO] [stdout] 521 ~ ).is_err()); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: redundant pattern matching, consider using `is_err()` [INFO] [stdout] --> engine-core/src/uci.rs:525:17 [INFO] [stdout] | [INFO] [stdout] 525 | assert!(matches!( [INFO] [stdout] | _________________^ [INFO] [stdout] 526 | | parse_uci_position_command("position startpos moves e4"), [INFO] [stdout] 527 | | Err(_) [INFO] [stdout] 528 | | )); [INFO] [stdout] | |_________^ help: try: `parse_uci_position_command("position startpos moves e4").is_err()` [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_pattern_matching [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the loop variable `castling` is only used to index `castling_keys` [INFO] [stdout] --> engine-core/src/zobrist_hashing.rs:49:21 [INFO] [stdout] | [INFO] [stdout] 49 | for castling in 0..16 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stdout] help: consider using an iterator [INFO] [stdout] | [INFO] [stdout] 49 - for castling in 0..16 { [INFO] [stdout] 49 + for in &mut castling_keys { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.15s [INFO] running `Command { std: "docker" "inspect" "87801d5892978eb505701c4577e728253a2bdfd1dd218b309af2eb0d5540b836", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "87801d5892978eb505701c4577e728253a2bdfd1dd218b309af2eb0d5540b836", kill_on_drop: false }` [INFO] [stdout] 87801d5892978eb505701c4577e728253a2bdfd1dd218b309af2eb0d5540b836