[INFO] crate littlewing 0.5.0 is already in cache [INFO] extracting crate littlewing 0.5.0 into work/ex/clippy-test-run/sources/stable/reg/littlewing/0.5.0 [INFO] extracting crate littlewing 0.5.0 into work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/littlewing/0.5.0 [INFO] validating manifest of littlewing-0.5.0 on toolchain stable [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of littlewing-0.5.0 on toolchain stable+rustflags=-Dclippy::into_iter_on_array [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing littlewing-0.5.0 [INFO] finished frobbing littlewing-0.5.0 [INFO] frobbed toml for littlewing-0.5.0 written to work/ex/clippy-test-run/sources/stable/reg/littlewing/0.5.0/Cargo.toml [INFO] started frobbing littlewing-0.5.0 [INFO] finished frobbing littlewing-0.5.0 [INFO] frobbed toml for littlewing-0.5.0 written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/reg/littlewing/0.5.0/Cargo.toml [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting littlewing-0.5.0 against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-2/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/reg/littlewing/0.5.0:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+stable" "clippy" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 55b08cf4a5e6d8efe0afbb551100b28ecf62d08f46e14df69b0a566289a3075b [INFO] running `"docker" "start" "-a" "55b08cf4a5e6d8efe0afbb551100b28ecf62d08f46e14df69b0a566289a3075b"` [INFO] [stderr] Checking littlewing v0.5.0 (/opt/crater/workdir) [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/piece_move_list.rs:24:18 [INFO] [stderr] | [INFO] [stderr] 24 | Scored { item: item, score: score } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `item` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/piece_move_list.rs:24:30 [INFO] [stderr] | [INFO] [stderr] 24 | Scored { item: item, score: score } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `score` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/transposition.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | hash: hash, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `hash` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/transposition.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | depth: depth, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `depth` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/transposition.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | score: score, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `score` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/transposition.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | best_move: best_move, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `best_move` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/transposition.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | bound: bound, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `bound` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/transposition.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | age: age [INFO] [stderr] | ^^^^^^^^ help: replace it with: `age` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `writeln!(buffer, "")` [INFO] [stderr] --> src/protocols/cli.rs:253:17 [INFO] [stderr] | [INFO] [stderr] 253 | writeln!(buffer, "").unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `writeln!(buffer)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::writeln_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/protocols/xboard.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | println!(""); // Acknowledge XBoard mode [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: literal with an empty format string [INFO] [stderr] --> src/search.rs:553:91 [INFO] [stderr] | [INFO] [stderr] 553 | println!(" {:>3} {:>5} {:>6} {:>9} {}", "dep", "score", "time", "nodes", "pv"); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::print_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/piece_move_list.rs:24:18 [INFO] [stderr] | [INFO] [stderr] 24 | Scored { item: item, score: score } [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `item` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::redundant_field_names)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/piece_move_list.rs:24:30 [INFO] [stderr] | [INFO] [stderr] 24 | Scored { item: item, score: score } [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `score` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/transposition.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | hash: hash, [INFO] [stderr] | ^^^^^^^^^^ help: replace it with: `hash` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/transposition.rs:34:13 [INFO] [stderr] | [INFO] [stderr] 34 | depth: depth, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `depth` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/transposition.rs:35:13 [INFO] [stderr] | [INFO] [stderr] 35 | score: score, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `score` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/transposition.rs:36:13 [INFO] [stderr] | [INFO] [stderr] 36 | best_move: best_move, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `best_move` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/transposition.rs:37:13 [INFO] [stderr] | [INFO] [stderr] 37 | bound: bound, [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `bound` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: redundant field names in struct initialization [INFO] [stderr] --> src/transposition.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | age: age [INFO] [stderr] | ^^^^^^^^ help: replace it with: `age` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#redundant_field_names [INFO] [stderr] [INFO] [stderr] warning: using `writeln!(buffer, "")` [INFO] [stderr] --> src/protocols/cli.rs:253:17 [INFO] [stderr] | [INFO] [stderr] 253 | writeln!(buffer, "").unwrap(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: replace it with: `writeln!(buffer)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::writeln_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#writeln_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/protocols/xboard.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | println!(""); // Acknowledge XBoard mode [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: literal with an empty format string [INFO] [stderr] --> src/search.rs:553:91 [INFO] [stderr] | [INFO] [stderr] 553 | println!(" {:>3} {:>5} {:>6} {:>9} {}", "dep", "score", "time", "nodes", "pv"); [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::print_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:63:5 [INFO] [stderr] | [INFO] [stderr] 63 | 0xFFFFFFFFFFFFFFFF, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xFFFF_FFFF_FFFF_FFFF` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:64:5 [INFO] [stderr] | [INFO] [stderr] 64 | 0xFFFFFFFFFFFFFFFF, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xFFFF_FFFF_FFFF_FFFF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 65 | 0x7F7F7F7F7F7F7F7F, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x7F7F_7F7F_7F7F_7F7F` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:66:5 [INFO] [stderr] | [INFO] [stderr] 66 | 0xFEFEFEFEFEFEFEFE, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xFEFE_FEFE_FEFE_FEFE` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:67:5 [INFO] [stderr] | [INFO] [stderr] 67 | 0x7F7F7F7F7F7F7F7F, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x7F7F_7F7F_7F7F_7F7F` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:68:5 [INFO] [stderr] | [INFO] [stderr] 68 | 0xFEFEFEFEFEFEFEFE, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xFEFE_FEFE_FEFE_FEFE` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:69:5 [INFO] [stderr] | [INFO] [stderr] 69 | 0x7F7F7F7F7F7F7F7F, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x7F7F_7F7F_7F7F_7F7F` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | 0xFEFEFEFEFEFEFEFE [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xFEFE_FEFE_FEFE_FEFE` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:73:30 [INFO] [stderr] | [INFO] [stderr] 73 | pub const RANK_1: Bitboard = 0x00000000000000FF; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_0000_0000_00FF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:74:30 [INFO] [stderr] | [INFO] [stderr] 74 | pub const RANK_2: Bitboard = 0x000000000000FF00; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_0000_0000_FF00` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:75:30 [INFO] [stderr] | [INFO] [stderr] 75 | pub const RANK_3: Bitboard = 0x0000000000FF0000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_0000_00FF_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:76:30 [INFO] [stderr] | [INFO] [stderr] 76 | pub const RANK_4: Bitboard = 0x00000000FF000000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_0000_FF00_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:77:30 [INFO] [stderr] | [INFO] [stderr] 77 | pub const RANK_5: Bitboard = 0x000000FF00000000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_00FF_0000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:78:30 [INFO] [stderr] | [INFO] [stderr] 78 | pub const RANK_6: Bitboard = 0x0000FF0000000000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_FF00_0000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:79:30 [INFO] [stderr] | [INFO] [stderr] 79 | pub const RANK_7: Bitboard = 0x00FF000000000000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x00FF_0000_0000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:80:30 [INFO] [stderr] | [INFO] [stderr] 80 | pub const RANK_8: Bitboard = 0xFF00000000000000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xFF00_0000_0000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:82:30 [INFO] [stderr] | [INFO] [stderr] 82 | pub const FILE_A: Bitboard = 0x0101010101010101; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0101_0101_0101_0101` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:83:30 [INFO] [stderr] | [INFO] [stderr] 83 | pub const FILE_B: Bitboard = 0x0202020202020202; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0202_0202_0202_0202` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:84:30 [INFO] [stderr] | [INFO] [stderr] 84 | pub const FILE_C: Bitboard = 0x0404040404040404; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0404_0404_0404_0404` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:85:30 [INFO] [stderr] | [INFO] [stderr] 85 | pub const FILE_D: Bitboard = 0x0808080808080808; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0808_0808_0808_0808` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:86:30 [INFO] [stderr] | [INFO] [stderr] 86 | pub const FILE_E: Bitboard = 0x1010101010101010; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x1010_1010_1010_1010` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:87:30 [INFO] [stderr] | [INFO] [stderr] 87 | pub const FILE_F: Bitboard = 0x2020202020202020; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x2020_2020_2020_2020` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:88:30 [INFO] [stderr] | [INFO] [stderr] 88 | pub const FILE_G: Bitboard = 0x4040404040404040; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x4040_4040_4040_4040` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:89:30 [INFO] [stderr] | [INFO] [stderr] 89 | pub const FILE_H: Bitboard = 0x8080808080808080; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x8080_8080_8080_8080` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:118:53 [INFO] [stderr] | [INFO] [stderr] 118 | pub const BEST_MOVE: PieceMoveType = 0b00010000; // 16 [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0001_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:119:53 [INFO] [stderr] | [INFO] [stderr] 119 | pub const KILLER_MOVE: PieceMoveType = 0b00010001; // 17 [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0001_0001` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:23:48 [INFO] [stderr] | [INFO] [stderr] 23 | let occluded = dumb7fill(fill, !occupied & 0x7F7F7F7F7F7F7F7F, UP + LEFT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x7F7F_7F7F_7F7F_7F7F` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:24:16 [INFO] [stderr] | [INFO] [stderr] 24 | targets |= 0x7F7F7F7F7F7F7F7F & occluded.shift(UP + LEFT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x7F7F_7F7F_7F7F_7F7F` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:25:48 [INFO] [stderr] | [INFO] [stderr] 25 | let occluded = dumb7fill(fill, !occupied & 0x7F7F7F7F7F7F7F7F, DOWN + LEFT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x7F7F_7F7F_7F7F_7F7F` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:26:16 [INFO] [stderr] | [INFO] [stderr] 26 | targets |= 0x7F7F7F7F7F7F7F7F & occluded.shift(DOWN + LEFT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x7F7F_7F7F_7F7F_7F7F` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:27:48 [INFO] [stderr] | [INFO] [stderr] 27 | let occluded = dumb7fill(fill, !occupied & 0xFEFEFEFEFEFEFEFE, DOWN + RIGHT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xFEFE_FEFE_FEFE_FEFE` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:28:16 [INFO] [stderr] | [INFO] [stderr] 28 | targets |= 0xFEFEFEFEFEFEFEFE & occluded.shift(DOWN + RIGHT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xFEFE_FEFE_FEFE_FEFE` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:29:48 [INFO] [stderr] | [INFO] [stderr] 29 | let occluded = dumb7fill(fill, !occupied & 0xFEFEFEFEFEFEFEFE, UP + RIGHT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xFEFE_FEFE_FEFE_FEFE` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:30:16 [INFO] [stderr] | [INFO] [stderr] 30 | targets |= 0xFEFEFEFEFEFEFEFE & occluded.shift(UP + RIGHT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xFEFE_FEFE_FEFE_FEFE` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:40:48 [INFO] [stderr] | [INFO] [stderr] 40 | let occluded = dumb7fill(fill, !occupied & 0xFFFFFFFFFFFFFFFF, UP); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xFFFF_FFFF_FFFF_FFFF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:41:16 [INFO] [stderr] | [INFO] [stderr] 41 | targets |= 0xFFFFFFFFFFFFFFFF & occluded.shift(UP); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xFFFF_FFFF_FFFF_FFFF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:42:48 [INFO] [stderr] | [INFO] [stderr] 42 | let occluded = dumb7fill(fill, !occupied & 0xFFFFFFFFFFFFFFFF, DOWN); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xFFFF_FFFF_FFFF_FFFF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:43:16 [INFO] [stderr] | [INFO] [stderr] 43 | targets |= 0xFFFFFFFFFFFFFFFF & occluded.shift(DOWN); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xFFFF_FFFF_FFFF_FFFF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:44:48 [INFO] [stderr] | [INFO] [stderr] 44 | let occluded = dumb7fill(fill, !occupied & 0x7F7F7F7F7F7F7F7F, LEFT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x7F7F_7F7F_7F7F_7F7F` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:45:16 [INFO] [stderr] | [INFO] [stderr] 45 | targets |= 0x7F7F7F7F7F7F7F7F & occluded.shift(LEFT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x7F7F_7F7F_7F7F_7F7F` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:46:48 [INFO] [stderr] | [INFO] [stderr] 46 | let occluded = dumb7fill(fill, !occupied & 0xFEFEFEFEFEFEFEFE, RIGHT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xFEFE_FEFE_FEFE_FEFE` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:47:16 [INFO] [stderr] | [INFO] [stderr] 47 | targets |= 0xFEFEFEFEFEFEFEFE & occluded.shift(RIGHT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xFEFE_FEFE_FEFE_FEFE` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/piece_move.rs:35:26 [INFO] [stderr] | [INFO] [stderr] 35 | ((self.0 >> 4) & 0b111111) as Square [INFO] [stderr] | ^^^^^^^^ help: consider: `0b11_1111` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/piece_move.rs:59:9 [INFO] [stderr] | [INFO] [stderr] 59 | QUEEN_CASTLE << self.kind() - 1 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `QUEEN_CASTLE << (self.kind() - 1)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::precedence)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/piece_move_generator.rs:151:9 [INFO] [stderr] | [INFO] [stderr] 151 | / if i < n { [INFO] [stderr] 152 | | if self.moves[i].score < GOOD_CAPTURE_SCORE { [INFO] [stderr] 153 | | return None; [INFO] [stderr] 154 | | } [INFO] [stderr] 155 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 151 | if i < n && self.moves[i].score < GOOD_CAPTURE_SCORE { [INFO] [stderr] 152 | return None; [INFO] [stderr] 153 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/piece_move_generator.rs:185:20 [INFO] [stderr] | [INFO] [stderr] 185 | } else if piece.kind() == KING || (piece.kind() == ROOK && m.from() == A1.flip(side)) { [INFO] [stderr] | ____________________^ [INFO] [stderr] 186 | | if position.castling_right(side, QUEEN) { [INFO] [stderr] 187 | | position.reset_castling_right(side, QUEEN); [INFO] [stderr] 188 | | position.hash ^= self.zobrist.castling_right(side, QUEEN); [INFO] [stderr] 189 | | } [INFO] [stderr] 190 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 185 | } else if (piece.kind() == KING || (piece.kind() == ROOK && m.from() == A1.flip(side))) && position.castling_right(side, QUEEN) { [INFO] [stderr] 186 | position.reset_castling_right(side, QUEEN); [INFO] [stderr] 187 | position.hash ^= self.zobrist.castling_right(side, QUEEN); [INFO] [stderr] 188 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/piece_move_generator.rs:217:28 [INFO] [stderr] | [INFO] [stderr] 217 | } else if m.to() == A1.flip(side ^ 1) { [INFO] [stderr] | ____________________________^ [INFO] [stderr] 218 | | if position.castling_right(side, QUEEN) { [INFO] [stderr] 219 | | position.reset_castling_right(side ^ 1, QUEEN); [INFO] [stderr] 220 | | position.hash ^= self.zobrist.castling_right(side ^ 1, QUEEN); [INFO] [stderr] 221 | | } [INFO] [stderr] 222 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 217 | } else if m.to() == A1.flip(side ^ 1) && position.castling_right(side, QUEEN) { [INFO] [stderr] 218 | position.reset_castling_right(side ^ 1, QUEEN); [INFO] [stderr] 219 | position.hash ^= self.zobrist.castling_right(side ^ 1, QUEEN); [INFO] [stderr] 220 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/piece_move_generator.rs:372:9 [INFO] [stderr] | [INFO] [stderr] 372 | / if m.is_promotion() || m.kind() == DOUBLE_PAWN_PUSH { [INFO] [stderr] 373 | | if p.kind() != PAWN { [INFO] [stderr] 374 | | return false; [INFO] [stderr] 375 | | } [INFO] [stderr] 376 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 372 | if (m.is_promotion() || m.kind() == DOUBLE_PAWN_PUSH) && p.kind() != PAWN { [INFO] [stderr] 373 | return false; [INFO] [stderr] 374 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/piece_move_generator.rs:420:13 [INFO] [stderr] | [INFO] [stderr] 420 | / if (RANK_1 | RANK_8).get(s) { [INFO] [stderr] 421 | | if !m.is_promotion() { [INFO] [stderr] 422 | | return false; [INFO] [stderr] 423 | | } [INFO] [stderr] 424 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 420 | if (RANK_1 | RANK_8).get(s) && !m.is_promotion() { [INFO] [stderr] 421 | return false; [INFO] [stderr] 422 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/search.rs:620:16 [INFO] [stderr] | [INFO] [stderr] 620 | } else if self.is_check(side) { [INFO] [stderr] | ________________^ [INFO] [stderr] 621 | | if is_san_format { [INFO] [stderr] 622 | | res.push("#".into()); [INFO] [stderr] 623 | | } [INFO] [stderr] 624 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 620 | } else if self.is_check(side) && is_san_format { [INFO] [stderr] 621 | res.push("#".into()); [INFO] [stderr] 622 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/attack.rs:162:50 [INFO] [stderr] | [INFO] [stderr] 162 | assert_eq!(bishop_attacks(B5, occupied), 0x0000050005081020); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_0500_0508_1020` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::unreadable_literal)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/attack.rs:163:50 [INFO] [stderr] | [INFO] [stderr] 163 | assert_eq!(bishop_attacks(C8, occupied), 0x000A000000000000); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x000A_0000_0000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/attack.rs:164:50 [INFO] [stderr] | [INFO] [stderr] 164 | assert_eq!(bishop_attacks(E7, occupied), 0x2800284482010000); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x2800_2844_8201_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/attack.rs:176:48 [INFO] [stderr] | [INFO] [stderr] 176 | assert_eq!(rook_attacks(A1, occupied), 0x010101010101011E); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0101_0101_0101_011E` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/attack.rs:177:48 [INFO] [stderr] | [INFO] [stderr] 177 | assert_eq!(rook_attacks(A8, occupied), 0x1E01010101010101); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x1E01_0101_0101_0101` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/attack.rs:178:48 [INFO] [stderr] | [INFO] [stderr] 178 | assert_eq!(rook_attacks(D4, occupied), 0x08080808F7080808); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0808_0808_F708_0808` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:63:5 [INFO] [stderr] | [INFO] [stderr] 63 | 0xFFFFFFFFFFFFFFFF, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xFFFF_FFFF_FFFF_FFFF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:64:5 [INFO] [stderr] | [INFO] [stderr] 64 | 0xFFFFFFFFFFFFFFFF, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xFFFF_FFFF_FFFF_FFFF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 65 | 0x7F7F7F7F7F7F7F7F, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x7F7F_7F7F_7F7F_7F7F` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:66:5 [INFO] [stderr] | [INFO] [stderr] 66 | 0xFEFEFEFEFEFEFEFE, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xFEFE_FEFE_FEFE_FEFE` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:67:5 [INFO] [stderr] | [INFO] [stderr] 67 | 0x7F7F7F7F7F7F7F7F, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x7F7F_7F7F_7F7F_7F7F` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:68:5 [INFO] [stderr] | [INFO] [stderr] 68 | 0xFEFEFEFEFEFEFEFE, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xFEFE_FEFE_FEFE_FEFE` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:69:5 [INFO] [stderr] | [INFO] [stderr] 69 | 0x7F7F7F7F7F7F7F7F, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x7F7F_7F7F_7F7F_7F7F` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:70:5 [INFO] [stderr] | [INFO] [stderr] 70 | 0xFEFEFEFEFEFEFEFE [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xFEFE_FEFE_FEFE_FEFE` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:73:30 [INFO] [stderr] | [INFO] [stderr] 73 | pub const RANK_1: Bitboard = 0x00000000000000FF; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_0000_0000_00FF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:74:30 [INFO] [stderr] | [INFO] [stderr] 74 | pub const RANK_2: Bitboard = 0x000000000000FF00; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_0000_0000_FF00` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:75:30 [INFO] [stderr] | [INFO] [stderr] 75 | pub const RANK_3: Bitboard = 0x0000000000FF0000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_0000_00FF_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:76:30 [INFO] [stderr] | [INFO] [stderr] 76 | pub const RANK_4: Bitboard = 0x00000000FF000000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_0000_FF00_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:77:30 [INFO] [stderr] | [INFO] [stderr] 77 | pub const RANK_5: Bitboard = 0x000000FF00000000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_00FF_0000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:78:30 [INFO] [stderr] | [INFO] [stderr] 78 | pub const RANK_6: Bitboard = 0x0000FF0000000000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_FF00_0000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:79:30 [INFO] [stderr] | [INFO] [stderr] 79 | pub const RANK_7: Bitboard = 0x00FF000000000000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x00FF_0000_0000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:80:30 [INFO] [stderr] | [INFO] [stderr] 80 | pub const RANK_8: Bitboard = 0xFF00000000000000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xFF00_0000_0000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:82:30 [INFO] [stderr] | [INFO] [stderr] 82 | pub const FILE_A: Bitboard = 0x0101010101010101; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0101_0101_0101_0101` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:83:30 [INFO] [stderr] | [INFO] [stderr] 83 | pub const FILE_B: Bitboard = 0x0202020202020202; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0202_0202_0202_0202` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:84:30 [INFO] [stderr] | [INFO] [stderr] 84 | pub const FILE_C: Bitboard = 0x0404040404040404; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0404_0404_0404_0404` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:85:30 [INFO] [stderr] | [INFO] [stderr] 85 | pub const FILE_D: Bitboard = 0x0808080808080808; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0808_0808_0808_0808` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:86:30 [INFO] [stderr] | [INFO] [stderr] 86 | pub const FILE_E: Bitboard = 0x1010101010101010; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x1010_1010_1010_1010` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:87:30 [INFO] [stderr] | [INFO] [stderr] 87 | pub const FILE_F: Bitboard = 0x2020202020202020; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x2020_2020_2020_2020` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:88:30 [INFO] [stderr] | [INFO] [stderr] 88 | pub const FILE_G: Bitboard = 0x4040404040404040; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x4040_4040_4040_4040` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:89:30 [INFO] [stderr] | [INFO] [stderr] 89 | pub const FILE_H: Bitboard = 0x8080808080808080; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x8080_8080_8080_8080` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:118:53 [INFO] [stderr] | [INFO] [stderr] 118 | pub const BEST_MOVE: PieceMoveType = 0b00010000; // 16 [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0001_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:119:53 [INFO] [stderr] | [INFO] [stderr] 119 | pub const KILLER_MOVE: PieceMoveType = 0b00010001; // 17 [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0b0001_0001` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:213:63 [INFO] [stderr] | [INFO] [stderr] 213 | assert_eq!(PIECE_MASKS[KING as usize][A1 as usize], 0x0000000000000302); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_0000_0000_0302` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:214:63 [INFO] [stderr] | [INFO] [stderr] 214 | assert_eq!(PIECE_MASKS[KING as usize][E3 as usize], 0x0000000038283800); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_0000_3828_3800` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:215:63 [INFO] [stderr] | [INFO] [stderr] 215 | assert_eq!(PIECE_MASKS[KNIGHT as usize][B1 as usize], 0x0000000000050800); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_0000_0005_0800` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:216:63 [INFO] [stderr] | [INFO] [stderr] 216 | assert_eq!(PIECE_MASKS[BISHOP as usize][A1 as usize], 0x0040201008040200); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0040_2010_0804_0200` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:217:63 [INFO] [stderr] | [INFO] [stderr] 217 | assert_eq!(PIECE_MASKS[BISHOP as usize][E3 as usize], 0x0000024428002800); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_0244_2800_2800` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:218:63 [INFO] [stderr] | [INFO] [stderr] 218 | assert_eq!(PIECE_MASKS[ROOK as usize][E3 as usize], 0x00101010106E1000); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0010_1010_106E_1000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/common.rs:219:63 [INFO] [stderr] | [INFO] [stderr] 219 | assert_eq!(PIECE_MASKS[ROOK as usize][A1 as usize], 0x000101010101017E); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0001_0101_0101_017E` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:23:48 [INFO] [stderr] | [INFO] [stderr] 23 | let occluded = dumb7fill(fill, !occupied & 0x7F7F7F7F7F7F7F7F, UP + LEFT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x7F7F_7F7F_7F7F_7F7F` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:24:16 [INFO] [stderr] | [INFO] [stderr] 24 | targets |= 0x7F7F7F7F7F7F7F7F & occluded.shift(UP + LEFT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x7F7F_7F7F_7F7F_7F7F` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:25:48 [INFO] [stderr] | [INFO] [stderr] 25 | let occluded = dumb7fill(fill, !occupied & 0x7F7F7F7F7F7F7F7F, DOWN + LEFT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x7F7F_7F7F_7F7F_7F7F` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:26:16 [INFO] [stderr] | [INFO] [stderr] 26 | targets |= 0x7F7F7F7F7F7F7F7F & occluded.shift(DOWN + LEFT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x7F7F_7F7F_7F7F_7F7F` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:27:48 [INFO] [stderr] | [INFO] [stderr] 27 | let occluded = dumb7fill(fill, !occupied & 0xFEFEFEFEFEFEFEFE, DOWN + RIGHT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xFEFE_FEFE_FEFE_FEFE` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:28:16 [INFO] [stderr] | [INFO] [stderr] 28 | targets |= 0xFEFEFEFEFEFEFEFE & occluded.shift(DOWN + RIGHT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xFEFE_FEFE_FEFE_FEFE` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:29:48 [INFO] [stderr] | [INFO] [stderr] 29 | let occluded = dumb7fill(fill, !occupied & 0xFEFEFEFEFEFEFEFE, UP + RIGHT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xFEFE_FEFE_FEFE_FEFE` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:30:16 [INFO] [stderr] | [INFO] [stderr] 30 | targets |= 0xFEFEFEFEFEFEFEFE & occluded.shift(UP + RIGHT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xFEFE_FEFE_FEFE_FEFE` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:40:48 [INFO] [stderr] | [INFO] [stderr] 40 | let occluded = dumb7fill(fill, !occupied & 0xFFFFFFFFFFFFFFFF, UP); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xFFFF_FFFF_FFFF_FFFF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:41:16 [INFO] [stderr] | [INFO] [stderr] 41 | targets |= 0xFFFFFFFFFFFFFFFF & occluded.shift(UP); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xFFFF_FFFF_FFFF_FFFF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:42:48 [INFO] [stderr] | [INFO] [stderr] 42 | let occluded = dumb7fill(fill, !occupied & 0xFFFFFFFFFFFFFFFF, DOWN); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xFFFF_FFFF_FFFF_FFFF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:43:16 [INFO] [stderr] | [INFO] [stderr] 43 | targets |= 0xFFFFFFFFFFFFFFFF & occluded.shift(DOWN); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xFFFF_FFFF_FFFF_FFFF` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:44:48 [INFO] [stderr] | [INFO] [stderr] 44 | let occluded = dumb7fill(fill, !occupied & 0x7F7F7F7F7F7F7F7F, LEFT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x7F7F_7F7F_7F7F_7F7F` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:45:16 [INFO] [stderr] | [INFO] [stderr] 45 | targets |= 0x7F7F7F7F7F7F7F7F & occluded.shift(LEFT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x7F7F_7F7F_7F7F_7F7F` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:46:48 [INFO] [stderr] | [INFO] [stderr] 46 | let occluded = dumb7fill(fill, !occupied & 0xFEFEFEFEFEFEFEFE, RIGHT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xFEFE_FEFE_FEFE_FEFE` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:47:16 [INFO] [stderr] | [INFO] [stderr] 47 | targets |= 0xFEFEFEFEFEFEFEFE & occluded.shift(RIGHT); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xFEFE_FEFE_FEFE_FEFE` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:59:31 [INFO] [stderr] | [INFO] [stderr] 59 | let rooks: Bitboard = 0x0000000000100000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_0000_0010_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:66:29 [INFO] [stderr] | [INFO] [stderr] 66 | assert_eq!(targets, 0x1010101010100000); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x1010_1010_1010_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:73:29 [INFO] [stderr] | [INFO] [stderr] 73 | assert_eq!(targets, 0x0000000000101010); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_0000_0010_1010` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:75:40 [INFO] [stderr] | [INFO] [stderr] 75 | let empty: Bitboard = !rooks & 0x7F7F7F7F7F7F7F7F; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x7F7F_7F7F_7F7F_7F7F` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:80:29 [INFO] [stderr] | [INFO] [stderr] 80 | assert_eq!(targets, 0x0000000000700000); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_0000_0070_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:87:29 [INFO] [stderr] | [INFO] [stderr] 87 | assert_eq!(targets, 0x0000000010100000); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_0000_1010_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:89:32 [INFO] [stderr] | [INFO] [stderr] 89 | let bishop: Bitboard = 0x0000000000100000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_0000_0010_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:90:41 [INFO] [stderr] | [INFO] [stderr] 90 | let empty: Bitboard = !bishop & 0x7F7F7F7F7F7F7F7F; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x7F7F_7F7F_7F7F_7F7F` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/dumb7fill.rs:95:29 [INFO] [stderr] | [INFO] [stderr] 95 | assert_eq!(targets, 0x0000004020100000); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_0040_2010_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/piece_move.rs:35:26 [INFO] [stderr] | [INFO] [stderr] 35 | ((self.0 >> 4) & 0b111111) as Square [INFO] [stderr] | ^^^^^^^^ help: consider: `0b11_1111` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: operator precedence can trip the unwary [INFO] [stderr] --> src/piece_move.rs:59:9 [INFO] [stderr] | [INFO] [stderr] 59 | QUEEN_CASTLE << self.kind() - 1 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `QUEEN_CASTLE << (self.kind() - 1)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::precedence)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#precedence [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/transposition_table.rs:198:69 [INFO] [stderr] | [INFO] [stderr] 198 | assert_eq!(TranspositionTable::with_memory(16 << 20).len(), 1048576); [INFO] [stderr] | ^^^^^^^ help: consider: `1_048_576` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/bitboard.rs:163:29 [INFO] [stderr] | [INFO] [stderr] 163 | let bb1: Bitboard = 0b0011000000000000000000000000000000110000000000000000000000000000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider: `0b0011_0000_0000_0000_0000_0000_0000_0000_0011_0000_0000_0000_0000_0000_0000_0000` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/bitboard.rs:164:29 [INFO] [stderr] | [INFO] [stderr] 164 | let bb2: Bitboard = 0b1100000000000000000000000000000011000000000000000000000000000011; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider: `0b1100_0000_0000_0000_0000_0000_0000_0000_1100_0000_0000_0000_0000_0000_0000_0011` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/bitboard.rs:165:29 [INFO] [stderr] | [INFO] [stderr] 165 | let bb3: Bitboard = 0b0000000000000000000000000000001100000000000000000000000000001100; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider: `0b0000_0000_0000_0000_0000_0000_0000_0011_0000_0000_0000_0000_0000_0000_0000_1100` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/piece_move_generator.rs:151:9 [INFO] [stderr] | [INFO] [stderr] 151 | / if i < n { [INFO] [stderr] 152 | | if self.moves[i].score < GOOD_CAPTURE_SCORE { [INFO] [stderr] 153 | | return None; [INFO] [stderr] 154 | | } [INFO] [stderr] 155 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::collapsible_if)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 151 | if i < n && self.moves[i].score < GOOD_CAPTURE_SCORE { [INFO] [stderr] 152 | return None; [INFO] [stderr] 153 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/piece_move_generator.rs:185:20 [INFO] [stderr] | [INFO] [stderr] 185 | } else if piece.kind() == KING || (piece.kind() == ROOK && m.from() == A1.flip(side)) { [INFO] [stderr] | ____________________^ [INFO] [stderr] 186 | | if position.castling_right(side, QUEEN) { [INFO] [stderr] 187 | | position.reset_castling_right(side, QUEEN); [INFO] [stderr] 188 | | position.hash ^= self.zobrist.castling_right(side, QUEEN); [INFO] [stderr] 189 | | } [INFO] [stderr] 190 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 185 | } else if (piece.kind() == KING || (piece.kind() == ROOK && m.from() == A1.flip(side))) && position.castling_right(side, QUEEN) { [INFO] [stderr] 186 | position.reset_castling_right(side, QUEEN); [INFO] [stderr] 187 | position.hash ^= self.zobrist.castling_right(side, QUEEN); [INFO] [stderr] 188 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/piece_move_generator.rs:217:28 [INFO] [stderr] | [INFO] [stderr] 217 | } else if m.to() == A1.flip(side ^ 1) { [INFO] [stderr] | ____________________________^ [INFO] [stderr] 218 | | if position.castling_right(side, QUEEN) { [INFO] [stderr] 219 | | position.reset_castling_right(side ^ 1, QUEEN); [INFO] [stderr] 220 | | position.hash ^= self.zobrist.castling_right(side ^ 1, QUEEN); [INFO] [stderr] 221 | | } [INFO] [stderr] 222 | | } [INFO] [stderr] | |_____________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 217 | } else if m.to() == A1.flip(side ^ 1) && position.castling_right(side, QUEEN) { [INFO] [stderr] 218 | position.reset_castling_right(side ^ 1, QUEEN); [INFO] [stderr] 219 | position.hash ^= self.zobrist.castling_right(side ^ 1, QUEEN); [INFO] [stderr] 220 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/piece_move_generator.rs:372:9 [INFO] [stderr] | [INFO] [stderr] 372 | / if m.is_promotion() || m.kind() == DOUBLE_PAWN_PUSH { [INFO] [stderr] 373 | | if p.kind() != PAWN { [INFO] [stderr] 374 | | return false; [INFO] [stderr] 375 | | } [INFO] [stderr] 376 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 372 | if (m.is_promotion() || m.kind() == DOUBLE_PAWN_PUSH) && p.kind() != PAWN { [INFO] [stderr] 373 | return false; [INFO] [stderr] 374 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/piece_move_generator.rs:420:13 [INFO] [stderr] | [INFO] [stderr] 420 | / if (RANK_1 | RANK_8).get(s) { [INFO] [stderr] 421 | | if !m.is_promotion() { [INFO] [stderr] 422 | | return false; [INFO] [stderr] 423 | | } [INFO] [stderr] 424 | | } [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 420 | if (RANK_1 | RANK_8).get(s) && !m.is_promotion() { [INFO] [stderr] 421 | return false; [INFO] [stderr] 422 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/search.rs:620:16 [INFO] [stderr] | [INFO] [stderr] 620 | } else if self.is_check(side) { [INFO] [stderr] | ________________^ [INFO] [stderr] 621 | | if is_san_format { [INFO] [stderr] 622 | | res.push("#".into()); [INFO] [stderr] 623 | | } [INFO] [stderr] 624 | | } [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#collapsible_if [INFO] [stderr] help: try [INFO] [stderr] | [INFO] [stderr] 620 | } else if self.is_check(side) && is_san_format { [INFO] [stderr] 621 | res.push("#".into()); [INFO] [stderr] 622 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/search.rs:655:35 [INFO] [stderr] | [INFO] [stderr] 655 | assert_eq!(game.perft(4), 197281); [INFO] [stderr] | ^^^^^^ help: consider: `197_281` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unreadable_literal [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `!occupied` [INFO] [stderr] --> src/dumb7fill.rs:40:36 [INFO] [stderr] | [INFO] [stderr] 40 | let occluded = dumb7fill(fill, !occupied & 0xFFFFFFFFFFFFFFFF, UP); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `occluded.shift(UP)` [INFO] [stderr] --> src/dumb7fill.rs:41:16 [INFO] [stderr] | [INFO] [stderr] 41 | targets |= 0xFFFFFFFFFFFFFFFF & occluded.shift(UP); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `!occupied` [INFO] [stderr] --> src/dumb7fill.rs:42:36 [INFO] [stderr] | [INFO] [stderr] 42 | let occluded = dumb7fill(fill, !occupied & 0xFFFFFFFFFFFFFFFF, DOWN); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `occluded.shift(DOWN)` [INFO] [stderr] --> src/dumb7fill.rs:43:16 [INFO] [stderr] | [INFO] [stderr] 43 | targets |= 0xFFFFFFFFFFFFFFFF & occluded.shift(DOWN); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the loop variable `o` is used to index `first_rank_attacks` [INFO] [stderr] --> src/hyperbola.rs:57:18 [INFO] [stderr] | [INFO] [stderr] 57 | for o in 0..64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 57 | for (o, ) in first_rank_attacks.iter_mut().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/piece_move.rs:23:20 [INFO] [stderr] | [INFO] [stderr] 23 | PieceMove(((from as u16) << 10) | ((to as u16) << 4) | mt as u16) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(from)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/piece_move.rs:23:44 [INFO] [stderr] | [INFO] [stderr] 23 | PieceMove(((from as u16) << 10) | ((to as u16) << 4) | mt as u16) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(to)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/piece_move.rs:23:64 [INFO] [stderr] | [INFO] [stderr] 23 | PieceMove(((from as u16) << 10) | ((to as u16) << 4) | mt as u16) [INFO] [stderr] | ^^^^^^^^^ help: try: `u16::from(mt)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `piece_move_list::PieceMoveList` [INFO] [stderr] --> src/piece_move_list.rs:75:5 [INFO] [stderr] | [INFO] [stderr] 75 | / pub fn new() -> PieceMoveList { [INFO] [stderr] 76 | | PieceMoveList { [INFO] [stderr] 77 | | killers: [[PieceMove::new_null(); MAX_KILLERS]; MAX_PLY], [INFO] [stderr] 78 | | lists: [[Scored::new(PieceMove::new_null(), 0); MAX_MOVES]; MAX_PLY], [INFO] [stderr] ... | [INFO] [stderr] 85 | | } [INFO] [stderr] 86 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 74 | impl Default for piece_move_list::PieceMoveList { [INFO] [stderr] 75 | fn default() -> Self { [INFO] [stderr] 76 | Self::new() [INFO] [stderr] 77 | } [INFO] [stderr] 78 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/piece_move_list.rs:153:12 [INFO] [stderr] | [INFO] [stderr] 153 | if self.len() > 0 && self.lists[self.ply][0].item == m { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/piece_move_list.rs:227:33 [INFO] [stderr] | [INFO] [stderr] 227 | let epb = ((ep as u64 >> 6) ^ 1) << (ep % 64); [INFO] [stderr] | ^^^^^^^^^ help: try: `u64::from(ep)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `positions::Position` [INFO] [stderr] --> src/positions.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | / pub fn new() -> Position { [INFO] [stderr] 28 | | Position { [INFO] [stderr] 29 | | hash: 0, // TODO: is it a problem for the starting position? [INFO] [stderr] 30 | | side: WHITE, [INFO] [stderr] ... | [INFO] [stderr] 36 | | } [INFO] [stderr] 37 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 8 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `positions::Positions` [INFO] [stderr] --> src/positions.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 65 | / pub fn new() -> Positions { [INFO] [stderr] 66 | | Positions { [INFO] [stderr] 67 | | stack: [Position::new(); MAX_POSITIONS], [INFO] [stderr] 68 | | fullmoves_init: 0, [INFO] [stderr] 69 | | ply: 0 [INFO] [stderr] 70 | | } [INFO] [stderr] 71 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 64 | impl Default for positions::Positions { [INFO] [stderr] 65 | fn default() -> Self { [INFO] [stderr] 66 | Self::new() [INFO] [stderr] 67 | } [INFO] [stderr] 68 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `h`. [INFO] [stderr] --> src/transposition_table.rs:88:22 [INFO] [stderr] | [INFO] [stderr] 88 | for i in 0..n { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 88 | for in h.iter_mut().take(n) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/transposition_table.rs:140:23 [INFO] [stderr] | [INFO] [stderr] 140 | let percent = (lower_count as f64) * 100.0 / (self.len() as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(lower_count)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/transposition_table.rs:142:23 [INFO] [stderr] | [INFO] [stderr] 142 | let percent = (upper_count as f64) * 100.0 / (self.len() as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(upper_count)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/transposition_table.rs:144:23 [INFO] [stderr] | [INFO] [stderr] 144 | let percent = (exact_count as f64) * 100.0 / (self.len() as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(exact_count)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: mutable borrow from immutable input(s) [INFO] [stderr] --> src/transposition_table.rs:175:26 [INFO] [stderr] | [INFO] [stderr] 175 | pub fn get(&self) -> &mut [Transposition] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::mut_from_ref)] on by default [INFO] [stderr] note: immutable borrow here [INFO] [stderr] --> src/transposition_table.rs:175:16 [INFO] [stderr] | [INFO] [stderr] 175 | pub fn get(&self) -> &mut [Transposition] { [INFO] [stderr] | ^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mut_from_ref [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `zobrist::Zobrist` [INFO] [stderr] --> src/zobrist.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | / pub fn new() -> Zobrist { [INFO] [stderr] 18 | | let mut zobrist = Zobrist { [INFO] [stderr] 19 | | pieces: [[0; 64]; 14], [INFO] [stderr] 20 | | en_passant: [0; 64], [INFO] [stderr] ... | [INFO] [stderr] 42 | | zobrist [INFO] [stderr] 43 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 16 | impl Default for zobrist::Zobrist { [INFO] [stderr] 17 | fn default() -> Self { [INFO] [stderr] 18 | Self::new() [INFO] [stderr] 19 | } [INFO] [stderr] 20 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/clock.rs:60:31 [INFO] [stderr] | [INFO] [stderr] 60 | self.time_remaining / self.moves_remaining as u64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.moves_remaining)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/eval.rs:124:50 [INFO] [stderr] | [INFO] [stderr] 124 | println!("material: {:>5.2}", 0.01 * material_score as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(material_score)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/eval.rs:125:50 [INFO] [stderr] | [INFO] [stderr] 125 | println!("position: {:>5.2}", 0.01 * position_score as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(position_score)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/eval.rs:126:50 [INFO] [stderr] | [INFO] [stderr] 126 | println!("mobility: {:>5.2}", 0.01 * mobility_score as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(mobility_score)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/eval.rs:127:50 [INFO] [stderr] | [INFO] [stderr] 127 | println!("total: {:>5.2}", 0.01 * score as f64); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(score)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `game::Game` [INFO] [stderr] --> src/game.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | / pub fn new() -> Game { [INFO] [stderr] 41 | | Game { [INFO] [stderr] 42 | | protocol: Protocol::CLI, [INFO] [stderr] 43 | | starting_fen: String::from(DEFAULT_FEN), [INFO] [stderr] ... | [INFO] [stderr] 59 | | } [INFO] [stderr] 60 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 38 | impl Default for game::Game { [INFO] [stderr] 39 | fn default() -> Self { [INFO] [stderr] 40 | Self::new() [INFO] [stderr] 41 | } [INFO] [stderr] 42 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/game.rs:123:17 [INFO] [stderr] | [INFO] [stderr] 123 | format!("|") [INFO] [stderr] | ^^^^^^^^^^^^ help: consider using .to_string(): `"|".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `protocols::cli::CLI` [INFO] [stderr] --> src/protocols/cli.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | / pub fn new() -> CLI { [INFO] [stderr] 35 | | // Load startup position [INFO] [stderr] 36 | | let mut game = Game::from_fen(DEFAULT_FEN); [INFO] [stderr] 37 | | [INFO] [stderr] ... | [INFO] [stderr] 46 | | } [INFO] [stderr] 47 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 33 | impl Default for protocols::cli::CLI { [INFO] [stderr] 34 | fn default() -> Self { [INFO] [stderr] 35 | Self::new() [INFO] [stderr] 36 | } [INFO] [stderr] 37 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/protocols/cli.rs:178:30 [INFO] [stderr] | [INFO] [stderr] 178 | self.print_error(format!("no subcommand given")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"no subcommand given".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/protocols/cli.rs:190:34 [INFO] [stderr] | [INFO] [stderr] 190 | self.print_error(format!("not implemented yet")); // TODO [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"not implemented yet".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/protocols/cli.rs:203:30 [INFO] [stderr] | [INFO] [stderr] 203 | self.print_error(format!("no subcommand given")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"no subcommand given".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/protocols/cli.rs:217:38 [INFO] [stderr] | [INFO] [stderr] 217 | self.print_error(format!("no filename given")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"no filename given".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/protocols/cli.rs:249:36 [INFO] [stderr] | [INFO] [stderr] 249 | if starting_fen != String::from(DEFAULT_FEN) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `DEFAULT_FEN` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_owned)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/protocols/cli.rs:298:30 [INFO] [stderr] | [INFO] [stderr] 298 | self.print_error(format!("no subcommand given")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"no subcommand given".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/protocols/cli.rs:410:12 [INFO] [stderr] | [INFO] [stderr] 410 | if self.game.history.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.game.history.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/protocols/cli.rs:481:30 [INFO] [stderr] | [INFO] [stderr] 481 | self.print_error(format!("no depth given")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"no depth given".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/protocols/cli.rs:553:30 [INFO] [stderr] | [INFO] [stderr] 553 | self.print_error(format!("no filename given")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"no filename given".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/protocols/cli.rs:582:30 [INFO] [stderr] | [INFO] [stderr] 582 | self.print_error(format!("no filename given")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"no filename given".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/protocols/cli.rs:596:35 [INFO] [stderr] | [INFO] [stderr] 596 | let line = line.split(";").next().unwrap(); [INFO] [stderr] | ^^^ help: try using a char instead: `';'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `protocols::uci::UCI` [INFO] [stderr] --> src/protocols/uci.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | / pub fn new() -> UCI { [INFO] [stderr] 26 | | UCI { [INFO] [stderr] 27 | | game: Game::from_fen(DEFAULT_FEN), [INFO] [stderr] 28 | | max_depth: (MAX_PLY - 10) as Depth, [INFO] [stderr] ... | [INFO] [stderr] 31 | | } [INFO] [stderr] 32 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 24 | impl Default for protocols::uci::UCI { [INFO] [stderr] 25 | fn default() -> Self { [INFO] [stderr] 26 | Self::new() [INFO] [stderr] 27 | } [INFO] [stderr] 28 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `protocols::xboard::XBoard` [INFO] [stderr] --> src/protocols/xboard.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | / pub fn new() -> XBoard { [INFO] [stderr] 24 | | XBoard { [INFO] [stderr] 25 | | game: Game::from_fen(DEFAULT_FEN), [INFO] [stderr] 26 | | max_depth: (MAX_PLY - 10) as Depth, [INFO] [stderr] 27 | | force: false [INFO] [stderr] 28 | | } [INFO] [stderr] 29 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 22 | impl Default for protocols::xboard::XBoard { [INFO] [stderr] 23 | fn default() -> Self { [INFO] [stderr] 24 | Self::new() [INFO] [stderr] 25 | } [INFO] [stderr] 26 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/protocols/xboard.rs:83:12 [INFO] [stderr] | [INFO] [stderr] 83 | if self.game.history.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.game.history.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `littlewing`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `!occupied` [INFO] [stderr] --> src/dumb7fill.rs:40:36 [INFO] [stderr] | [INFO] [stderr] 40 | let occluded = dumb7fill(fill, !occupied & 0xFFFFFFFFFFFFFFFF, UP); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::identity_op)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `occluded.shift(UP)` [INFO] [stderr] --> src/dumb7fill.rs:41:16 [INFO] [stderr] | [INFO] [stderr] 41 | targets |= 0xFFFFFFFFFFFFFFFF & occluded.shift(UP); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `!occupied` [INFO] [stderr] --> src/dumb7fill.rs:42:36 [INFO] [stderr] | [INFO] [stderr] 42 | let occluded = dumb7fill(fill, !occupied & 0xFFFFFFFFFFFFFFFF, DOWN); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `occluded.shift(DOWN)` [INFO] [stderr] --> src/dumb7fill.rs:43:16 [INFO] [stderr] | [INFO] [stderr] 43 | targets |= 0xFFFFFFFFFFFFFFFF & occluded.shift(DOWN); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] warning: the loop variable `o` is used to index `first_rank_attacks` [INFO] [stderr] --> src/hyperbola.rs:57:18 [INFO] [stderr] | [INFO] [stderr] 57 | for o in 0..64 { [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_range_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 57 | for (o, ) in first_rank_attacks.iter_mut().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/piece_move.rs:23:20 [INFO] [stderr] | [INFO] [stderr] 23 | PieceMove(((from as u16) << 10) | ((to as u16) << 4) | mt as u16) [INFO] [stderr] | ^^^^^^^^^^^^^ help: try: `u16::from(from)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/piece_move.rs:23:44 [INFO] [stderr] | [INFO] [stderr] 23 | PieceMove(((from as u16) << 10) | ((to as u16) << 4) | mt as u16) [INFO] [stderr] | ^^^^^^^^^^^ help: try: `u16::from(to)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u16 may become silently lossy if types change [INFO] [stderr] --> src/piece_move.rs:23:64 [INFO] [stderr] | [INFO] [stderr] 23 | PieceMove(((from as u16) << 10) | ((to as u16) << 4) | mt as u16) [INFO] [stderr] | ^^^^^^^^^ help: try: `u16::from(mt)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `piece_move_list::PieceMoveList` [INFO] [stderr] --> src/piece_move_list.rs:75:5 [INFO] [stderr] | [INFO] [stderr] 75 | / pub fn new() -> PieceMoveList { [INFO] [stderr] 76 | | PieceMoveList { [INFO] [stderr] 77 | | killers: [[PieceMove::new_null(); MAX_KILLERS]; MAX_PLY], [INFO] [stderr] 78 | | lists: [[Scored::new(PieceMove::new_null(), 0); MAX_MOVES]; MAX_PLY], [INFO] [stderr] ... | [INFO] [stderr] 85 | | } [INFO] [stderr] 86 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 74 | impl Default for piece_move_list::PieceMoveList { [INFO] [stderr] 75 | fn default() -> Self { [INFO] [stderr] 76 | Self::new() [INFO] [stderr] 77 | } [INFO] [stderr] 78 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/piece_move_list.rs:153:12 [INFO] [stderr] | [INFO] [stderr] 153 | if self.len() > 0 && self.lists[self.ply][0].item == m { [INFO] [stderr] | ^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.is_empty()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::len_zero)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/piece_move_list.rs:227:33 [INFO] [stderr] | [INFO] [stderr] 227 | let epb = ((ep as u64 >> 6) ^ 1) << (ep % 64); [INFO] [stderr] | ^^^^^^^^^ help: try: `u64::from(ep)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `positions::Position` [INFO] [stderr] --> src/positions.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | / pub fn new() -> Position { [INFO] [stderr] 28 | | Position { [INFO] [stderr] 29 | | hash: 0, // TODO: is it a problem for the starting position? [INFO] [stderr] 30 | | side: WHITE, [INFO] [stderr] ... | [INFO] [stderr] 36 | | } [INFO] [stderr] 37 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::new_without_default_derive)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default_derive [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 8 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `positions::Positions` [INFO] [stderr] --> src/positions.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 65 | / pub fn new() -> Positions { [INFO] [stderr] 66 | | Positions { [INFO] [stderr] 67 | | stack: [Position::new(); MAX_POSITIONS], [INFO] [stderr] 68 | | fullmoves_init: 0, [INFO] [stderr] 69 | | ply: 0 [INFO] [stderr] 70 | | } [INFO] [stderr] 71 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 64 | impl Default for positions::Positions { [INFO] [stderr] 65 | fn default() -> Self { [INFO] [stderr] 66 | Self::new() [INFO] [stderr] 67 | } [INFO] [stderr] 68 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: the function has a cyclomatic complexity of 29 [INFO] [stderr] --> src/positions.rs:181:5 [INFO] [stderr] | [INFO] [stderr] 181 | / fn test_position_castling_rights() { [INFO] [stderr] 182 | | let mut pos = Position::new(); [INFO] [stderr] 183 | | [INFO] [stderr] 184 | | assert_eq!(pos.castling_right(WHITE, KING), false); [INFO] [stderr] ... | [INFO] [stderr] 223 | | assert_eq!(pos.castling_right(BLACK, QUEEN), false); [INFO] [stderr] 224 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cyclomatic_complexity)] on by default [INFO] [stderr] = help: you could split it up into multiple smaller functions [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cyclomatic_complexity [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `h`. [INFO] [stderr] --> src/transposition_table.rs:88:22 [INFO] [stderr] | [INFO] [stderr] 88 | for i in 0..n { [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_range_loop [INFO] [stderr] help: consider using an iterator [INFO] [stderr] | [INFO] [stderr] 88 | for in h.iter_mut().take(n) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/transposition_table.rs:140:23 [INFO] [stderr] | [INFO] [stderr] 140 | let percent = (lower_count as f64) * 100.0 / (self.len() as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(lower_count)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/transposition_table.rs:142:23 [INFO] [stderr] | [INFO] [stderr] 142 | let percent = (upper_count as f64) * 100.0 / (self.len() as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(upper_count)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/transposition_table.rs:144:23 [INFO] [stderr] | [INFO] [stderr] 144 | let percent = (exact_count as f64) * 100.0 / (self.len() as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(exact_count)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] error: mutable borrow from immutable input(s) [INFO] [stderr] --> src/transposition_table.rs:175:26 [INFO] [stderr] | [INFO] [stderr] 175 | pub fn get(&self) -> &mut [Transposition] { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::mut_from_ref)] on by default [INFO] [stderr] note: immutable borrow here [INFO] [stderr] --> src/transposition_table.rs:175:16 [INFO] [stderr] | [INFO] [stderr] 175 | pub fn get(&self) -> &mut [Transposition] { [INFO] [stderr] | ^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#mut_from_ref [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `zobrist::Zobrist` [INFO] [stderr] --> src/zobrist.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | / pub fn new() -> Zobrist { [INFO] [stderr] 18 | | let mut zobrist = Zobrist { [INFO] [stderr] 19 | | pieces: [[0; 64]; 14], [INFO] [stderr] 20 | | en_passant: [0; 64], [INFO] [stderr] ... | [INFO] [stderr] 42 | | zobrist [INFO] [stderr] 43 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 16 | impl Default for zobrist::Zobrist { [INFO] [stderr] 17 | fn default() -> Self { [INFO] [stderr] 18 | Self::new() [INFO] [stderr] 19 | } [INFO] [stderr] 20 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u16 to u64 may become silently lossy if types change [INFO] [stderr] --> src/clock.rs:60:31 [INFO] [stderr] | [INFO] [stderr] 60 | self.time_remaining / self.moves_remaining as u64 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `u64::from(self.moves_remaining)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/eval.rs:124:50 [INFO] [stderr] | [INFO] [stderr] 124 | println!("material: {:>5.2}", 0.01 * material_score as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(material_score)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/eval.rs:125:50 [INFO] [stderr] | [INFO] [stderr] 125 | println!("position: {:>5.2}", 0.01 * position_score as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(position_score)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/eval.rs:126:50 [INFO] [stderr] | [INFO] [stderr] 126 | println!("mobility: {:>5.2}", 0.01 * mobility_score as f64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(mobility_score)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting i16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/eval.rs:127:50 [INFO] [stderr] | [INFO] [stderr] 127 | println!("total: {:>5.2}", 0.01 * score as f64); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `f64::from(score)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `game::Game` [INFO] [stderr] --> src/game.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | / pub fn new() -> Game { [INFO] [stderr] 41 | | Game { [INFO] [stderr] 42 | | protocol: Protocol::CLI, [INFO] [stderr] 43 | | starting_fen: String::from(DEFAULT_FEN), [INFO] [stderr] ... | [INFO] [stderr] 59 | | } [INFO] [stderr] 60 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 38 | impl Default for game::Game { [INFO] [stderr] 39 | fn default() -> Self { [INFO] [stderr] 40 | Self::new() [INFO] [stderr] 41 | } [INFO] [stderr] 42 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/game.rs:123:17 [INFO] [stderr] | [INFO] [stderr] 123 | format!("|") [INFO] [stderr] | ^^^^^^^^^^^^ help: consider using .to_string(): `"|".to_string()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::useless_format)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `protocols::cli::CLI` [INFO] [stderr] --> src/protocols/cli.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | / pub fn new() -> CLI { [INFO] [stderr] 35 | | // Load startup position [INFO] [stderr] 36 | | let mut game = Game::from_fen(DEFAULT_FEN); [INFO] [stderr] 37 | | [INFO] [stderr] ... | [INFO] [stderr] 46 | | } [INFO] [stderr] 47 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 33 | impl Default for protocols::cli::CLI { [INFO] [stderr] 34 | fn default() -> Self { [INFO] [stderr] 35 | Self::new() [INFO] [stderr] 36 | } [INFO] [stderr] 37 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/protocols/cli.rs:178:30 [INFO] [stderr] | [INFO] [stderr] 178 | self.print_error(format!("no subcommand given")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"no subcommand given".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/protocols/cli.rs:190:34 [INFO] [stderr] | [INFO] [stderr] 190 | self.print_error(format!("not implemented yet")); // TODO [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"not implemented yet".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/protocols/cli.rs:203:30 [INFO] [stderr] | [INFO] [stderr] 203 | self.print_error(format!("no subcommand given")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"no subcommand given".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/protocols/cli.rs:217:38 [INFO] [stderr] | [INFO] [stderr] 217 | self.print_error(format!("no filename given")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"no filename given".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: this creates an owned instance just for comparison [INFO] [stderr] --> src/protocols/cli.rs:249:36 [INFO] [stderr] | [INFO] [stderr] 249 | if starting_fen != String::from(DEFAULT_FEN) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `DEFAULT_FEN` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cmp_owned)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cmp_owned [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/protocols/cli.rs:298:30 [INFO] [stderr] | [INFO] [stderr] 298 | self.print_error(format!("no subcommand given")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"no subcommand given".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/protocols/cli.rs:410:12 [INFO] [stderr] | [INFO] [stderr] 410 | if self.game.history.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.game.history.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/protocols/cli.rs:481:30 [INFO] [stderr] | [INFO] [stderr] 481 | self.print_error(format!("no depth given")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"no depth given".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/protocols/cli.rs:553:30 [INFO] [stderr] | [INFO] [stderr] 553 | self.print_error(format!("no filename given")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"no filename given".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: useless use of `format!` [INFO] [stderr] --> src/protocols/cli.rs:582:30 [INFO] [stderr] | [INFO] [stderr] 582 | self.print_error(format!("no filename given")); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider using .to_string(): `"no filename given".to_string()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#useless_format [INFO] [stderr] [INFO] [stderr] warning: single-character string constant used as pattern [INFO] [stderr] --> src/protocols/cli.rs:596:35 [INFO] [stderr] | [INFO] [stderr] 596 | let line = line.split(";").next().unwrap(); [INFO] [stderr] | ^^^ help: try using a char instead: `';'` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::single_char_pattern)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#single_char_pattern [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `protocols::uci::UCI` [INFO] [stderr] --> src/protocols/uci.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | / pub fn new() -> UCI { [INFO] [stderr] 26 | | UCI { [INFO] [stderr] 27 | | game: Game::from_fen(DEFAULT_FEN), [INFO] [stderr] 28 | | max_depth: (MAX_PLY - 10) as Depth, [INFO] [stderr] ... | [INFO] [stderr] 31 | | } [INFO] [stderr] 32 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 24 | impl Default for protocols::uci::UCI { [INFO] [stderr] 25 | fn default() -> Self { [INFO] [stderr] 26 | Self::new() [INFO] [stderr] 27 | } [INFO] [stderr] 28 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: you should consider adding a `Default` implementation for `protocols::xboard::XBoard` [INFO] [stderr] --> src/protocols/xboard.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | / pub fn new() -> XBoard { [INFO] [stderr] 24 | | XBoard { [INFO] [stderr] 25 | | game: Game::from_fen(DEFAULT_FEN), [INFO] [stderr] 26 | | max_depth: (MAX_PLY - 10) as Depth, [INFO] [stderr] 27 | | force: false [INFO] [stderr] 28 | | } [INFO] [stderr] 29 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#new_without_default [INFO] [stderr] help: try this [INFO] [stderr] | [INFO] [stderr] 22 | impl Default for protocols::xboard::XBoard { [INFO] [stderr] 23 | fn default() -> Self { [INFO] [stderr] 24 | Self::new() [INFO] [stderr] 25 | } [INFO] [stderr] 26 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/protocols/xboard.rs:83:12 [INFO] [stderr] | [INFO] [stderr] 83 | if self.game.history.len() > 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `!self.game.history.is_empty()` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#len_zero [INFO] [stderr] [INFO] [stderr] warning: the operation is ineffective. Consider reducing it to `1000` [INFO] [stderr] --> src/search.rs:799:36 [INFO] [stderr] | [INFO] [stderr] 799 | game.clock = Clock::new(1, 1 * 1000); // 1 seconds [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#identity_op [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `littlewing`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "55b08cf4a5e6d8efe0afbb551100b28ecf62d08f46e14df69b0a566289a3075b"` [INFO] running `"docker" "rm" "-f" "55b08cf4a5e6d8efe0afbb551100b28ecf62d08f46e14df69b0a566289a3075b"` [INFO] [stdout] 55b08cf4a5e6d8efe0afbb551100b28ecf62d08f46e14df69b0a566289a3075b