[INFO] updating cached repository moratorium08/reversi-ai [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/moratorium08/reversi-ai [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/moratorium08/reversi-ai" "work/ex/clippy-test-run/sources/stable/gh/moratorium08/reversi-ai"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/moratorium08/reversi-ai'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/moratorium08/reversi-ai" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/moratorium08/reversi-ai"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/moratorium08/reversi-ai'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 152e93a6f9e170378dca6f9ef0b878a155ba35aa [INFO] sha for GitHub repo moratorium08/reversi-ai: 152e93a6f9e170378dca6f9ef0b878a155ba35aa [INFO] validating manifest of moratorium08/reversi-ai 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 moratorium08/reversi-ai 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 moratorium08/reversi-ai [INFO] finished frobbing moratorium08/reversi-ai [INFO] frobbed toml for moratorium08/reversi-ai written to work/ex/clippy-test-run/sources/stable/gh/moratorium08/reversi-ai/Cargo.toml [INFO] started frobbing moratorium08/reversi-ai [INFO] finished frobbing moratorium08/reversi-ai [INFO] frobbed toml for moratorium08/reversi-ai written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/moratorium08/reversi-ai/Cargo.toml [INFO] crate moratorium08/reversi-ai has a lockfile. skipping [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+stable" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] linting moratorium08/reversi-ai 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/gh/moratorium08/reversi-ai:/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] 13d67b6c91495d7b10456ef003e64df093dad9a9a233b6d099f3993e8a034e56 [INFO] running `"docker" "start" "-a" "13d67b6c91495d7b10456ef003e64df093dad9a9a233b6d099f3993e8a034e56"` [INFO] [stderr] Checking memchr v2.0.1 [INFO] [stderr] Checking nom v4.0.0 [INFO] [stderr] Checking client v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: using `print!()` with a format string that ends in a single newline, consider using `println!()` instead [INFO] [stderr] --> src/board.rs:215:21 [INFO] [stderr] | [INFO] [stderr] 215 | print!("\n"); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::print_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `print!()` with a format string that ends in a single newline, consider using `println!()` instead [INFO] [stderr] --> src/board.rs:230:9 [INFO] [stderr] | [INFO] [stderr] 230 | print!("\n"); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/player/learning/analysis.rs:175:25 [INFO] [stderr] | [INFO] [stderr] 175 | write!(&mut writer, "\n"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `print!()` with a format string that ends in a single newline, consider using `println!()` instead [INFO] [stderr] --> src/board.rs:215:21 [INFO] [stderr] | [INFO] [stderr] 215 | print!("\n"); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::print_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `print!()` with a format string that ends in a single newline, consider using `println!()` instead [INFO] [stderr] --> src/board.rs:230:9 [INFO] [stderr] | [INFO] [stderr] 230 | print!("\n"); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#print_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/player/learning/analysis.rs:175:25 [INFO] [stderr] | [INFO] [stderr] 175 | write!(&mut writer, "\n"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/board.rs:270:24 [INFO] [stderr] | [INFO] [stderr] 270 | let yzw = op & 0x7e7e7e7e7e7e7e7eu64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x7e7e_7e7e_7e7e_7e7eu64` [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/board.rs:272:21 [INFO] [stderr] | [INFO] [stderr] 272 | let maskx = 0x0080808080808080u64 >> (63 - pos); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x0080_8080_8080_8080u64` [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/board.rs:273:21 [INFO] [stderr] | [INFO] [stderr] 273 | let masky = 0x7f00000000000000u64 >> (63 - pos); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x7f00_0000_0000_0000u64` [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/board.rs:274:21 [INFO] [stderr] | [INFO] [stderr] 274 | let maskz = 0x0102040810204000u64 >> (63 - pos); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x0102_0408_1020_4000u64` [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/board.rs:275:21 [INFO] [stderr] | [INFO] [stderr] 275 | let maskw = 0x0040201008040201u64 >> (63 - pos); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x0040_2010_0804_0201u64` [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/board.rs:277:26 [INFO] [stderr] | [INFO] [stderr] 277 | let outflankx = (0x8000000000000000u64 >> clz(!x & maskx)) & pl; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x8000_0000_0000_0000u64` [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/board.rs:278:26 [INFO] [stderr] | [INFO] [stderr] 278 | let outflanky = (0x8000000000000000u64 >> clz(!yzw & masky)) & pl; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x8000_0000_0000_0000u64` [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/board.rs:279:26 [INFO] [stderr] | [INFO] [stderr] 279 | let outflankz = (0x8000000000000000u64 >> clz(!yzw & maskz)) & pl; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x8000_0000_0000_0000u64` [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/board.rs:280:26 [INFO] [stderr] | [INFO] [stderr] 280 | let outflankw = (0x8000000000000000u64 >> clz(!yzw & maskw)) & pl; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x8000_0000_0000_0000u64` [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/board.rs:287:22 [INFO] [stderr] | [INFO] [stderr] 287 | let mask2x = 0x0101010101010100u64 << pos; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x0101_0101_0101_0100u64` [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/board.rs:288:22 [INFO] [stderr] | [INFO] [stderr] 288 | let mask2y = 0x00000000000000feu64 << pos; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_0000_0000_00feu64` [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/board.rs:289:22 [INFO] [stderr] | [INFO] [stderr] 289 | let mask2z = 0x0002040810204080u64 << pos; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x0002_0408_1020_4080u64` [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/board.rs:290:22 [INFO] [stderr] | [INFO] [stderr] 290 | let mask2w = 0x8040201008040200u64 << pos; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x8040_2010_0804_0200u64` [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/board.rs:322:17 [INFO] [stderr] | [INFO] [stderr] 322 | let x = 0x7e7e7e7e7e7e7e7eu64 & op; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x7e7e_7e7e_7e7e_7e7eu64` [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/board.rs:323:17 [INFO] [stderr] | [INFO] [stderr] 323 | let y = 0x00FFFFFFFFFFFF00u64 & op; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x00FF_FFFF_FFFF_FF00u64` [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/board.rs:324:17 [INFO] [stderr] | [INFO] [stderr] 324 | let z = 0x007e7e7e7e7e7e00u64 & op; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x007e_7e7e_7e7e_7e00u64` [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/board.rs:425:25 [INFO] [stderr] | [INFO] [stderr] 425 | let mut white = 0x00000000F0F0F0F0u64 & (tmp << 4); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_0000_F0F0_F0F0u64` [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/board.rs:426:18 [INFO] [stderr] | [INFO] [stderr] 426 | white |= 0xF0F0F0F00F0F0F0Fu64 & (tmp << 32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0xF0F0_F0F0_0F0F_0F0Fu64` [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/board.rs:427:18 [INFO] [stderr] | [INFO] [stderr] 427 | white |= 0xF0F0F0F00F0F0F0Fu64 & (tmp >> 32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0xF0F0_F0F0_0F0F_0F0Fu64` [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/board.rs:428:18 [INFO] [stderr] | [INFO] [stderr] 428 | white |= 0x0F0F0F0F00000000u64 & (tmp >> 4); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x0F0F_0F0F_0000_0000u64` [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/board.rs:431:17 [INFO] [stderr] | [INFO] [stderr] 431 | white = 0x0000CCCC0000CCCC & (tmp << 2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_CCCC_0000_CCCC` [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/board.rs:432:18 [INFO] [stderr] | [INFO] [stderr] 432 | white |= 0xCCCC0000CCCC0000 & (tmp << 16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xCCCC_0000_CCCC_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/board.rs:433:18 [INFO] [stderr] | [INFO] [stderr] 433 | white |= 0x0000333300003333 & (tmp >> 16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_3333_0000_3333` [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/board.rs:434:18 [INFO] [stderr] | [INFO] [stderr] 434 | white |= 0x3333000033330000 & (tmp >> 2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x3333_0000_3333_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/board.rs:437:17 [INFO] [stderr] | [INFO] [stderr] 437 | white = 0x00AA00AA00AA00AA & (tmp << 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x00AA_00AA_00AA_00AA` [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/board.rs:438:18 [INFO] [stderr] | [INFO] [stderr] 438 | white |= 0xAA00AA00AA00AA00 & (tmp << 8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xAA00_AA00_AA00_AA00` [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/board.rs:439:18 [INFO] [stderr] | [INFO] [stderr] 439 | white |= 0x0055005500550055 & (tmp >> 8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0055_0055_0055_0055` [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/board.rs:440:18 [INFO] [stderr] | [INFO] [stderr] 440 | white |= 0x5500550055005500 & (tmp >> 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x5500_5500_5500_5500` [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/board.rs:443:25 [INFO] [stderr] | [INFO] [stderr] 443 | let mut black = 0x00000000F0F0F0F0u64 & (tmp << 4); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_0000_F0F0_F0F0u64` [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/board.rs:444:18 [INFO] [stderr] | [INFO] [stderr] 444 | black |= 0xF0F0F0F00F0F0F0Fu64 & (tmp << 32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0xF0F0_F0F0_0F0F_0F0Fu64` [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/board.rs:445:18 [INFO] [stderr] | [INFO] [stderr] 445 | black |= 0xF0F0F0F00F0F0F0Fu64 & (tmp >> 32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0xF0F0_F0F0_0F0F_0F0Fu64` [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/board.rs:446:18 [INFO] [stderr] | [INFO] [stderr] 446 | black |= 0x0F0F0F0F00000000u64 & (tmp >> 4); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x0F0F_0F0F_0000_0000u64` [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/board.rs:449:17 [INFO] [stderr] | [INFO] [stderr] 449 | black = 0x0000CCCC0000CCCC & (tmp << 2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_CCCC_0000_CCCC` [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/board.rs:450:18 [INFO] [stderr] | [INFO] [stderr] 450 | black |= 0xCCCC0000CCCC0000 & (tmp << 16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xCCCC_0000_CCCC_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/board.rs:451:18 [INFO] [stderr] | [INFO] [stderr] 451 | black |= 0x0000333300003333 & (tmp >> 16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_3333_0000_3333` [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/board.rs:452:18 [INFO] [stderr] | [INFO] [stderr] 452 | black |= 0x3333000033330000 & (tmp >> 2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x3333_0000_3333_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/board.rs:455:17 [INFO] [stderr] | [INFO] [stderr] 455 | black = 0x00AA00AA00AA00AA & (tmp << 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x00AA_00AA_00AA_00AA` [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/board.rs:456:18 [INFO] [stderr] | [INFO] [stderr] 456 | black |= 0xAA00AA00AA00AA00 & (tmp << 8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xAA00_AA00_AA00_AA00` [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/board.rs:457:18 [INFO] [stderr] | [INFO] [stderr] 457 | black |= 0x0055005500550055 & (tmp >> 8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0055_0055_0055_0055` [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/board.rs:458:18 [INFO] [stderr] | [INFO] [stderr] 458 | black |= 0x5500550055005500 & (tmp >> 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x5500_5500_5500_5500` [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/board.rs:464:10 [INFO] [stderr] | [INFO] [stderr] 464 | ((self.black >> bit) & 1 + ((self.white >> bit) & 1) * 2) as u8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(self.black >> bit) & (1 + ((self.white >> bit) & 1) * 2)` [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/board.rs:270:24 [INFO] [stderr] | [INFO] [stderr] 270 | let yzw = op & 0x7e7e7e7e7e7e7e7eu64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x7e7e_7e7e_7e7e_7e7eu64` [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/board.rs:272:21 [INFO] [stderr] | [INFO] [stderr] 272 | let maskx = 0x0080808080808080u64 >> (63 - pos); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x0080_8080_8080_8080u64` [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/board.rs:273:21 [INFO] [stderr] | [INFO] [stderr] 273 | let masky = 0x7f00000000000000u64 >> (63 - pos); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x7f00_0000_0000_0000u64` [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/board.rs:274:21 [INFO] [stderr] | [INFO] [stderr] 274 | let maskz = 0x0102040810204000u64 >> (63 - pos); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x0102_0408_1020_4000u64` [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/board.rs:275:21 [INFO] [stderr] | [INFO] [stderr] 275 | let maskw = 0x0040201008040201u64 >> (63 - pos); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x0040_2010_0804_0201u64` [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/board.rs:277:26 [INFO] [stderr] | [INFO] [stderr] 277 | let outflankx = (0x8000000000000000u64 >> clz(!x & maskx)) & pl; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x8000_0000_0000_0000u64` [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/board.rs:278:26 [INFO] [stderr] | [INFO] [stderr] 278 | let outflanky = (0x8000000000000000u64 >> clz(!yzw & masky)) & pl; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x8000_0000_0000_0000u64` [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/board.rs:279:26 [INFO] [stderr] | [INFO] [stderr] 279 | let outflankz = (0x8000000000000000u64 >> clz(!yzw & maskz)) & pl; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x8000_0000_0000_0000u64` [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/board.rs:280:26 [INFO] [stderr] | [INFO] [stderr] 280 | let outflankw = (0x8000000000000000u64 >> clz(!yzw & maskw)) & pl; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x8000_0000_0000_0000u64` [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/board.rs:287:22 [INFO] [stderr] | [INFO] [stderr] 287 | let mask2x = 0x0101010101010100u64 << pos; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x0101_0101_0101_0100u64` [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/board.rs:288:22 [INFO] [stderr] | [INFO] [stderr] 288 | let mask2y = 0x00000000000000feu64 << pos; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_0000_0000_00feu64` [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/board.rs:289:22 [INFO] [stderr] | [INFO] [stderr] 289 | let mask2z = 0x0002040810204080u64 << pos; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x0002_0408_1020_4080u64` [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/board.rs:290:22 [INFO] [stderr] | [INFO] [stderr] 290 | let mask2w = 0x8040201008040200u64 << pos; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x8040_2010_0804_0200u64` [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/board.rs:322:17 [INFO] [stderr] | [INFO] [stderr] 322 | let x = 0x7e7e7e7e7e7e7e7eu64 & op; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x7e7e_7e7e_7e7e_7e7eu64` [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/board.rs:323:17 [INFO] [stderr] | [INFO] [stderr] 323 | let y = 0x00FFFFFFFFFFFF00u64 & op; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x00FF_FFFF_FFFF_FF00u64` [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/board.rs:324:17 [INFO] [stderr] | [INFO] [stderr] 324 | let z = 0x007e7e7e7e7e7e00u64 & op; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x007e_7e7e_7e7e_7e00u64` [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/board.rs:425:25 [INFO] [stderr] | [INFO] [stderr] 425 | let mut white = 0x00000000F0F0F0F0u64 & (tmp << 4); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_0000_F0F0_F0F0u64` [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/board.rs:426:18 [INFO] [stderr] | [INFO] [stderr] 426 | white |= 0xF0F0F0F00F0F0F0Fu64 & (tmp << 32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0xF0F0_F0F0_0F0F_0F0Fu64` [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/board.rs:427:18 [INFO] [stderr] | [INFO] [stderr] 427 | white |= 0xF0F0F0F00F0F0F0Fu64 & (tmp >> 32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0xF0F0_F0F0_0F0F_0F0Fu64` [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/board.rs:428:18 [INFO] [stderr] | [INFO] [stderr] 428 | white |= 0x0F0F0F0F00000000u64 & (tmp >> 4); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x0F0F_0F0F_0000_0000u64` [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/board.rs:431:17 [INFO] [stderr] | [INFO] [stderr] 431 | white = 0x0000CCCC0000CCCC & (tmp << 2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_CCCC_0000_CCCC` [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/board.rs:432:18 [INFO] [stderr] | [INFO] [stderr] 432 | white |= 0xCCCC0000CCCC0000 & (tmp << 16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xCCCC_0000_CCCC_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/board.rs:433:18 [INFO] [stderr] | [INFO] [stderr] 433 | white |= 0x0000333300003333 & (tmp >> 16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_3333_0000_3333` [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/board.rs:434:18 [INFO] [stderr] | [INFO] [stderr] 434 | white |= 0x3333000033330000 & (tmp >> 2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x3333_0000_3333_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/board.rs:437:17 [INFO] [stderr] | [INFO] [stderr] 437 | white = 0x00AA00AA00AA00AA & (tmp << 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x00AA_00AA_00AA_00AA` [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/board.rs:438:18 [INFO] [stderr] | [INFO] [stderr] 438 | white |= 0xAA00AA00AA00AA00 & (tmp << 8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xAA00_AA00_AA00_AA00` [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/board.rs:439:18 [INFO] [stderr] | [INFO] [stderr] 439 | white |= 0x0055005500550055 & (tmp >> 8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0055_0055_0055_0055` [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/board.rs:440:18 [INFO] [stderr] | [INFO] [stderr] 440 | white |= 0x5500550055005500 & (tmp >> 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x5500_5500_5500_5500` [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/board.rs:443:25 [INFO] [stderr] | [INFO] [stderr] 443 | let mut black = 0x00000000F0F0F0F0u64 & (tmp << 4); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_0000_F0F0_F0F0u64` [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/board.rs:444:18 [INFO] [stderr] | [INFO] [stderr] 444 | black |= 0xF0F0F0F00F0F0F0Fu64 & (tmp << 32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0xF0F0_F0F0_0F0F_0F0Fu64` [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/board.rs:445:18 [INFO] [stderr] | [INFO] [stderr] 445 | black |= 0xF0F0F0F00F0F0F0Fu64 & (tmp >> 32); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0xF0F0_F0F0_0F0F_0F0Fu64` [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/board.rs:446:18 [INFO] [stderr] | [INFO] [stderr] 446 | black |= 0x0F0F0F0F00000000u64 & (tmp >> 4); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: consider: `0x0F0F_0F0F_0000_0000u64` [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/board.rs:449:17 [INFO] [stderr] | [INFO] [stderr] 449 | black = 0x0000CCCC0000CCCC & (tmp << 2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_CCCC_0000_CCCC` [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/board.rs:450:18 [INFO] [stderr] | [INFO] [stderr] 450 | black |= 0xCCCC0000CCCC0000 & (tmp << 16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xCCCC_0000_CCCC_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/board.rs:451:18 [INFO] [stderr] | [INFO] [stderr] 451 | black |= 0x0000333300003333 & (tmp >> 16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0000_3333_0000_3333` [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/board.rs:452:18 [INFO] [stderr] | [INFO] [stderr] 452 | black |= 0x3333000033330000 & (tmp >> 2); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x3333_0000_3333_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/board.rs:455:17 [INFO] [stderr] | [INFO] [stderr] 455 | black = 0x00AA00AA00AA00AA & (tmp << 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x00AA_00AA_00AA_00AA` [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/board.rs:456:18 [INFO] [stderr] | [INFO] [stderr] 456 | black |= 0xAA00AA00AA00AA00 & (tmp << 8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0xAA00_AA00_AA00_AA00` [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/board.rs:457:18 [INFO] [stderr] | [INFO] [stderr] 457 | black |= 0x0055005500550055 & (tmp >> 8); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x0055_0055_0055_0055` [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/board.rs:458:18 [INFO] [stderr] | [INFO] [stderr] 458 | black |= 0x5500550055005500 & (tmp >> 1); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: consider: `0x5500_5500_5500_5500` [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/board.rs:464:10 [INFO] [stderr] | [INFO] [stderr] 464 | ((self.black >> bit) & 1 + ((self.white >> bit) & 1) * 2) as u8 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: consider parenthesizing your expression: `(self.black >> bit) & (1 + ((self.white >> bit) & 1) * 2)` [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: module has the same name as its containing module [INFO] [stderr] --> src/player/mod.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | pub mod player; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/player/linear_evaluator.rs:31:21 [INFO] [stderr] | [INFO] [stderr] 31 | let coef = [0.87322733, -0.24674064, 0.45119731, -0.55724615, 0.33250983, -0.2325938, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.873_227_33` [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/player/linear_evaluator.rs:31:34 [INFO] [stderr] | [INFO] [stderr] 31 | let coef = [0.87322733, -0.24674064, 0.45119731, -0.55724615, 0.33250983, -0.2325938, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.246_740_64` [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/player/linear_evaluator.rs:31:46 [INFO] [stderr] | [INFO] [stderr] 31 | let coef = [0.87322733, -0.24674064, 0.45119731, -0.55724615, 0.33250983, -0.2325938, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.451_197_31` [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/player/linear_evaluator.rs:31:59 [INFO] [stderr] | [INFO] [stderr] 31 | let coef = [0.87322733, -0.24674064, 0.45119731, -0.55724615, 0.33250983, -0.2325938, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.557_246_15` [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/player/linear_evaluator.rs:31:71 [INFO] [stderr] | [INFO] [stderr] 31 | let coef = [0.87322733, -0.24674064, 0.45119731, -0.55724615, 0.33250983, -0.2325938, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.332_509_83` [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/player/linear_evaluator.rs:31:84 [INFO] [stderr] | [INFO] [stderr] 31 | let coef = [0.87322733, -0.24674064, 0.45119731, -0.55724615, 0.33250983, -0.2325938, [INFO] [stderr] | ^^^^^^^^^ help: consider: `0.232_593_8` [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/player/linear_evaluator.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | 0.36340727, 0.26275155, -1.51238341, -1.14778382, -0.40514061, 0.04111813]; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.363_407_27` [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/player/linear_evaluator.rs:32:22 [INFO] [stderr] | [INFO] [stderr] 32 | 0.36340727, 0.26275155, -1.51238341, -1.14778382, -0.40514061, 0.04111813]; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.262_751_55` [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/player/linear_evaluator.rs:32:36 [INFO] [stderr] | [INFO] [stderr] 32 | 0.36340727, 0.26275155, -1.51238341, -1.14778382, -0.40514061, 0.04111813]; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1.512_383_41` [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/player/linear_evaluator.rs:32:49 [INFO] [stderr] | [INFO] [stderr] 32 | 0.36340727, 0.26275155, -1.51238341, -1.14778382, -0.40514061, 0.04111813]; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1.147_783_82` [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/player/linear_evaluator.rs:32:62 [INFO] [stderr] | [INFO] [stderr] 32 | 0.36340727, 0.26275155, -1.51238341, -1.14778382, -0.40514061, 0.04111813]; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.405_140_61` [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/player/linear_evaluator.rs:32:75 [INFO] [stderr] | [INFO] [stderr] 32 | 0.36340727, 0.26275155, -1.51238341, -1.14778382, -0.40514061, 0.04111813]; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.041_118_13` [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: module has the same name as its containing module [INFO] [stderr] --> src/player/mod.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | pub mod player; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/player/learning/analysis.rs:104:13 [INFO] [stderr] | [INFO] [stderr] 104 | / if (black + white) == 64 { [INFO] [stderr] 105 | | if (white > black && his.result == MatchResult::White) || [INFO] [stderr] 106 | | (black > white && his.result == MatchResult::Black) { [INFO] [stderr] 107 | | new_his.push(History{result, poses:new_vec}) [INFO] [stderr] 108 | | } [INFO] [stderr] 109 | | } [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] 104 | if (black + white) == 64 && ((white > black && his.result == MatchResult::White) || [INFO] [stderr] 105 | (black > white && his.result == MatchResult::Black)) { [INFO] [stderr] 106 | new_his.push(History{result, poses:new_vec}) [INFO] [stderr] 107 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/player/learning/analysis.rs:225:18 [INFO] [stderr] | [INFO] [stderr] 225 | else if black < white { [INFO] [stderr] | __________________^ [INFO] [stderr] 226 | | if MatchResult::White != his.result { [INFO] [stderr] 227 | | eprintln!("Match result is inconsistent"); [INFO] [stderr] 228 | | } [INFO] [stderr] 229 | | } [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] 225 | else if black < white && MatchResult::White != his.result { [INFO] [stderr] 226 | eprintln!("Match result is inconsistent"); [INFO] [stderr] 227 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/player/linear_evaluator.rs:31:21 [INFO] [stderr] | [INFO] [stderr] 31 | let coef = [0.87322733, -0.24674064, 0.45119731, -0.55724615, 0.33250983, -0.2325938, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.873_227_33` [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/player/linear_evaluator.rs:31:34 [INFO] [stderr] | [INFO] [stderr] 31 | let coef = [0.87322733, -0.24674064, 0.45119731, -0.55724615, 0.33250983, -0.2325938, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.246_740_64` [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/player/linear_evaluator.rs:31:46 [INFO] [stderr] | [INFO] [stderr] 31 | let coef = [0.87322733, -0.24674064, 0.45119731, -0.55724615, 0.33250983, -0.2325938, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.451_197_31` [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/player/linear_evaluator.rs:31:59 [INFO] [stderr] | [INFO] [stderr] 31 | let coef = [0.87322733, -0.24674064, 0.45119731, -0.55724615, 0.33250983, -0.2325938, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.557_246_15` [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/player/linear_evaluator.rs:31:71 [INFO] [stderr] | [INFO] [stderr] 31 | let coef = [0.87322733, -0.24674064, 0.45119731, -0.55724615, 0.33250983, -0.2325938, [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.332_509_83` [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/player/linear_evaluator.rs:31:84 [INFO] [stderr] | [INFO] [stderr] 31 | let coef = [0.87322733, -0.24674064, 0.45119731, -0.55724615, 0.33250983, -0.2325938, [INFO] [stderr] | ^^^^^^^^^ help: consider: `0.232_593_8` [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/player/linear_evaluator.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | 0.36340727, 0.26275155, -1.51238341, -1.14778382, -0.40514061, 0.04111813]; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.363_407_27` [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/player/linear_evaluator.rs:32:22 [INFO] [stderr] | [INFO] [stderr] 32 | 0.36340727, 0.26275155, -1.51238341, -1.14778382, -0.40514061, 0.04111813]; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.262_751_55` [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/player/linear_evaluator.rs:32:36 [INFO] [stderr] | [INFO] [stderr] 32 | 0.36340727, 0.26275155, -1.51238341, -1.14778382, -0.40514061, 0.04111813]; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1.512_383_41` [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/player/linear_evaluator.rs:32:49 [INFO] [stderr] | [INFO] [stderr] 32 | 0.36340727, 0.26275155, -1.51238341, -1.14778382, -0.40514061, 0.04111813]; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `1.147_783_82` [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/player/linear_evaluator.rs:32:62 [INFO] [stderr] | [INFO] [stderr] 32 | 0.36340727, 0.26275155, -1.51238341, -1.14778382, -0.40514061, 0.04111813]; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.405_140_61` [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/player/linear_evaluator.rs:32:75 [INFO] [stderr] | [INFO] [stderr] 32 | 0.36340727, 0.26275155, -1.51238341, -1.14778382, -0.40514061, 0.04111813]; [INFO] [stderr] | ^^^^^^^^^^ help: consider: `0.041_118_13` [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/player/learning/analysis.rs:104:13 [INFO] [stderr] | [INFO] [stderr] 104 | / if (black + white) == 64 { [INFO] [stderr] 105 | | if (white > black && his.result == MatchResult::White) || [INFO] [stderr] 106 | | (black > white && his.result == MatchResult::Black) { [INFO] [stderr] 107 | | new_his.push(History{result, poses:new_vec}) [INFO] [stderr] 108 | | } [INFO] [stderr] 109 | | } [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] 104 | if (black + white) == 64 && ((white > black && his.result == MatchResult::White) || [INFO] [stderr] 105 | (black > white && his.result == MatchResult::Black)) { [INFO] [stderr] 106 | new_his.push(History{result, poses:new_vec}) [INFO] [stderr] 107 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: this if statement can be collapsed [INFO] [stderr] --> src/player/learning/analysis.rs:225:18 [INFO] [stderr] | [INFO] [stderr] 225 | else if black < white { [INFO] [stderr] | __________________^ [INFO] [stderr] 226 | | if MatchResult::White != his.result { [INFO] [stderr] 227 | | eprintln!("Match result is inconsistent"); [INFO] [stderr] 228 | | } [INFO] [stderr] 229 | | } [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] 225 | else if black < white && MatchResult::White != his.result { [INFO] [stderr] 226 | eprintln!("Match result is inconsistent"); [INFO] [stderr] 227 | } [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unused variable: `scores` [INFO] [stderr] --> src/interface/game.rs:48:42 [INFO] [stderr] | [INFO] [stderr] 48 | client::Command::Bye(scores) => { [INFO] [stderr] | ^^^^^^ help: consider using `_scores` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t` [INFO] [stderr] --> src/interface/game.rs:52:58 [INFO] [stderr] | [INFO] [stderr] 52 | client::Command::Start(color, oname, t) => { [INFO] [stderr] | ^ help: consider using `_t` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `x` [INFO] [stderr] --> src/interface/game.rs:67:21 [INFO] [stderr] | [INFO] [stderr] 67 | x => panic!("Invalid Command") [INFO] [stderr] | ^ help: consider using `_x` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `result` [INFO] [stderr] --> src/interface/game.rs:133:42 [INFO] [stderr] | [INFO] [stderr] 133 | client::Command::End(result, n, m, r) => { [INFO] [stderr] | ^^^^^^ help: consider using `_result` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/interface/game.rs:133:50 [INFO] [stderr] | [INFO] [stderr] 133 | client::Command::End(result, n, m, r) => { [INFO] [stderr] | ^ help: consider using `_n` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `m` [INFO] [stderr] --> src/interface/game.rs:133:53 [INFO] [stderr] | [INFO] [stderr] 133 | client::Command::End(result, n, m, r) => { [INFO] [stderr] | ^ help: consider using `_m` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `r` [INFO] [stderr] --> src/interface/game.rs:133:56 [INFO] [stderr] | [INFO] [stderr] 133 | client::Command::End(result, n, m, r) => { [INFO] [stderr] | ^ help: consider using `_r` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `x` [INFO] [stderr] --> src/interface/game.rs:136:21 [INFO] [stderr] | [INFO] [stderr] 136 | x => panic!("Invalid Command") [INFO] [stderr] | ^ help: consider using `_x` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `result` [INFO] [stderr] --> src/interface/game.rs:153:42 [INFO] [stderr] | [INFO] [stderr] 153 | client::Command::End(result, n, m, r) => { [INFO] [stderr] | ^^^^^^ help: consider using `_result` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/interface/game.rs:153:50 [INFO] [stderr] | [INFO] [stderr] 153 | client::Command::End(result, n, m, r) => { [INFO] [stderr] | ^ help: consider using `_n` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `m` [INFO] [stderr] --> src/interface/game.rs:153:53 [INFO] [stderr] | [INFO] [stderr] 153 | client::Command::End(result, n, m, r) => { [INFO] [stderr] | ^ help: consider using `_m` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `r` [INFO] [stderr] --> src/interface/game.rs:153:56 [INFO] [stderr] | [INFO] [stderr] 153 | client::Command::End(result, n, m, r) => { [INFO] [stderr] | ^ help: consider using `_r` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `x` [INFO] [stderr] --> src/interface/game.rs:156:21 [INFO] [stderr] | [INFO] [stderr] 156 | x => panic!("Invalid Command") [INFO] [stderr] | ^ help: consider using `_x` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `result` [INFO] [stderr] --> src/interface/game.rs:163:24 [INFO] [stderr] | [INFO] [stderr] 163 | fn proc_end(&self, result: client::MatchResult, n: u8, m: u8, reason: String) {} [INFO] [stderr] | ^^^^^^ help: consider using `_result` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/interface/game.rs:163:53 [INFO] [stderr] | [INFO] [stderr] 163 | fn proc_end(&self, result: client::MatchResult, n: u8, m: u8, reason: String) {} [INFO] [stderr] | ^ help: consider using `_n` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `m` [INFO] [stderr] --> src/interface/game.rs:163:60 [INFO] [stderr] | [INFO] [stderr] 163 | fn proc_end(&self, result: client::MatchResult, n: u8, m: u8, reason: String) {} [INFO] [stderr] | ^ help: consider using `_m` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `reason` [INFO] [stderr] --> src/interface/game.rs:163:67 [INFO] [stderr] | [INFO] [stderr] 163 | fn proc_end(&self, result: client::MatchResult, n: u8, m: u8, reason: String) {} [INFO] [stderr] | ^^^^^^ help: consider using `_reason` instead [INFO] [stderr] [INFO] [stderr] warning: variable `epoch` is assigned to, but never used [INFO] [stderr] --> src/player/learning/analysis.rs:78:21 [INFO] [stderr] | [INFO] [stderr] 78 | let mut epoch = 0u8; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_epoch` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `x` [INFO] [stderr] --> src/player/learning/analysis.rs:159:17 [INFO] [stderr] | [INFO] [stderr] 159 | let x = 0..1; [INFO] [stderr] | ^ help: consider using `_x` instead [INFO] [stderr] [INFO] [stderr] warning: variable `epoch` is assigned to, but never used [INFO] [stderr] --> src/player/learning/analysis.rs:195:21 [INFO] [stderr] | [INFO] [stderr] 195 | let mut epoch = 0u8; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_epoch` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `board` [INFO] [stderr] --> src/player/learning/analysis.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | let board = self.simulate(|board: board::Board, result: MatchResult, epoch: usize| { [INFO] [stderr] | ^^^^^ help: consider using `_board` instead [INFO] [stderr] ... [INFO] [stderr] 233 | gen_analyzer!(diag4, 81, "DIAG4"); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unused variable: `board` [INFO] [stderr] --> src/player/learning/analysis.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | let board = self.simulate(|board: board::Board, result: MatchResult, epoch: usize| { [INFO] [stderr] | ^^^^^ help: consider using `_board` instead [INFO] [stderr] ... [INFO] [stderr] 234 | gen_analyzer!(diag5, 243, "DIAG5"); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unused variable: `board` [INFO] [stderr] --> src/player/learning/analysis.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | let board = self.simulate(|board: board::Board, result: MatchResult, epoch: usize| { [INFO] [stderr] | ^^^^^ help: consider using `_board` instead [INFO] [stderr] ... [INFO] [stderr] 235 | gen_analyzer!(diag6, 729, "DIAG6"); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unused variable: `board` [INFO] [stderr] --> src/player/learning/analysis.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | let board = self.simulate(|board: board::Board, result: MatchResult, epoch: usize| { [INFO] [stderr] | ^^^^^ help: consider using `_board` instead [INFO] [stderr] ... [INFO] [stderr] 236 | gen_analyzer!(diag7, 2187, "DIAG7"); [INFO] [stderr] | ------------------------------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unused variable: `board` [INFO] [stderr] --> src/player/learning/analysis.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | let board = self.simulate(|board: board::Board, result: MatchResult, epoch: usize| { [INFO] [stderr] | ^^^^^ help: consider using `_board` instead [INFO] [stderr] ... [INFO] [stderr] 237 | gen_analyzer!(diag8, 6561, "DIAG8"); [INFO] [stderr] | ------------------------------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unused variable: `board` [INFO] [stderr] --> src/player/learning/analysis.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | let board = self.simulate(|board: board::Board, result: MatchResult, epoch: usize| { [INFO] [stderr] | ^^^^^ help: consider using `_board` instead [INFO] [stderr] ... [INFO] [stderr] 238 | gen_analyzer!(hor_vert2, 6561, "HOR_VERT2"); [INFO] [stderr] | -------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unused variable: `board` [INFO] [stderr] --> src/player/learning/analysis.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | let board = self.simulate(|board: board::Board, result: MatchResult, epoch: usize| { [INFO] [stderr] | ^^^^^ help: consider using `_board` instead [INFO] [stderr] ... [INFO] [stderr] 239 | gen_analyzer!(hor_vert3, 6561, "HOR_VERT3"); [INFO] [stderr] | -------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unused variable: `board` [INFO] [stderr] --> src/player/learning/analysis.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | let board = self.simulate(|board: board::Board, result: MatchResult, epoch: usize| { [INFO] [stderr] | ^^^^^ help: consider using `_board` instead [INFO] [stderr] ... [INFO] [stderr] 240 | gen_analyzer!(hor_vert4, 6561, "HOR_VERT4"); [INFO] [stderr] | -------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unused variable: `board` [INFO] [stderr] --> src/player/learning/analysis.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | let board = self.simulate(|board: board::Board, result: MatchResult, epoch: usize| { [INFO] [stderr] | ^^^^^ help: consider using `_board` instead [INFO] [stderr] ... [INFO] [stderr] 241 | gen_analyzer!(edge2x, 59049, "EDGE2X"); [INFO] [stderr] | --------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unused variable: `board` [INFO] [stderr] --> src/player/learning/analysis.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | let board = self.simulate(|board: board::Board, result: MatchResult, epoch: usize| { [INFO] [stderr] | ^^^^^ help: consider using `_board` instead [INFO] [stderr] ... [INFO] [stderr] 242 | gen_analyzer!(corner2x5, 59049, "CORNER2X5"); [INFO] [stderr] | --------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unused variable: `board` [INFO] [stderr] --> src/player/learning/analysis.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | let board = self.simulate(|board: board::Board, result: MatchResult, epoch: usize| { [INFO] [stderr] | ^^^^^ help: consider using `_board` instead [INFO] [stderr] ... [INFO] [stderr] 243 | gen_analyzer!(corner3x3, 19683, "CORNER3X3"); [INFO] [stderr] | --------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unused variable: `board` [INFO] [stderr] --> src/player/learning/analysis.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | let board = self.simulate(|board: board::Board, result: MatchResult, epoch: usize| { [INFO] [stderr] | ^^^^^ help: consider using `_board` instead [INFO] [stderr] ... [INFO] [stderr] 244 | gen_analyzer!(corner2x2, 81, "CORNER2X2"); [INFO] [stderr] | ------------------------------------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interface/tcp_client.rs:55:13 [INFO] [stderr] | [INFO] [stderr] 55 | let mut ret: Result; [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/player/learning/analysis.rs:56:12 [INFO] [stderr] | [INFO] [stderr] 56 | fn new(mut reader: BufReader, output_dir: &'a str) -> Analyzer { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `v` [INFO] [stderr] --> src/interface/parser.rs:184:34 [INFO] [stderr] | [INFO] [stderr] 184 | (x, Command::Bye(v)) => { panic!("hoge={}", x); } [INFO] [stderr] | ^ help: consider using `_v` instead [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `scores` [INFO] [stderr] --> src/interface/game.rs:48:42 [INFO] [stderr] | [INFO] [stderr] 48 | client::Command::Bye(scores) => { [INFO] [stderr] | ^^^^^^ help: consider using `_scores` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t` [INFO] [stderr] --> src/interface/game.rs:52:58 [INFO] [stderr] | [INFO] [stderr] 52 | client::Command::Start(color, oname, t) => { [INFO] [stderr] | ^ help: consider using `_t` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `x` [INFO] [stderr] --> src/interface/game.rs:67:21 [INFO] [stderr] | [INFO] [stderr] 67 | x => panic!("Invalid Command") [INFO] [stderr] | ^ help: consider using `_x` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `result` [INFO] [stderr] --> src/interface/game.rs:133:42 [INFO] [stderr] | [INFO] [stderr] 133 | client::Command::End(result, n, m, r) => { [INFO] [stderr] | ^^^^^^ help: consider using `_result` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/interface/game.rs:133:50 [INFO] [stderr] | [INFO] [stderr] 133 | client::Command::End(result, n, m, r) => { [INFO] [stderr] | ^ help: consider using `_n` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `m` [INFO] [stderr] --> src/interface/game.rs:133:53 [INFO] [stderr] | [INFO] [stderr] 133 | client::Command::End(result, n, m, r) => { [INFO] [stderr] | ^ help: consider using `_m` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `r` [INFO] [stderr] --> src/interface/game.rs:133:56 [INFO] [stderr] | [INFO] [stderr] 133 | client::Command::End(result, n, m, r) => { [INFO] [stderr] | ^ help: consider using `_r` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `x` [INFO] [stderr] --> src/interface/game.rs:136:21 [INFO] [stderr] | [INFO] [stderr] 136 | x => panic!("Invalid Command") [INFO] [stderr] | ^ help: consider using `_x` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `result` [INFO] [stderr] --> src/interface/game.rs:153:42 [INFO] [stderr] | [INFO] [stderr] 153 | client::Command::End(result, n, m, r) => { [INFO] [stderr] | ^^^^^^ help: consider using `_result` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/interface/game.rs:153:50 [INFO] [stderr] | [INFO] [stderr] 153 | client::Command::End(result, n, m, r) => { [INFO] [stderr] | ^ help: consider using `_n` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `m` [INFO] [stderr] --> src/interface/game.rs:153:53 [INFO] [stderr] | [INFO] [stderr] 153 | client::Command::End(result, n, m, r) => { [INFO] [stderr] | ^ help: consider using `_m` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `r` [INFO] [stderr] --> src/interface/game.rs:153:56 [INFO] [stderr] | [INFO] [stderr] 153 | client::Command::End(result, n, m, r) => { [INFO] [stderr] | ^ help: consider using `_r` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `x` [INFO] [stderr] --> src/interface/game.rs:156:21 [INFO] [stderr] | [INFO] [stderr] 156 | x => panic!("Invalid Command") [INFO] [stderr] | ^ help: consider using `_x` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `result` [INFO] [stderr] --> src/interface/game.rs:163:24 [INFO] [stderr] | [INFO] [stderr] 163 | fn proc_end(&self, result: client::MatchResult, n: u8, m: u8, reason: String) {} [INFO] [stderr] | ^^^^^^ help: consider using `_result` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `n` [INFO] [stderr] --> src/interface/game.rs:163:53 [INFO] [stderr] | [INFO] [stderr] 163 | fn proc_end(&self, result: client::MatchResult, n: u8, m: u8, reason: String) {} [INFO] [stderr] | ^ help: consider using `_n` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `m` [INFO] [stderr] --> src/interface/game.rs:163:60 [INFO] [stderr] | [INFO] [stderr] 163 | fn proc_end(&self, result: client::MatchResult, n: u8, m: u8, reason: String) {} [INFO] [stderr] | ^ help: consider using `_m` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `reason` [INFO] [stderr] --> src/interface/game.rs:163:67 [INFO] [stderr] | [INFO] [stderr] 163 | fn proc_end(&self, result: client::MatchResult, n: u8, m: u8, reason: String) {} [INFO] [stderr] | ^^^^^^ help: consider using `_reason` instead [INFO] [stderr] [INFO] [stderr] warning: variable `epoch` is assigned to, but never used [INFO] [stderr] --> src/player/learning/analysis.rs:78:21 [INFO] [stderr] | [INFO] [stderr] 78 | let mut epoch = 0u8; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_epoch` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `x` [INFO] [stderr] --> src/player/learning/analysis.rs:159:17 [INFO] [stderr] | [INFO] [stderr] 159 | let x = 0..1; [INFO] [stderr] | ^ help: consider using `_x` instead [INFO] [stderr] [INFO] [stderr] warning: variable `epoch` is assigned to, but never used [INFO] [stderr] --> src/player/learning/analysis.rs:195:21 [INFO] [stderr] | [INFO] [stderr] 195 | let mut epoch = 0u8; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_epoch` instead [INFO] [stderr] [INFO] [stderr] warning: unused variable: `board` [INFO] [stderr] --> src/player/learning/analysis.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | let board = self.simulate(|board: board::Board, result: MatchResult, epoch: usize| { [INFO] [stderr] | ^^^^^ help: consider using `_board` instead [INFO] [stderr] ... [INFO] [stderr] 233 | gen_analyzer!(diag4, 81, "DIAG4"); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unused variable: `board` [INFO] [stderr] --> src/player/learning/analysis.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | let board = self.simulate(|board: board::Board, result: MatchResult, epoch: usize| { [INFO] [stderr] | ^^^^^ help: consider using `_board` instead [INFO] [stderr] ... [INFO] [stderr] 234 | gen_analyzer!(diag5, 243, "DIAG5"); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unused variable: `board` [INFO] [stderr] --> src/player/learning/analysis.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | let board = self.simulate(|board: board::Board, result: MatchResult, epoch: usize| { [INFO] [stderr] | ^^^^^ help: consider using `_board` instead [INFO] [stderr] ... [INFO] [stderr] 235 | gen_analyzer!(diag6, 729, "DIAG6"); [INFO] [stderr] | ----------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unused variable: `board` [INFO] [stderr] --> src/player/learning/analysis.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | let board = self.simulate(|board: board::Board, result: MatchResult, epoch: usize| { [INFO] [stderr] | ^^^^^ help: consider using `_board` instead [INFO] [stderr] ... [INFO] [stderr] 236 | gen_analyzer!(diag7, 2187, "DIAG7"); [INFO] [stderr] | ------------------------------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unused variable: `board` [INFO] [stderr] --> src/player/learning/analysis.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | let board = self.simulate(|board: board::Board, result: MatchResult, epoch: usize| { [INFO] [stderr] | ^^^^^ help: consider using `_board` instead [INFO] [stderr] ... [INFO] [stderr] 237 | gen_analyzer!(diag8, 6561, "DIAG8"); [INFO] [stderr] | ------------------------------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unused variable: `board` [INFO] [stderr] --> src/player/learning/analysis.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | let board = self.simulate(|board: board::Board, result: MatchResult, epoch: usize| { [INFO] [stderr] | ^^^^^ help: consider using `_board` instead [INFO] [stderr] ... [INFO] [stderr] 238 | gen_analyzer!(hor_vert2, 6561, "HOR_VERT2"); [INFO] [stderr] | -------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unused variable: `board` [INFO] [stderr] --> src/player/learning/analysis.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | let board = self.simulate(|board: board::Board, result: MatchResult, epoch: usize| { [INFO] [stderr] | ^^^^^ help: consider using `_board` instead [INFO] [stderr] ... [INFO] [stderr] 239 | gen_analyzer!(hor_vert3, 6561, "HOR_VERT3"); [INFO] [stderr] | -------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unused variable: `board` [INFO] [stderr] --> src/player/learning/analysis.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | let board = self.simulate(|board: board::Board, result: MatchResult, epoch: usize| { [INFO] [stderr] | ^^^^^ help: consider using `_board` instead [INFO] [stderr] ... [INFO] [stderr] 240 | gen_analyzer!(hor_vert4, 6561, "HOR_VERT4"); [INFO] [stderr] | -------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unused variable: `board` [INFO] [stderr] --> src/player/learning/analysis.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | let board = self.simulate(|board: board::Board, result: MatchResult, epoch: usize| { [INFO] [stderr] | ^^^^^ help: consider using `_board` instead [INFO] [stderr] ... [INFO] [stderr] 241 | gen_analyzer!(edge2x, 59049, "EDGE2X"); [INFO] [stderr] | --------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unused variable: `board` [INFO] [stderr] --> src/player/learning/analysis.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | let board = self.simulate(|board: board::Board, result: MatchResult, epoch: usize| { [INFO] [stderr] | ^^^^^ help: consider using `_board` instead [INFO] [stderr] ... [INFO] [stderr] 242 | gen_analyzer!(corner2x5, 59049, "CORNER2X5"); [INFO] [stderr] | --------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unused variable: `board` [INFO] [stderr] --> src/player/learning/analysis.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | let board = self.simulate(|board: board::Board, result: MatchResult, epoch: usize| { [INFO] [stderr] | ^^^^^ help: consider using `_board` instead [INFO] [stderr] ... [INFO] [stderr] 243 | gen_analyzer!(corner3x3, 19683, "CORNER3X3"); [INFO] [stderr] | --------------------------------------------- in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: unused variable: `board` [INFO] [stderr] --> src/player/learning/analysis.rs:25:17 [INFO] [stderr] | [INFO] [stderr] 25 | let board = self.simulate(|board: board::Board, result: MatchResult, epoch: usize| { [INFO] [stderr] | ^^^^^ help: consider using `_board` instead [INFO] [stderr] ... [INFO] [stderr] 244 | gen_analyzer!(corner2x2, 81, "CORNER2X2"); [INFO] [stderr] | ------------------------------------------ in this macro invocation [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interface/tcp_client.rs:55:13 [INFO] [stderr] | [INFO] [stderr] 55 | let mut ret: Result; [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/player/learning/analysis.rs:56:12 [INFO] [stderr] | [INFO] [stderr] 56 | fn new(mut reader: BufReader, output_dir: &'a str) -> Analyzer { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is_valid` [INFO] [stderr] --> src/board.rs:401:5 [INFO] [stderr] | [INFO] [stderr] 401 | fn is_valid(&self, pos: &BitIndexable, player: Color) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `proc_end` [INFO] [stderr] --> src/interface/game.rs:163:5 [INFO] [stderr] | [INFO] [stderr] 163 | fn proc_end(&self, result: client::MatchResult, n: u8, m: u8, reason: String) {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `map1` [INFO] [stderr] --> src/player/linear_evaluator.rs:16:1 [INFO] [stderr] | [INFO] [stderr] 16 | / const map1: [[i64; 8]; 8] = [ [INFO] [stderr] 17 | | [1000, -40, 5, 5, 5, 5, -40, 1000], [INFO] [stderr] 18 | | [-40, -40, 1, 1, 1, 1, -40, -40], [INFO] [stderr] 19 | | [5, 1, 1, 1, 1, 1, 1, 5], [INFO] [stderr] ... | [INFO] [stderr] 24 | | [1000, -40, 5, 5, 5, 5, -40, 1000], [INFO] [stderr] 25 | | ]; [INFO] [stderr] | |__^ [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/board.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | / pub fn from_str(s: String) -> Result { [INFO] [stderr] 49 | | let cs: Vec = s.chars().collect(); [INFO] [stderr] 50 | | if cs.len() != 2 { [INFO] [stderr] 51 | | Err("位置の形式エラー".to_string()) [INFO] [stderr] ... | [INFO] [stderr] 62 | | } [INFO] [stderr] 63 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::should_implement_trait)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/board.rs:57:42 [INFO] [stderr] | [INFO] [stderr] 57 | } else if c1 > 56 || c1 < 49 { [INFO] [stderr] | __________________________________________^ [INFO] [stderr] 58 | | Err("位置の範囲外".to_string()) [INFO] [stderr] 59 | | } else { [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/board.rs:55:35 [INFO] [stderr] | [INFO] [stderr] 55 | if c0 > 72 || c0 < 65 { [INFO] [stderr] | ___________________________________^ [INFO] [stderr] 56 | | Err("位置の範囲外".to_string()) [INFO] [stderr] 57 | | } else if c1 > 56 || c1 < 49 { [INFO] [stderr] | |_____________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `board::Board` [INFO] [stderr] --> src/board.rs:143:5 [INFO] [stderr] | [INFO] [stderr] 143 | / pub fn new() -> Board { [INFO] [stderr] 144 | | Board { [INFO] [stderr] 145 | | white: (1 << 27) + (1 << 36), [INFO] [stderr] 146 | | black: (1 << 28) + (1 << 35), [INFO] [stderr] 147 | | } [INFO] [stderr] 148 | | } [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] 34 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `hash`. [INFO] [stderr] --> src/board.rs:179:18 [INFO] [stderr] | [INFO] [stderr] 179 | for i in 0..8 { [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] 179 | for in hash.iter().take(8) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/board.rs:181:22 [INFO] [stderr] | [INFO] [stderr] 181 | white += hash[i] as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u64::from(hash[i])` [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 u64 may become silently lossy if types change [INFO] [stderr] --> src/board.rs:186:22 [INFO] [stderr] | [INFO] [stderr] 186 | black += hash[8 + i] as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u64::from(hash[8 + i])` [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 `interface::tcp_client::ClientBuilder<'a>` [INFO] [stderr] --> src/interface/tcp_client.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | / pub fn new() -> ClientBuilder<'a> { [INFO] [stderr] 20 | | ClientBuilder { host: "localhost", port: 3000 } [INFO] [stderr] 21 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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] 13 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/interface/tcp_client.rs:62:16 [INFO] [stderr] | [INFO] [stderr] 62 | if s.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `s.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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/interface/tcp_client.rs:84:17 [INFO] [stderr] | [INFO] [stderr] 84 | self.writer.flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: Negation by multiplying with -1 [INFO] [stderr] --> src/interface/parser.rs:90:30 [INFO] [stderr] | [INFO] [stderr] 90 | (if sign.len() == 1 {-1 * val} else {val}) [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::neg_multiply)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] warning: method is never used: `is_valid` [INFO] [stderr] --> src/board.rs:401:5 [INFO] [stderr] | [INFO] [stderr] 401 | fn is_valid(&self, pos: &BitIndexable, player: Color) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: method is never used: `proc_end` [INFO] [stderr] --> src/interface/game.rs:163:5 [INFO] [stderr] | [INFO] [stderr] 163 | fn proc_end(&self, result: client::MatchResult, n: u8, m: u8, reason: String) {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `map1` [INFO] [stderr] --> src/player/linear_evaluator.rs:16:1 [INFO] [stderr] | [INFO] [stderr] 16 | / const map1: [[i64; 8]; 8] = [ [INFO] [stderr] 17 | | [1000, -40, 5, 5, 5, 5, -40, 1000], [INFO] [stderr] 18 | | [-40, -40, 1, 1, 1, 1, -40, -40], [INFO] [stderr] 19 | | [5, 1, 1, 1, 1, 1, 1, 5], [INFO] [stderr] ... | [INFO] [stderr] 24 | | [1000, -40, 5, 5, 5, 5, -40, 1000], [INFO] [stderr] 25 | | ]; [INFO] [stderr] | |__^ [INFO] [stderr] [INFO] [stderr] warning: defining a method called `from_str` on this type; consider implementing the `std::str::FromStr` trait or choosing a less ambiguous name [INFO] [stderr] --> src/board.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | / pub fn from_str(s: String) -> Result { [INFO] [stderr] 49 | | let cs: Vec = s.chars().collect(); [INFO] [stderr] 50 | | if cs.len() != 2 { [INFO] [stderr] 51 | | Err("位置の形式エラー".to_string()) [INFO] [stderr] ... | [INFO] [stderr] 62 | | } [INFO] [stderr] 63 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::should_implement_trait)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#should_implement_trait [INFO] [stderr] [INFO] [stderr] error: this `if` has identical blocks [INFO] [stderr] --> src/board.rs:57:42 [INFO] [stderr] | [INFO] [stderr] 57 | } else if c1 > 56 || c1 < 49 { [INFO] [stderr] | __________________________________________^ [INFO] [stderr] 58 | | Err("位置の範囲外".to_string()) [INFO] [stderr] 59 | | } else { [INFO] [stderr] | |_____________^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::if_same_then_else)] on by default [INFO] [stderr] note: same as this [INFO] [stderr] --> src/board.rs:55:35 [INFO] [stderr] | [INFO] [stderr] 55 | if c0 > 72 || c0 < 65 { [INFO] [stderr] | ___________________________________^ [INFO] [stderr] 56 | | Err("位置の範囲外".to_string()) [INFO] [stderr] 57 | | } else if c1 > 56 || c1 < 49 { [INFO] [stderr] | |_____________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#if_same_then_else [INFO] [stderr] [INFO] [stderr] warning: you should consider deriving a `Default` implementation for `board::Board` [INFO] [stderr] --> src/board.rs:143:5 [INFO] [stderr] | [INFO] [stderr] 143 | / pub fn new() -> Board { [INFO] [stderr] 144 | | Board { [INFO] [stderr] 145 | | white: (1 << 27) + (1 << 36), [INFO] [stderr] 146 | | black: (1 << 28) + (1 << 35), [INFO] [stderr] 147 | | } [INFO] [stderr] 148 | | } [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] 34 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/player/ai.rs:90:29 [INFO] [stderr] | [INFO] [stderr] 90 | return (black as i64 - white as i64) * 1000; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i64::from(black)` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/player/ai.rs:90:44 [INFO] [stderr] | [INFO] [stderr] 90 | return (black as i64 - white as i64) * 1000; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i64::from(white)` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/player/ai.rs:92:29 [INFO] [stderr] | [INFO] [stderr] 92 | return (white as i64 - black as i64) * 1000; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i64::from(white)` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/player/ai.rs:92:44 [INFO] [stderr] | [INFO] [stderr] 92 | return (white as i64 - black as i64) * 1000; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i64::from(black)` [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 `player::linear_evaluator::Linear` [INFO] [stderr] --> src/player/linear_evaluator.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | / pub fn new() -> Linear { [INFO] [stderr] 12 | | Linear {} [INFO] [stderr] 13 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: constant `map1` should have an upper case name such as `MAP1` [INFO] [stderr] --> src/player/linear_evaluator.rs:16:1 [INFO] [stderr] | [INFO] [stderr] 16 | / const map1: [[i64; 8]; 8] = [ [INFO] [stderr] 17 | | [1000, -40, 5, 5, 5, 5, -40, 1000], [INFO] [stderr] 18 | | [-40, -40, 1, 1, 1, 1, -40, -40], [INFO] [stderr] 19 | | [5, 1, 1, 1, 1, 1, 1, 5], [INFO] [stderr] ... | [INFO] [stderr] 24 | | [1000, -40, 5, 5, 5, 5, -40, 1000], [INFO] [stderr] 25 | | ]; [INFO] [stderr] | |__^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_upper_case_globals)] on by default [INFO] [stderr] [INFO] [stderr] warning: the loop variable `i` is only used to index `hash`. [INFO] [stderr] --> src/board.rs:179:18 [INFO] [stderr] | [INFO] [stderr] 179 | for i in 0..8 { [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] 179 | for in hash.iter().take(8) { [INFO] [stderr] | ^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/board.rs:181:22 [INFO] [stderr] | [INFO] [stderr] 181 | white += hash[i] as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: try: `u64::from(hash[i])` [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 u64 may become silently lossy if types change [INFO] [stderr] --> src/board.rs:186:22 [INFO] [stderr] | [INFO] [stderr] 186 | black += hash[8 + i] as u64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: try: `u64::from(hash[8 + i])` [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 u16 to f32 may become silently lossy if types change [INFO] [stderr] --> src/player/linear_evaluator.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | let x = (x as f32) / ((u16::max_value() - 1) as f32) - 0.5f32; [INFO] [stderr] | ^^^^^^^^^^ help: try: `f32::from(x)` [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 u16 to f32 may become silently lossy if types change [INFO] [stderr] --> src/player/linear_evaluator.rs:42:26 [INFO] [stderr] | [INFO] [stderr] 42 | let x = (x as f32) / ((u16::max_value() - 1) as f32) - 0.5f32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f32::from(u16::max_value() - 1)` [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 u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/player/linear_evaluator.rs:65:17 [INFO] [stderr] | [INFO] [stderr] 65 | let point = b.count_ones() as i64 - c.count_ones() as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(b.count_ones())` [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 u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/player/linear_evaluator.rs:65:41 [INFO] [stderr] | [INFO] [stderr] 65 | let point = b.count_ones() as i64 - c.count_ones() as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(c.count_ones())` [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 `interface::tcp_client::ClientBuilder<'a>` [INFO] [stderr] --> src/interface/tcp_client.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | / pub fn new() -> ClientBuilder<'a> { [INFO] [stderr] 20 | | ClientBuilder { host: "localhost", port: 3000 } [INFO] [stderr] 21 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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] 13 | #[derive(Default)] [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/interface/tcp_client.rs:62:16 [INFO] [stderr] | [INFO] [stderr] 62 | if s.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `s.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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/interface/tcp_client.rs:84:17 [INFO] [stderr] | [INFO] [stderr] 84 | self.writer.flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_must_use)] on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: Negation by multiplying with -1 [INFO] [stderr] --> src/interface/parser.rs:90:30 [INFO] [stderr] | [INFO] [stderr] 90 | (if sign.len() == 1 {-1 * val} else {val}) [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::neg_multiply)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#neg_multiply [INFO] [stderr] [INFO] [stderr] warning: casting u8 to i64 may become silently lossy if types change [INFO] [stderr] --> src/player/ai.rs:90:29 [INFO] [stderr] | [INFO] [stderr] 90 | return (black as i64 - white as i64) * 1000; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i64::from(black)` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/player/ai.rs:90:44 [INFO] [stderr] | [INFO] [stderr] 90 | return (black as i64 - white as i64) * 1000; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i64::from(white)` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/player/ai.rs:92:29 [INFO] [stderr] | [INFO] [stderr] 92 | return (white as i64 - black as i64) * 1000; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i64::from(white)` [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 i64 may become silently lossy if types change [INFO] [stderr] --> src/player/ai.rs:92:44 [INFO] [stderr] | [INFO] [stderr] 92 | return (white as i64 - black as i64) * 1000; [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i64::from(black)` [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 `player::linear_evaluator::Linear` [INFO] [stderr] --> src/player/linear_evaluator.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | / pub fn new() -> Linear { [INFO] [stderr] 12 | | Linear {} [INFO] [stderr] 13 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] | [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: constant `map1` should have an upper case name such as `MAP1` [INFO] [stderr] --> src/player/linear_evaluator.rs:16:1 [INFO] [stderr] | [INFO] [stderr] 16 | / const map1: [[i64; 8]; 8] = [ [INFO] [stderr] 17 | | [1000, -40, 5, 5, 5, 5, -40, 1000], [INFO] [stderr] 18 | | [-40, -40, 1, 1, 1, 1, -40, -40], [INFO] [stderr] 19 | | [5, 1, 1, 1, 1, 1, 1, 5], [INFO] [stderr] ... | [INFO] [stderr] 24 | | [1000, -40, 5, 5, 5, 5, -40, 1000], [INFO] [stderr] 25 | | ]; [INFO] [stderr] | |__^ [INFO] [stderr] [INFO] [stderr] warning: constant `feature_functions` should have an upper case name such as `FEATURE_FUNCTIONS` [INFO] [stderr] --> src/player/linear_evaluator.rs:83:1 [INFO] [stderr] | [INFO] [stderr] 83 | / pub const feature_functions: [fn(board::Board) -> f32; 12] = [ [INFO] [stderr] 84 | | diag4, diag5, diag6, diag7, diag8, hor_vert2, hor_vert3, hor_vert4, [INFO] [stderr] 85 | | edge2x, corner2x2, corner3x3, flippable_diff [INFO] [stderr] 86 | | ]; [INFO] [stderr] | |__________^ [INFO] [stderr] [INFO] [stderr] warning: constant `feature_names` should have an upper case name such as `FEATURE_NAMES` [INFO] [stderr] --> src/player/linear_evaluator.rs:87:1 [INFO] [stderr] | [INFO] [stderr] 87 | / pub const feature_names: [&str; 12] = [ [INFO] [stderr] 88 | | "diag4", "diag5", "diag6", "diag7", "diag8", "hor_vert2", "hor_vert3", "hor_vert4", [INFO] [stderr] 89 | | "edge2x", "corner2x2", "corner3x3", "flippable_diff" [INFO] [stderr] 90 | | ]; [INFO] [stderr] | |__^ [INFO] [stderr] [INFO] [stderr] warning: casting u16 to f32 may become silently lossy if types change [INFO] [stderr] --> src/player/linear_evaluator.rs:42:13 [INFO] [stderr] | [INFO] [stderr] 42 | let x = (x as f32) / ((u16::max_value() - 1) as f32) - 0.5f32; [INFO] [stderr] | ^^^^^^^^^^ help: try: `f32::from(x)` [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 u16 to f32 may become silently lossy if types change [INFO] [stderr] --> src/player/linear_evaluator.rs:42:26 [INFO] [stderr] | [INFO] [stderr] 42 | let x = (x as f32) / ((u16::max_value() - 1) as f32) - 0.5f32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f32::from(u16::max_value() - 1)` [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 u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/player/linear_evaluator.rs:65:17 [INFO] [stderr] | [INFO] [stderr] 65 | let point = b.count_ones() as i64 - c.count_ones() as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(b.count_ones())` [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 u32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/player/linear_evaluator.rs:65:41 [INFO] [stderr] | [INFO] [stderr] 65 | let point = b.count_ones() as i64 - c.count_ones() as i64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(c.count_ones())` [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: length comparison to zero [INFO] [stderr] --> src/player/winnable_solver.rs:87:8 [INFO] [stderr] | [INFO] [stderr] 87 | if poses.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `poses.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: This binary expression can be simplified [INFO] [stderr] --> src/player/learning/parser.rs:61:1 [INFO] [stderr] | [INFO] [stderr] 61 | / named!(pos_str<&str, String>, [INFO] [stderr] 62 | | do_parse!( [INFO] [stderr] 63 | | p: take_while_m_n!(1, 1, is_pos_str1) >> [INFO] [stderr] 64 | | q: take_while_m_n!(1, 1, is_pos_str2) >> [INFO] [stderr] 65 | | (p.to_string() + q) [INFO] [stderr] 66 | | ) [INFO] [stderr] 67 | | ); [INFO] [stderr] | |__^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::double_comparisons)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_comparisons [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: This binary expression can be simplified [INFO] [stderr] --> src/player/learning/parser.rs:61:1 [INFO] [stderr] | [INFO] [stderr] 61 | / named!(pos_str<&str, String>, [INFO] [stderr] 62 | | do_parse!( [INFO] [stderr] 63 | | p: take_while_m_n!(1, 1, is_pos_str1) >> [INFO] [stderr] 64 | | q: take_while_m_n!(1, 1, is_pos_str2) >> [INFO] [stderr] 65 | | (p.to_string() + q) [INFO] [stderr] 66 | | ) [INFO] [stderr] 67 | | ); [INFO] [stderr] | |__^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_comparisons [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: the variable `epoch` is used as a loop counter. Consider using `for (epoch, item) in his.poses.iter().enumerate()` or similar iterators [INFO] [stderr] --> src/player/learning/analysis.rs:80:24 [INFO] [stderr] | [INFO] [stderr] 80 | for pos in his.poses.iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_counter_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/player/learning/analysis.rs:139:13 [INFO] [stderr] | [INFO] [stderr] 139 | create_dir(path); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/player/learning/analysis.rs:147:13 [INFO] [stderr] | [INFO] [stderr] 147 | Err(_) => panic!("Failed to open dump"), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_wild_err_arm)] on by default [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: the variable `epoch` is used as a loop counter. Consider using `for (epoch, item) in his.poses.iter().enumerate()` or similar iterators [INFO] [stderr] --> src/player/learning/analysis.rs:161:24 [INFO] [stderr] | [INFO] [stderr] 161 | for pos in his.poses.iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/player/learning/analysis.rs:170:25 [INFO] [stderr] | [INFO] [stderr] 170 | write!(&mut writer, "{}", if his.result == MatchResult::Black{1}else{0}); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/player/learning/analysis.rs:173:29 [INFO] [stderr] | [INFO] [stderr] 173 | write!(&mut writer, ",{:.3}", item); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/player/learning/analysis.rs:175:25 [INFO] [stderr] | [INFO] [stderr] 175 | write!(&mut writer, "\n"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: the variable `epoch` is used as a loop counter. Consider using `for (epoch, item) in his.poses.iter().enumerate().enumerate()` or similar iterators [INFO] [stderr] --> src/player/learning/analysis.rs:203:29 [INFO] [stderr] | [INFO] [stderr] 203 | for (i, pos) in his.poses.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:42 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(x)` [INFO] [stderr] ... [INFO] [stderr] 233 | gen_analyzer!(diag4, 81, "DIAG4"); [INFO] [stderr] | ----------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:57 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(y)` [INFO] [stderr] ... [INFO] [stderr] 233 | gen_analyzer!(diag4, 81, "DIAG4"); [INFO] [stderr] | ----------------------------------- in this macro invocation [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 u16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:79 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(u16::max_value() - 1)` [INFO] [stderr] ... [INFO] [stderr] 233 | gen_analyzer!(diag4, 81, "DIAG4"); [INFO] [stderr] | ----------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:42 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(x)` [INFO] [stderr] ... [INFO] [stderr] 234 | gen_analyzer!(diag5, 243, "DIAG5"); [INFO] [stderr] | ----------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:57 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(y)` [INFO] [stderr] ... [INFO] [stderr] 234 | gen_analyzer!(diag5, 243, "DIAG5"); [INFO] [stderr] | ----------------------------------- in this macro invocation [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 u16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:79 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(u16::max_value() - 1)` [INFO] [stderr] ... [INFO] [stderr] 234 | gen_analyzer!(diag5, 243, "DIAG5"); [INFO] [stderr] | ----------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:42 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(x)` [INFO] [stderr] ... [INFO] [stderr] 235 | gen_analyzer!(diag6, 729, "DIAG6"); [INFO] [stderr] | ----------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:57 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(y)` [INFO] [stderr] ... [INFO] [stderr] 235 | gen_analyzer!(diag6, 729, "DIAG6"); [INFO] [stderr] | ----------------------------------- in this macro invocation [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 u16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:79 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(u16::max_value() - 1)` [INFO] [stderr] ... [INFO] [stderr] 235 | gen_analyzer!(diag6, 729, "DIAG6"); [INFO] [stderr] | ----------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:42 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(x)` [INFO] [stderr] ... [INFO] [stderr] 236 | gen_analyzer!(diag7, 2187, "DIAG7"); [INFO] [stderr] | ------------------------------------ in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:57 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(y)` [INFO] [stderr] ... [INFO] [stderr] 236 | gen_analyzer!(diag7, 2187, "DIAG7"); [INFO] [stderr] | ------------------------------------ in this macro invocation [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 u16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:79 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(u16::max_value() - 1)` [INFO] [stderr] ... [INFO] [stderr] 236 | gen_analyzer!(diag7, 2187, "DIAG7"); [INFO] [stderr] | ------------------------------------ in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:42 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(x)` [INFO] [stderr] ... [INFO] [stderr] 237 | gen_analyzer!(diag8, 6561, "DIAG8"); [INFO] [stderr] | ------------------------------------ in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:57 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(y)` [INFO] [stderr] ... [INFO] [stderr] 237 | gen_analyzer!(diag8, 6561, "DIAG8"); [INFO] [stderr] | ------------------------------------ in this macro invocation [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 u16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:79 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(u16::max_value() - 1)` [INFO] [stderr] ... [INFO] [stderr] 237 | gen_analyzer!(diag8, 6561, "DIAG8"); [INFO] [stderr] | ------------------------------------ in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:42 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(x)` [INFO] [stderr] ... [INFO] [stderr] 238 | gen_analyzer!(hor_vert2, 6561, "HOR_VERT2"); [INFO] [stderr] | -------------------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:57 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(y)` [INFO] [stderr] ... [INFO] [stderr] 238 | gen_analyzer!(hor_vert2, 6561, "HOR_VERT2"); [INFO] [stderr] | -------------------------------------------- in this macro invocation [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 u16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:79 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(u16::max_value() - 1)` [INFO] [stderr] ... [INFO] [stderr] 238 | gen_analyzer!(hor_vert2, 6561, "HOR_VERT2"); [INFO] [stderr] | -------------------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:42 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(x)` [INFO] [stderr] ... [INFO] [stderr] 239 | gen_analyzer!(hor_vert3, 6561, "HOR_VERT3"); [INFO] [stderr] | -------------------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:57 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(y)` [INFO] [stderr] ... [INFO] [stderr] 239 | gen_analyzer!(hor_vert3, 6561, "HOR_VERT3"); [INFO] [stderr] | -------------------------------------------- in this macro invocation [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 u16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:79 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(u16::max_value() - 1)` [INFO] [stderr] ... [INFO] [stderr] 239 | gen_analyzer!(hor_vert3, 6561, "HOR_VERT3"); [INFO] [stderr] | -------------------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:42 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(x)` [INFO] [stderr] ... [INFO] [stderr] 240 | gen_analyzer!(hor_vert4, 6561, "HOR_VERT4"); [INFO] [stderr] | -------------------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:57 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(y)` [INFO] [stderr] ... [INFO] [stderr] 240 | gen_analyzer!(hor_vert4, 6561, "HOR_VERT4"); [INFO] [stderr] | -------------------------------------------- in this macro invocation [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 u16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:79 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(u16::max_value() - 1)` [INFO] [stderr] ... [INFO] [stderr] 240 | gen_analyzer!(hor_vert4, 6561, "HOR_VERT4"); [INFO] [stderr] | -------------------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:42 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(x)` [INFO] [stderr] ... [INFO] [stderr] 241 | gen_analyzer!(edge2x, 59049, "EDGE2X"); [INFO] [stderr] | --------------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:57 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(y)` [INFO] [stderr] ... [INFO] [stderr] 241 | gen_analyzer!(edge2x, 59049, "EDGE2X"); [INFO] [stderr] | --------------------------------------- in this macro invocation [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 u16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:79 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(u16::max_value() - 1)` [INFO] [stderr] ... [INFO] [stderr] 241 | gen_analyzer!(edge2x, 59049, "EDGE2X"); [INFO] [stderr] | --------------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:42 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(x)` [INFO] [stderr] ... [INFO] [stderr] 242 | gen_analyzer!(corner2x5, 59049, "CORNER2X5"); [INFO] [stderr] | --------------------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:57 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(y)` [INFO] [stderr] ... [INFO] [stderr] 242 | gen_analyzer!(corner2x5, 59049, "CORNER2X5"); [INFO] [stderr] | --------------------------------------------- in this macro invocation [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 u16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:79 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(u16::max_value() - 1)` [INFO] [stderr] ... [INFO] [stderr] 242 | gen_analyzer!(corner2x5, 59049, "CORNER2X5"); [INFO] [stderr] | --------------------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:42 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(x)` [INFO] [stderr] ... [INFO] [stderr] 243 | gen_analyzer!(corner3x3, 19683, "CORNER3X3"); [INFO] [stderr] | --------------------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:57 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(y)` [INFO] [stderr] ... [INFO] [stderr] 243 | gen_analyzer!(corner3x3, 19683, "CORNER3X3"); [INFO] [stderr] | --------------------------------------------- in this macro invocation [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 u16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:79 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(u16::max_value() - 1)` [INFO] [stderr] ... [INFO] [stderr] 243 | gen_analyzer!(corner3x3, 19683, "CORNER3X3"); [INFO] [stderr] | --------------------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:42 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(x)` [INFO] [stderr] ... [INFO] [stderr] 244 | gen_analyzer!(corner2x2, 81, "CORNER2X2"); [INFO] [stderr] | ------------------------------------------ in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:57 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(y)` [INFO] [stderr] ... [INFO] [stderr] 244 | gen_analyzer!(corner2x2, 81, "CORNER2X2"); [INFO] [stderr] | ------------------------------------------ in this macro invocation [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 u16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:79 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(u16::max_value() - 1)` [INFO] [stderr] ... [INFO] [stderr] 244 | gen_analyzer!(corner2x2, 81, "CORNER2X2"); [INFO] [stderr] | ------------------------------------------ in this macro invocation [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: constant `feature_functions` should have an upper case name such as `FEATURE_FUNCTIONS` [INFO] [stderr] --> src/player/linear_evaluator.rs:83:1 [INFO] [stderr] | [INFO] [stderr] 83 | / pub const feature_functions: [fn(board::Board) -> f32; 12] = [ [INFO] [stderr] 84 | | diag4, diag5, diag6, diag7, diag8, hor_vert2, hor_vert3, hor_vert4, [INFO] [stderr] 85 | | edge2x, corner2x2, corner3x3, flippable_diff [INFO] [stderr] 86 | | ]; [INFO] [stderr] | |__________^ [INFO] [stderr] [INFO] [stderr] warning: constant `feature_names` should have an upper case name such as `FEATURE_NAMES` [INFO] [stderr] --> src/player/linear_evaluator.rs:87:1 [INFO] [stderr] | [INFO] [stderr] 87 | / pub const feature_names: [&str; 12] = [ [INFO] [stderr] 88 | | "diag4", "diag5", "diag6", "diag7", "diag8", "hor_vert2", "hor_vert3", "hor_vert4", [INFO] [stderr] 89 | | "edge2x", "corner2x2", "corner3x3", "flippable_diff" [INFO] [stderr] 90 | | ]; [INFO] [stderr] | |__^ [INFO] [stderr] [INFO] [stderr] warning: length comparison to zero [INFO] [stderr] --> src/player/winnable_solver.rs:87:8 [INFO] [stderr] | [INFO] [stderr] 87 | if poses.len() == 0 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: using `is_empty` is clearer and more explicit: `poses.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: This binary expression can be simplified [INFO] [stderr] --> src/player/learning/parser.rs:61:1 [INFO] [stderr] | [INFO] [stderr] 61 | / named!(pos_str<&str, String>, [INFO] [stderr] 62 | | do_parse!( [INFO] [stderr] 63 | | p: take_while_m_n!(1, 1, is_pos_str1) >> [INFO] [stderr] 64 | | q: take_while_m_n!(1, 1, is_pos_str2) >> [INFO] [stderr] 65 | | (p.to_string() + q) [INFO] [stderr] 66 | | ) [INFO] [stderr] 67 | | ); [INFO] [stderr] | |__^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::double_comparisons)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_comparisons [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: This binary expression can be simplified [INFO] [stderr] --> src/player/learning/parser.rs:61:1 [INFO] [stderr] | [INFO] [stderr] 61 | / named!(pos_str<&str, String>, [INFO] [stderr] 62 | | do_parse!( [INFO] [stderr] 63 | | p: take_while_m_n!(1, 1, is_pos_str1) >> [INFO] [stderr] 64 | | q: take_while_m_n!(1, 1, is_pos_str2) >> [INFO] [stderr] 65 | | (p.to_string() + q) [INFO] [stderr] 66 | | ) [INFO] [stderr] 67 | | ); [INFO] [stderr] | |__^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#double_comparisons [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: the variable `epoch` is used as a loop counter. Consider using `for (epoch, item) in his.poses.iter().enumerate()` or similar iterators [INFO] [stderr] --> src/player/learning/analysis.rs:80:24 [INFO] [stderr] | [INFO] [stderr] 80 | for pos in his.poses.iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::explicit_counter_loop)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/player/learning/analysis.rs:139:13 [INFO] [stderr] | [INFO] [stderr] 139 | create_dir(path); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: Err(_) will match all errors, maybe not a good idea [INFO] [stderr] --> src/player/learning/analysis.rs:147:13 [INFO] [stderr] | [INFO] [stderr] 147 | Err(_) => panic!("Failed to open dump"), [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::match_wild_err_arm)] on by default [INFO] [stderr] = note: to remove this warning, match each error separately or use unreachable macro [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#match_wild_err_arm [INFO] [stderr] [INFO] [stderr] warning: the variable `epoch` is used as a loop counter. Consider using `for (epoch, item) in his.poses.iter().enumerate()` or similar iterators [INFO] [stderr] --> src/player/learning/analysis.rs:161:24 [INFO] [stderr] | [INFO] [stderr] 161 | for pos in his.poses.iter() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/player/learning/analysis.rs:170:25 [INFO] [stderr] | [INFO] [stderr] 170 | write!(&mut writer, "{}", if his.result == MatchResult::Black{1}else{0}); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/player/learning/analysis.rs:173:29 [INFO] [stderr] | [INFO] [stderr] 173 | write!(&mut writer, ",{:.3}", item); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/player/learning/analysis.rs:175:25 [INFO] [stderr] | [INFO] [stderr] 175 | write!(&mut writer, "\n"); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: the variable `epoch` is used as a loop counter. Consider using `for (epoch, item) in his.poses.iter().enumerate().enumerate()` or similar iterators [INFO] [stderr] --> src/player/learning/analysis.rs:203:29 [INFO] [stderr] | [INFO] [stderr] 203 | for (i, pos) in his.poses.iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#explicit_counter_loop [INFO] [stderr] [INFO] [stderr] warning: casting u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:42 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(x)` [INFO] [stderr] ... [INFO] [stderr] 233 | gen_analyzer!(diag4, 81, "DIAG4"); [INFO] [stderr] | ----------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:57 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(y)` [INFO] [stderr] ... [INFO] [stderr] 233 | gen_analyzer!(diag4, 81, "DIAG4"); [INFO] [stderr] | ----------------------------------- in this macro invocation [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 u16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:79 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(u16::max_value() - 1)` [INFO] [stderr] ... [INFO] [stderr] 233 | gen_analyzer!(diag4, 81, "DIAG4"); [INFO] [stderr] | ----------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:42 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(x)` [INFO] [stderr] ... [INFO] [stderr] 234 | gen_analyzer!(diag5, 243, "DIAG5"); [INFO] [stderr] | ----------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:57 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(y)` [INFO] [stderr] ... [INFO] [stderr] 234 | gen_analyzer!(diag5, 243, "DIAG5"); [INFO] [stderr] | ----------------------------------- in this macro invocation [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 u16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:79 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(u16::max_value() - 1)` [INFO] [stderr] ... [INFO] [stderr] 234 | gen_analyzer!(diag5, 243, "DIAG5"); [INFO] [stderr] | ----------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:42 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(x)` [INFO] [stderr] ... [INFO] [stderr] 235 | gen_analyzer!(diag6, 729, "DIAG6"); [INFO] [stderr] | ----------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:57 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(y)` [INFO] [stderr] ... [INFO] [stderr] 235 | gen_analyzer!(diag6, 729, "DIAG6"); [INFO] [stderr] | ----------------------------------- in this macro invocation [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 u16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:79 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(u16::max_value() - 1)` [INFO] [stderr] ... [INFO] [stderr] 235 | gen_analyzer!(diag6, 729, "DIAG6"); [INFO] [stderr] | ----------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:42 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(x)` [INFO] [stderr] ... [INFO] [stderr] 236 | gen_analyzer!(diag7, 2187, "DIAG7"); [INFO] [stderr] | ------------------------------------ in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:57 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(y)` [INFO] [stderr] ... [INFO] [stderr] 236 | gen_analyzer!(diag7, 2187, "DIAG7"); [INFO] [stderr] | ------------------------------------ in this macro invocation [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 u16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:79 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(u16::max_value() - 1)` [INFO] [stderr] ... [INFO] [stderr] 236 | gen_analyzer!(diag7, 2187, "DIAG7"); [INFO] [stderr] | ------------------------------------ in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:42 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(x)` [INFO] [stderr] ... [INFO] [stderr] 237 | gen_analyzer!(diag8, 6561, "DIAG8"); [INFO] [stderr] | ------------------------------------ in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:57 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(y)` [INFO] [stderr] ... [INFO] [stderr] 237 | gen_analyzer!(diag8, 6561, "DIAG8"); [INFO] [stderr] | ------------------------------------ in this macro invocation [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 u16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:79 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(u16::max_value() - 1)` [INFO] [stderr] ... [INFO] [stderr] 237 | gen_analyzer!(diag8, 6561, "DIAG8"); [INFO] [stderr] | ------------------------------------ in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:42 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(x)` [INFO] [stderr] ... [INFO] [stderr] 238 | gen_analyzer!(hor_vert2, 6561, "HOR_VERT2"); [INFO] [stderr] | -------------------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:57 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(y)` [INFO] [stderr] ... [INFO] [stderr] 238 | gen_analyzer!(hor_vert2, 6561, "HOR_VERT2"); [INFO] [stderr] | -------------------------------------------- in this macro invocation [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 u16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:79 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(u16::max_value() - 1)` [INFO] [stderr] ... [INFO] [stderr] 238 | gen_analyzer!(hor_vert2, 6561, "HOR_VERT2"); [INFO] [stderr] | -------------------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:42 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(x)` [INFO] [stderr] ... [INFO] [stderr] 239 | gen_analyzer!(hor_vert3, 6561, "HOR_VERT3"); [INFO] [stderr] | -------------------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:57 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(y)` [INFO] [stderr] ... [INFO] [stderr] 239 | gen_analyzer!(hor_vert3, 6561, "HOR_VERT3"); [INFO] [stderr] | -------------------------------------------- in this macro invocation [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 u16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:79 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(u16::max_value() - 1)` [INFO] [stderr] ... [INFO] [stderr] 239 | gen_analyzer!(hor_vert3, 6561, "HOR_VERT3"); [INFO] [stderr] | -------------------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:42 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(x)` [INFO] [stderr] ... [INFO] [stderr] 240 | gen_analyzer!(hor_vert4, 6561, "HOR_VERT4"); [INFO] [stderr] | -------------------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:57 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(y)` [INFO] [stderr] ... [INFO] [stderr] 240 | gen_analyzer!(hor_vert4, 6561, "HOR_VERT4"); [INFO] [stderr] | -------------------------------------------- in this macro invocation [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 u16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:79 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(u16::max_value() - 1)` [INFO] [stderr] ... [INFO] [stderr] 240 | gen_analyzer!(hor_vert4, 6561, "HOR_VERT4"); [INFO] [stderr] | -------------------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:42 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(x)` [INFO] [stderr] ... [INFO] [stderr] 241 | gen_analyzer!(edge2x, 59049, "EDGE2X"); [INFO] [stderr] | --------------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:57 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(y)` [INFO] [stderr] ... [INFO] [stderr] 241 | gen_analyzer!(edge2x, 59049, "EDGE2X"); [INFO] [stderr] | --------------------------------------- in this macro invocation [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 u16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:79 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(u16::max_value() - 1)` [INFO] [stderr] ... [INFO] [stderr] 241 | gen_analyzer!(edge2x, 59049, "EDGE2X"); [INFO] [stderr] | --------------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:42 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(x)` [INFO] [stderr] ... [INFO] [stderr] 242 | gen_analyzer!(corner2x5, 59049, "CORNER2X5"); [INFO] [stderr] | --------------------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:57 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(y)` [INFO] [stderr] ... [INFO] [stderr] 242 | gen_analyzer!(corner2x5, 59049, "CORNER2X5"); [INFO] [stderr] | --------------------------------------------- in this macro invocation [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 u16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:79 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(u16::max_value() - 1)` [INFO] [stderr] ... [INFO] [stderr] 242 | gen_analyzer!(corner2x5, 59049, "CORNER2X5"); [INFO] [stderr] | --------------------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:42 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(x)` [INFO] [stderr] ... [INFO] [stderr] 243 | gen_analyzer!(corner3x3, 19683, "CORNER3X3"); [INFO] [stderr] | --------------------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:57 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(y)` [INFO] [stderr] ... [INFO] [stderr] 243 | gen_analyzer!(corner3x3, 19683, "CORNER3X3"); [INFO] [stderr] | --------------------------------------------- in this macro invocation [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 u16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:79 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(u16::max_value() - 1)` [INFO] [stderr] ... [INFO] [stderr] 243 | gen_analyzer!(corner3x3, 19683, "CORNER3X3"); [INFO] [stderr] | --------------------------------------------- in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:42 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(x)` [INFO] [stderr] ... [INFO] [stderr] 244 | gen_analyzer!(corner2x2, 81, "CORNER2X2"); [INFO] [stderr] | ------------------------------------------ in this macro invocation [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 u32 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:57 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^ help: try: `f64::from(y)` [INFO] [stderr] ... [INFO] [stderr] 244 | gen_analyzer!(corner2x2, 81, "CORNER2X2"); [INFO] [stderr] | ------------------------------------------ in this macro invocation [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 u16 to f64 may become silently lossy if types change [INFO] [stderr] --> src/player/learning/analysis.rs:43:79 [INFO] [stderr] | [INFO] [stderr] 43 | print!("{}, ", ((((0.5 + (x as f64)) / ((y as f64) + 1f64)) * (u16::max_value() - 1) as f64)) as u16); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `f64::from(u16::max_value() - 1)` [INFO] [stderr] ... [INFO] [stderr] 244 | gen_analyzer!(corner2x2, 81, "CORNER2X2"); [INFO] [stderr] | ------------------------------------------ in this macro invocation [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: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `client`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `client`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "13d67b6c91495d7b10456ef003e64df093dad9a9a233b6d099f3993e8a034e56"` [INFO] running `"docker" "rm" "-f" "13d67b6c91495d7b10456ef003e64df093dad9a9a233b6d099f3993e8a034e56"` [INFO] [stdout] 13d67b6c91495d7b10456ef003e64df093dad9a9a233b6d099f3993e8a034e56