[INFO] updating cached repository uenoku/othello-camel [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/uenoku/othello-camel [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/uenoku/othello-camel" "work/ex/pr-58948/sources/master#0f88167f89fffe321590c5148f21b7d51d44388d/gh/uenoku/othello-camel"` [INFO] [stderr] Cloning into 'work/ex/pr-58948/sources/master#0f88167f89fffe321590c5148f21b7d51d44388d/gh/uenoku/othello-camel'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/uenoku/othello-camel" "work/ex/pr-58948/sources/try#a829e31f924ec11e400e8d0c2fd2c4bb8937ae6b/gh/uenoku/othello-camel"` [INFO] [stderr] Cloning into 'work/ex/pr-58948/sources/try#a829e31f924ec11e400e8d0c2fd2c4bb8937ae6b/gh/uenoku/othello-camel'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] e6d54cb384ae13226fddf13f0d583a5cdcebf3c5 [INFO] sha for GitHub repo uenoku/othello-camel: e6d54cb384ae13226fddf13f0d583a5cdcebf3c5 [INFO] validating manifest of uenoku/othello-camel on toolchain master#0f88167f89fffe321590c5148f21b7d51d44388d [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+0f88167f89fffe321590c5148f21b7d51d44388d-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of uenoku/othello-camel on toolchain try#a829e31f924ec11e400e8d0c2fd2c4bb8937ae6b [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+a829e31f924ec11e400e8d0c2fd2c4bb8937ae6b-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing uenoku/othello-camel [INFO] finished frobbing uenoku/othello-camel [INFO] frobbed toml for uenoku/othello-camel written to work/ex/pr-58948/sources/master#0f88167f89fffe321590c5148f21b7d51d44388d/gh/uenoku/othello-camel/Cargo.toml [INFO] started frobbing uenoku/othello-camel [INFO] finished frobbing uenoku/othello-camel [INFO] frobbed toml for uenoku/othello-camel written to work/ex/pr-58948/sources/try#a829e31f924ec11e400e8d0c2fd2c4bb8937ae6b/gh/uenoku/othello-camel/Cargo.toml [INFO] crate uenoku/othello-camel already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+0f88167f89fffe321590c5148f21b7d51d44388d-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Updating crates.io index [INFO] [stderr] error: the lock file /mnt/big/crater/work/ex/pr-58948/sources/master#0f88167f89fffe321590c5148f21b7d51d44388d/gh/uenoku/othello-camel/Cargo.lock needs to be updated but --locked was passed to prevent this [INFO] the lockfile is outdated, regenerating it [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+0f88167f89fffe321590c5148f21b7d51d44388d-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+a829e31f924ec11e400e8d0c2fd2c4bb8937ae6b-alt" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+0f88167f89fffe321590c5148f21b7d51d44388d-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+a829e31f924ec11e400e8d0c2fd2c4bb8937ae6b-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking uenoku/othello-camel against try#a829e31f924ec11e400e8d0c2fd2c4bb8937ae6b for pr-58948 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-58948/worker-7/try#a829e31f924ec11e400e8d0c2fd2c4bb8937ae6b:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-58948/sources/try#a829e31f924ec11e400e8d0c2fd2c4bb8937ae6b/gh/uenoku/othello-camel:/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" "+a829e31f924ec11e400e8d0c2fd2c4bb8937ae6b-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 812b1a6e5bb1e0efa52282492094634a54279ee5c7d8c95a2528cb9838a301ab [INFO] running `"docker" "start" "-a" "812b1a6e5bb1e0efa52282492094634a54279ee5c7d8c95a2528cb9838a301ab"` [INFO] [stderr] Checking nom v4.2.2 [INFO] [stderr] Checking othello-rust v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `mcts::mcts` [INFO] [stderr] --> src/client.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use mcts::mcts; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `SocketAddr` [INFO] [stderr] --> src/client.rs:11:16 [INFO] [stderr] | [INFO] [stderr] 11 | use std::net::{SocketAddr, TcpStream}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `valuation::*` [INFO] [stderr] --> src/client.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use valuation::*; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `valuation::*` [INFO] [stderr] --> src/client.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use valuation::*; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/client.rs:243:38 [INFO] [stderr] | [INFO] [stderr] 243 | let (mask, flip, value) = if (turn < thre) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: type `wl` should have an upper camel case name [INFO] [stderr] --> src/client.rs:294:10 [INFO] [stderr] | [INFO] [stderr] 294 | pub enum wl { [INFO] [stderr] | ^^ help: convert the identifier to upper camel case: `Wl` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_camel_case_types)] on by default [INFO] [stderr] [INFO] [stderr] warning: type `command` should have an upper camel case name [INFO] [stderr] --> src/client.rs:300:6 [INFO] [stderr] | [INFO] [stderr] 300 | enum command { [INFO] [stderr] | ^^^^^^^ help: convert the identifier to upper camel case: `Command` [INFO] [stderr] [INFO] [stderr] warning: unused import: `mcts::mcts` [INFO] [stderr] --> src/client.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use mcts::mcts; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `SocketAddr` [INFO] [stderr] --> src/client.rs:11:16 [INFO] [stderr] | [INFO] [stderr] 11 | use std::net::{SocketAddr, TcpStream}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `valuation::*` [INFO] [stderr] --> src/client.rs:15:5 [INFO] [stderr] | [INFO] [stderr] 15 | use valuation::*; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `valuation::*` [INFO] [stderr] --> src/client.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use valuation::*; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/client.rs:243:38 [INFO] [stderr] | [INFO] [stderr] 243 | let (mask, flip, value) = if (turn < thre) { [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: type `wl` should have an upper camel case name [INFO] [stderr] --> src/client.rs:294:10 [INFO] [stderr] | [INFO] [stderr] 294 | pub enum wl { [INFO] [stderr] | ^^ help: convert the identifier to upper camel case: `Wl` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_camel_case_types)] on by default [INFO] [stderr] [INFO] [stderr] warning: type `command` should have an upper camel case name [INFO] [stderr] --> src/client.rs:300:6 [INFO] [stderr] | [INFO] [stderr] 300 | enum command { [INFO] [stderr] | ^^^^^^^ help: convert the identifier to upper camel case: `Command` [INFO] [stderr] [INFO] [stderr] warning: unused import: `data_loader` [INFO] [stderr] --> src/data_loader.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use data_loader; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cmp::min` [INFO] [stderr] --> src/data_loader.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::cmp::min; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `data_loader` [INFO] [stderr] --> src/data_loader.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use data_loader; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cmp::min` [INFO] [stderr] --> src/data_loader.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | use std::cmp::min; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `client` [INFO] [stderr] --> src/game.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use client; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `main` [INFO] [stderr] --> src/game.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use main; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `W` [INFO] [stderr] --> src/game.rs:9:66 [INFO] [stderr] | [INFO] [stderr] 9 | use pattern::{calculate, get_feature_vector_from_board, state_f, W, WS}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `last_search_hash` [INFO] [stderr] --> src/game.rs:11:14 [INFO] [stderr] | [INFO] [stderr] 11 | use search::{last_search_hash, ELSE, PASS}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/mcts.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `random_play`, `self_play`, `shallow_alpha_beta` [INFO] [stderr] --> src/mcts.rs:7:14 [INFO] [stderr] | [INFO] [stderr] 7 | use client::{random_play, self_play, self_play_sub, shallow_alpha_beta, wl}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `PASS` [INFO] [stderr] --> src/mcts.rs:9:20 [INFO] [stderr] | [INFO] [stderr] 9 | use search::{ELSE, PASS}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Duration` [INFO] [stderr] --> src/mcts.rs:12:17 [INFO] [stderr] | [INFO] [stderr] 12 | use std::time::{Duration, SystemTime}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `client` [INFO] [stderr] --> src/game.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use client; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `main` [INFO] [stderr] --> src/game.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use main; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/mcts.rs:82:29 [INFO] [stderr] | [INFO] [stderr] 82 | let score = (q + u); [INFO] [stderr] | ^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `W` [INFO] [stderr] --> src/game.rs:9:66 [INFO] [stderr] | [INFO] [stderr] 9 | use pattern::{calculate, get_feature_vector_from_board, state_f, W, WS}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `last_search_hash` [INFO] [stderr] --> src/game.rs:11:14 [INFO] [stderr] | [INFO] [stderr] 11 | use search::{last_search_hash, ELSE, PASS}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `E` [INFO] [stderr] --> src/pattern.rs:4:21 [INFO] [stderr] | [INFO] [stderr] 4 | use constant::{Num, E, STAGE}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `data_loader::*` [INFO] [stderr] --> src/pattern.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use data_loader::*; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `mcts::*` [INFO] [stderr] --> src/pattern.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use mcts::*; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `search::*` [INFO] [stderr] --> src/pattern.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use search::*; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs::File` [INFO] [stderr] --> src/pattern.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/mcts.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Rng`, `thread_rng` [INFO] [stderr] --> src/pattern.rs:13:12 [INFO] [stderr] | [INFO] [stderr] 13 | use rand::{thread_rng, Rng}; [INFO] [stderr] | ^^^^^^^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `SystemTime`, `UNIX_EPOCH` [INFO] [stderr] --> src/pattern.rs:15:17 [INFO] [stderr] | [INFO] [stderr] 15 | use std::time::{SystemTime, UNIX_EPOCH}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::prelude::*` [INFO] [stderr] --> src/pattern.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use std::io::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `random_play`, `self_play`, `shallow_alpha_beta` [INFO] [stderr] --> src/mcts.rs:7:14 [INFO] [stderr] | [INFO] [stderr] 7 | use client::{random_play, self_play, self_play_sub, shallow_alpha_beta, wl}; [INFO] [stderr] | ^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] warning: unused imports: `BufWriter`, `Write` [INFO] [stderr] --> src/pattern.rs:18:15 [INFO] [stderr] | [INFO] [stderr] 18 | use std::io::{BufWriter, Write}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: unused import: `PASS` [INFO] [stderr] --> src/mcts.rs:9:20 [INFO] [stderr] | [INFO] [stderr] 9 | use search::{ELSE, PASS}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] warning: unused import: `Duration` [INFO] [stderr] --> src/mcts.rs:12:17 [INFO] [stderr] | [INFO] [stderr] 12 | use std::time::{Duration, SystemTime}; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] --> src/pattern.rs:97:1 [INFO] [stderr] | [INFO] [stderr] 97 | / macro_rules! get_idx { [INFO] [stderr] 98 | | (diag_4) => { [INFO] [stderr] 99 | | (0) [INFO] [stderr] 100 | | }; [INFO] [stderr] ... | [INFO] [stderr] 139 | | }; [INFO] [stderr] 140 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_macros)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/pattern.rs:141:1 [INFO] [stderr] | [INFO] [stderr] 141 | / macro_rules! get_wsize { [INFO] [stderr] 142 | | (diag_4) => { [INFO] [stderr] 143 | | (POW_THREE[4]) [INFO] [stderr] 144 | | }; [INFO] [stderr] ... | [INFO] [stderr] 183 | | }; [INFO] [stderr] 184 | | } [INFO] [stderr] | |_^ [INFO] [stderr] warning: unnecessary parentheses around assigned value [INFO] [stderr] --> src/mcts.rs:82:29 [INFO] [stderr] | [INFO] [stderr] 82 | let score = (q + u); [INFO] [stderr] | ^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: unused import: `E` [INFO] [stderr] --> src/pattern.rs:4:21 [INFO] [stderr] | [INFO] [stderr] 4 | use constant::{Num, E, STAGE}; [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `bitboard` [INFO] [stderr] --> src/learn.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use bitboard; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] warning: unused import: `data_loader::*` [INFO] [stderr] --> src/pattern.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use data_loader::*; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: unused import: `mcts::*` [INFO] [stderr] --> src/pattern.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use mcts::*; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `SystemTime`, `UNIX_EPOCH` [INFO] [stderr] --> src/learn.rs:2:17 [INFO] [stderr] | [INFO] [stderr] 2 | use std::time::{SystemTime, UNIX_EPOCH}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `search::*` [INFO] [stderr] --> src/pattern.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use search::*; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] warning: unused import: `client` [INFO] [stderr] --> src/learn.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use client; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: unused import: `client::*` [INFO] [stderr] --> src/learn.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use client::*; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::fs::File` [INFO] [stderr] --> src/pattern.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use std::fs::File; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Rng`, `thread_rng` [INFO] [stderr] --> src/pattern.rs:13:12 [INFO] [stderr] | [INFO] [stderr] 13 | use rand::{thread_rng, Rng}; [INFO] [stderr] | ^^^^^^^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `SystemTime`, `UNIX_EPOCH` [INFO] [stderr] --> src/pattern.rs:15:17 [INFO] [stderr] | [INFO] [stderr] 15 | use std::time::{SystemTime, UNIX_EPOCH}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `last_optimization` [INFO] [stderr] --> src/search.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use last_optimization; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] warning: unused import: `std::io::prelude::*` [INFO] [stderr] --> src/pattern.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use std::io::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BufWriter`, `Write` [INFO] [stderr] --> src/pattern.rs:18:15 [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] 18 | use std::io::{BufWriter, Write}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `params::PARARELL` [INFO] [stderr] --> src/search.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use params::PARARELL; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `pattern::*` [INFO] [stderr] --> src/search.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use pattern::*; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/pattern.rs:97:1 [INFO] [stderr] | [INFO] [stderr] 97 | / macro_rules! get_idx { [INFO] [stderr] 98 | | (diag_4) => { [INFO] [stderr] 99 | | (0) [INFO] [stderr] 100 | | }; [INFO] [stderr] ... | [INFO] [stderr] 139 | | }; [INFO] [stderr] 140 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_macros)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/pattern.rs:141:1 [INFO] [stderr] | [INFO] [stderr] 141 | / macro_rules! get_wsize { [INFO] [stderr] 142 | | (diag_4) => { [INFO] [stderr] 143 | | (POW_THREE[4]) [INFO] [stderr] 144 | | }; [INFO] [stderr] ... | [INFO] [stderr] 183 | | }; [INFO] [stderr] 184 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cell::RefCell` [INFO] [stderr] --> src/valuation.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::cell::RefCell; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `bitboard` [INFO] [stderr] --> src/learn.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use bitboard; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Num` [INFO] [stderr] warning: unused imports: `SystemTime`, `UNIX_EPOCH` [INFO] [stderr] --> src/learn.rs:2:17 [INFO] [stderr] | [INFO] [stderr] 2 | use std::time::{SystemTime, UNIX_EPOCH}; [INFO] [stderr] --> src/main.rs:27:16 [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] 27 | use constant::{Num, STAGE}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: unused import: `learn::LAMBDA` [INFO] [stderr] --> src/main.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | use learn::LAMBDA; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `optimizer::Optimizer` [INFO] [stderr] --> src/main.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | use optimizer::Optimizer; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `client` [INFO] [stderr] --> src/learn.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use client; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] [INFO] [stderr] --> src/main.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `client::*` [INFO] [stderr] --> src/learn.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use client::*; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `IpAddr`, `Ipv4Addr`, `SocketAddr` [INFO] [stderr] --> src/main.rs:33:16 [INFO] [stderr] | [INFO] [stderr] 33 | use std::net::{IpAddr, Ipv4Addr, SocketAddr}; [INFO] [stderr] | ^^^^^^ ^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `last_optimization` [INFO] [stderr] --> src/search.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use last_optimization; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `params::PARARELL` [INFO] [stderr] --> src/search.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use params::PARARELL; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `pattern::*` [INFO] [stderr] --> src/search.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use pattern::*; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::cell::RefCell` [INFO] [stderr] --> src/valuation.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use std::cell::RefCell; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Num` [INFO] [stderr] --> src/main.rs:27:16 [INFO] [stderr] | [INFO] [stderr] 27 | use constant::{Num, STAGE}; [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `learn::LAMBDA` [INFO] [stderr] --> src/main.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | use learn::LAMBDA; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `optimizer::Optimizer` [INFO] [stderr] --> src/main.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | use optimizer::Optimizer; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/main.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `IpAddr`, `Ipv4Addr`, `SocketAddr` [INFO] [stderr] --> src/main.rs:33:16 [INFO] [stderr] | [INFO] [stderr] 33 | use std::net::{IpAddr, Ipv4Addr, SocketAddr}; [INFO] [stderr] | ^^^^^^ ^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/main.rs:183:9 [INFO] [stderr] | [INFO] [stderr] 183 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'nom::float_s': Please use `float` instead [INFO] [stderr] --> src/data_loader.rs:70:11 [INFO] [stderr] | [INFO] [stderr] 70 | val : float_s >> [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'nom::float_s': Please use `float` instead [INFO] [stderr] --> src/data_loader.rs:142:11 [INFO] [stderr] | [INFO] [stderr] 142 | val : float_s >> [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'nom::float_s': Please use `float` instead [INFO] [stderr] --> src/data_loader.rs:70:11 [INFO] [stderr] | [INFO] [stderr] 70 | val : float_s >> [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(deprecated)] on by default [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'nom::float_s': Please use `float` instead [INFO] [stderr] --> src/data_loader.rs:142:11 [INFO] [stderr] | [INFO] [stderr] 142 | val : float_s >> [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/mcts.rs:109:13 [INFO] [stderr] | [INFO] [stderr] 109 | _ => panic!("mem error"), [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_patterns)] on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/mcts.rs:198:21 [INFO] [stderr] | [INFO] [stderr] 198 | _ => (), [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/mcts.rs:294:21 [INFO] [stderr] | [INFO] [stderr] 294 | _ => (), [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `eval` [INFO] [stderr] --> src/main.rs:150:17 [INFO] [stderr] | [INFO] [stderr] 150 | let eval = ""; [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_eval` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `flipped` is never read [INFO] [stderr] --> src/bitboard.rs:43:13 [INFO] [stderr] | [INFO] [stderr] 43 | let mut flipped = 0; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `outflank` [INFO] [stderr] --> src/bitboard.rs:44:13 [INFO] [stderr] | [INFO] [stderr] 44 | let mut outflank = 0; [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_outflank` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `outflank` is never read [INFO] [stderr] --> src/bitboard.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | let mut outflank = 0; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/client.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | for i in 0..n { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/client.rs:46:9 [INFO] [stderr] | [INFO] [stderr] 46 | for i in 0..n { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b_c` [INFO] [stderr] --> src/client.rs:77:9 [INFO] [stderr] | [INFO] [stderr] 77 | let b_c = b.count_ones(); [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_b_c` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `w_c` [INFO] [stderr] --> src/client.rs:78:9 [INFO] [stderr] | [INFO] [stderr] 78 | let w_c = w.count_ones(); [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_w_c` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `turn` [INFO] [stderr] --> src/client.rs:194:9 [INFO] [stderr] | [INFO] [stderr] 194 | let turn = get_turn(board); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_turn` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `thre` [INFO] [stderr] --> src/client.rs:195:9 [INFO] [stderr] | [INFO] [stderr] 195 | let thre = 64 - LAST; [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_thre` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/client.rs:199:26 [INFO] [stderr] | [INFO] [stderr] 199 | let (mask, flip, value) = select_best_move(board, color, 2, false); [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_value` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `turn` [INFO] [stderr] --> src/client.rs:224:9 [INFO] [stderr] | [INFO] [stderr] 224 | let turn = get_turn(board); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_turn` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `thre` [INFO] [stderr] --> src/client.rs:225:9 [INFO] [stderr] | [INFO] [stderr] 225 | let thre = 64 - LAST; [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_thre` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/client.rs:229:26 [INFO] [stderr] | [INFO] [stderr] 229 | let (mask, flip, value) = select_best_move(board, color, DEPTH, false); [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_value` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `piyo` [INFO] [stderr] --> src/client.rs:447:17 [INFO] [stderr] | [INFO] [stderr] 447 | let mut piyo = 0; [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_piyo` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `color` [INFO] [stderr] --> src/client.rs:448:17 [INFO] [stderr] | [INFO] [stderr] 448 | let mut color = 1; [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_color` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/client.rs:453:17 [INFO] [stderr] | [INFO] [stderr] 453 | let s = stream.read(ret); [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/client.rs:458:28 [INFO] [stderr] | [INFO] [stderr] 458 | if let Ok((s, cmds)) = get_command_vec(st) { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `lose` [INFO] [stderr] --> src/client.rs:461:51 [INFO] [stderr] | [INFO] [stderr] 461 | command::End(wl, win, lose, riyu) => match wl { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_lose` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `riyu` [INFO] [stderr] --> src/client.rs:461:57 [INFO] [stderr] | [INFO] [stderr] 461 | command::End(wl, win, lose, riyu) => match wl { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_riyu` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `win` [INFO] [stderr] --> src/client.rs:461:46 [INFO] [stderr] | [INFO] [stderr] 461 | command::End(wl, win, lose, riyu) => match wl { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_win` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `flip` [INFO] [stderr] --> src/client.rs:496:55 [INFO] [stderr] | [INFO] [stderr] 496 | Move::MoveM(mask, flip) => (), [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_flip` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mask` [INFO] [stderr] --> src/client.rs:496:49 [INFO] [stderr] | [INFO] [stderr] 496 | Move::MoveM(mask, flip) => (), [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_mask` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/client.rs:542:42 [INFO] [stderr] | [INFO] [stderr] 542 | let (b, w) = board; [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_b` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `w` [INFO] [stderr] --> src/client.rs:542:45 [INFO] [stderr] | [INFO] [stderr] 542 | let (b, w) = board; [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_w` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/client.rs:579:43 [INFO] [stderr] | [INFO] [stderr] 579 | command::Open(s) => {} [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `action` is never read [INFO] [stderr] --> src/game.rs:193:17 [INFO] [stderr] | [INFO] [stderr] 193 | let mut action = 0; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `will_flip` is never read [INFO] [stderr] --> src/game.rs:194:17 [INFO] [stderr] | [INFO] [stderr] 194 | let mut will_flip = 0; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bd` [INFO] [stderr] --> src/game.rs:267:57 [INFO] [stderr] | [INFO] [stderr] 267 | select_best(board, color, depth, true, |bd| 0.0) [INFO] [stderr] | ^^ help: consider prefixing with an underscore: `_bd` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/game.rs:296:13 [INFO] [stderr] | [INFO] [stderr] 296 | for i in 0..n { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `board` [INFO] [stderr] --> src/game.rs:331:18 [INFO] [stderr] | [INFO] [stderr] 331 | for (ref board, ref mv, color, teacher_eval) in &self.history { [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_board` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `flip` [INFO] [stderr] --> src/game.rs:333:35 [INFO] [stderr] | [INFO] [stderr] 333 | Move::MoveM(mask, flip) => { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_flip` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ptrs` [INFO] [stderr] --> src/mcts.rs:34:32 [INFO] [stderr] | [INFO] [stderr] 34 | let Tree::Node(ref ptrs, ref info) = *Rc::into_raw(p); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_ptrs` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `my_color` [INFO] [stderr] --> src/mcts.rs:159:9 [INFO] [stderr] | [INFO] [stderr] 159 | let my_color = color; [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_my_color` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `start` [INFO] [stderr] --> src/mcts.rs:161:9 [INFO] [stderr] | [INFO] [stderr] 161 | let start = SystemTime::now(); [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_start` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/mcts.rs:164:9 [INFO] [stderr] | [INFO] [stderr] 164 | for i in 0..CONST_SIM { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/mcts.rs:182:17 [INFO] [stderr] | [INFO] [stderr] 182 | for i in 0..ONE_SIM { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ptrs` [INFO] [stderr] --> src/mcts.rs:235:32 [INFO] [stderr] | [INFO] [stderr] 235 | let Tree::Node(ptrs, info) = &*v; [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_ptrs` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Nonde` [INFO] [stderr] --> src/mcts.rs:241:13 [INFO] [stderr] | [INFO] [stderr] 241 | Nonde => { [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_Nonde` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `my_color` [INFO] [stderr] --> src/mcts.rs:255:9 [INFO] [stderr] | [INFO] [stderr] 255 | let my_color = color; [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_my_color` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `start` [INFO] [stderr] --> src/mcts.rs:257:9 [INFO] [stderr] | [INFO] [stderr] 257 | let start = SystemTime::now(); [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_start` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/mcts.rs:260:9 [INFO] [stderr] | [INFO] [stderr] 260 | for i in 0..const_sim { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/mcts.rs:278:17 [INFO] [stderr] | [INFO] [stderr] 278 | for i in 0..one_sim { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ptrs` [INFO] [stderr] --> src/mcts.rs:327:32 [INFO] [stderr] | [INFO] [stderr] 327 | let Tree::Node(ptrs, info) = &*v; [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_ptrs` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Nonde` [INFO] [stderr] --> src/mcts.rs:334:13 [INFO] [stderr] | [INFO] [stderr] 334 | Nonde => { [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_Nonde` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mm` [INFO] [stderr] --> src/policy.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | let mut mm = 10; [INFO] [stderr] | ^^ help: consider prefixing with an underscore: `_mm` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `turn` [INFO] [stderr] --> src/search.rs:101:17 [INFO] [stderr] | [INFO] [stderr] 101 | let turn = get_turn(board); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_turn` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `action` is never read [INFO] [stderr] --> src/search.rs:350:17 [INFO] [stderr] | [INFO] [stderr] 350 | let mut action = 0; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `will_flip` is never read [INFO] [stderr] --> src/search.rs:351:17 [INFO] [stderr] | [INFO] [stderr] 351 | let mut will_flip = 0; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `p` is never read [INFO] [stderr] --> src/search.rs:448:13 [INFO] [stderr] | [INFO] [stderr] 448 | let mut p = None; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `turn` [INFO] [stderr] --> src/search.rs:472:21 [INFO] [stderr] | [INFO] [stderr] 472 | let turn = get_turn(board); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_turn` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/valuation.rs:29:10 [INFO] [stderr] | [INFO] [stderr] 29 | let (b, w) = board; [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_b` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `w` [INFO] [stderr] --> src/valuation.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let (b, w) = board; [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_w` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `turn` [INFO] [stderr] --> src/valuation.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | let turn = get_turn(board); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_turn` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/valuation.rs:38:10 [INFO] [stderr] | [INFO] [stderr] 38 | let (b, w) = board; [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_b` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `w` [INFO] [stderr] --> src/valuation.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | let (b, w) = board; [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_w` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:55:9 [INFO] [stderr] | [INFO] [stderr] 55 | let mut logger = game::GameLogger::new( [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/bitboard.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | let mut outflank = 0; [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/bitboard.rs:49:9 [INFO] [stderr] | [INFO] [stderr] 49 | let mut me = me; [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/client.rs:181:9 [INFO] [stderr] | [INFO] [stderr] 181 | let mut ms = valid_moves(board, color); [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/client.rs:192:9 [INFO] [stderr] | [INFO] [stderr] 192 | let mut ms = valid_moves(board, color); [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/client.rs:222:9 [INFO] [stderr] | [INFO] [stderr] 222 | let mut ms = valid_moves(board, color); [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/client.rs:235:9 [INFO] [stderr] | [INFO] [stderr] 235 | let mut ms = valid_moves(board, color); [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/game.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | let mut buffer1 = File::create(book_path).unwrap(); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/game.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | let mut buffer2 = File::create(eval_path).unwrap(); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/mcts.rs:109:13 [INFO] [stderr] | [INFO] [stderr] 109 | _ => panic!("mem error"), [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_patterns)] on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/mcts.rs:198:21 [INFO] [stderr] | [INFO] [stderr] 198 | _ => (), [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/mcts.rs:294:21 [INFO] [stderr] | [INFO] [stderr] 294 | _ => (), [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/game.rs:330:24 [INFO] [stderr] | [INFO] [stderr] 330 | pub fn dump(&self, mut logger: &mut GameLogger) { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/game.rs:393:9 [INFO] [stderr] | [INFO] [stderr] 393 | mut logger: &mut GameLogger, [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `eval` [INFO] [stderr] --> src/main.rs:150:17 [INFO] [stderr] | [INFO] [stderr] 150 | let eval = ""; [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_eval` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `flipped` is never read [INFO] [stderr] --> src/bitboard.rs:43:13 [INFO] [stderr] | [INFO] [stderr] 43 | let mut flipped = 0; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_assignments)] on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `outflank` [INFO] [stderr] --> src/bitboard.rs:44:13 [INFO] [stderr] | [INFO] [stderr] 44 | let mut outflank = 0; [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_outflank` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `outflank` is never read [INFO] [stderr] --> src/bitboard.rs:45:13 [INFO] [stderr] | [INFO] [stderr] 45 | let mut outflank = 0; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/client.rs:32:9 [INFO] [stderr] | [INFO] [stderr] 32 | for i in 0..n { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/client.rs:46:9 [INFO] [stderr] | [INFO] [stderr] 46 | for i in 0..n { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b_c` [INFO] [stderr] --> src/client.rs:77:9 [INFO] [stderr] | [INFO] [stderr] 77 | let b_c = b.count_ones(); [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_b_c` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `w_c` [INFO] [stderr] --> src/client.rs:78:9 [INFO] [stderr] | [INFO] [stderr] 78 | let w_c = w.count_ones(); [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_w_c` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `turn` [INFO] [stderr] --> src/client.rs:194:9 [INFO] [stderr] | [INFO] [stderr] 194 | let turn = get_turn(board); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_turn` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `thre` [INFO] [stderr] --> src/client.rs:195:9 [INFO] [stderr] | [INFO] [stderr] 195 | let thre = 64 - LAST; [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_thre` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/client.rs:199:26 [INFO] [stderr] | [INFO] [stderr] 199 | let (mask, flip, value) = select_best_move(board, color, 2, false); [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_value` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `turn` [INFO] [stderr] --> src/client.rs:224:9 [INFO] [stderr] | [INFO] [stderr] 224 | let turn = get_turn(board); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_turn` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `thre` [INFO] [stderr] --> src/client.rs:225:9 [INFO] [stderr] | [INFO] [stderr] 225 | let thre = 64 - LAST; [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_thre` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `value` [INFO] [stderr] --> src/client.rs:229:26 [INFO] [stderr] | [INFO] [stderr] 229 | let (mask, flip, value) = select_best_move(board, color, DEPTH, false); [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_value` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `piyo` [INFO] [stderr] --> src/client.rs:447:17 [INFO] [stderr] | [INFO] [stderr] 447 | let mut piyo = 0; [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_piyo` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `color` [INFO] [stderr] --> src/client.rs:448:17 [INFO] [stderr] | [INFO] [stderr] 448 | let mut color = 1; [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_color` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/client.rs:453:17 [INFO] [stderr] | [INFO] [stderr] 453 | let s = stream.read(ret); [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/client.rs:458:28 [INFO] [stderr] | [INFO] [stderr] 458 | if let Ok((s, cmds)) = get_command_vec(st) { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `lose` [INFO] [stderr] --> src/client.rs:461:51 [INFO] [stderr] | [INFO] [stderr] 461 | command::End(wl, win, lose, riyu) => match wl { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_lose` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `riyu` [INFO] [stderr] --> src/client.rs:461:57 [INFO] [stderr] | [INFO] [stderr] 461 | command::End(wl, win, lose, riyu) => match wl { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_riyu` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `win` [INFO] [stderr] --> src/client.rs:461:46 [INFO] [stderr] | [INFO] [stderr] 461 | command::End(wl, win, lose, riyu) => match wl { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_win` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `flip` [INFO] [stderr] --> src/client.rs:496:55 [INFO] [stderr] | [INFO] [stderr] 496 | Move::MoveM(mask, flip) => (), [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_flip` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mask` [INFO] [stderr] --> src/client.rs:496:49 [INFO] [stderr] | [INFO] [stderr] 496 | Move::MoveM(mask, flip) => (), [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_mask` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/client.rs:542:42 [INFO] [stderr] | [INFO] [stderr] 542 | let (b, w) = board; [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_b` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `w` [INFO] [stderr] --> src/client.rs:542:45 [INFO] [stderr] | [INFO] [stderr] 542 | let (b, w) = board; [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_w` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/client.rs:579:43 [INFO] [stderr] | [INFO] [stderr] 579 | command::Open(s) => {} [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `action` is never read [INFO] [stderr] --> src/game.rs:193:17 [INFO] [stderr] | [INFO] [stderr] 193 | let mut action = 0; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `will_flip` is never read [INFO] [stderr] --> src/game.rs:194:17 [INFO] [stderr] | [INFO] [stderr] 194 | let mut will_flip = 0; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bd` [INFO] [stderr] --> src/game.rs:267:57 [INFO] [stderr] | [INFO] [stderr] 267 | select_best(board, color, depth, true, |bd| 0.0) [INFO] [stderr] | ^^ help: consider prefixing with an underscore: `_bd` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/game.rs:296:13 [INFO] [stderr] | [INFO] [stderr] 296 | for i in 0..n { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `board` [INFO] [stderr] --> src/game.rs:331:18 [INFO] [stderr] | [INFO] [stderr] 331 | for (ref board, ref mv, color, teacher_eval) in &self.history { [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_board` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `flip` [INFO] [stderr] --> src/game.rs:333:35 [INFO] [stderr] | [INFO] [stderr] 333 | Move::MoveM(mask, flip) => { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_flip` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ptrs` [INFO] [stderr] --> src/mcts.rs:34:32 [INFO] [stderr] | [INFO] [stderr] 34 | let Tree::Node(ref ptrs, ref info) = *Rc::into_raw(p); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_ptrs` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `my_color` [INFO] [stderr] --> src/mcts.rs:159:9 [INFO] [stderr] | [INFO] [stderr] 159 | let my_color = color; [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_my_color` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `start` [INFO] [stderr] --> src/mcts.rs:161:9 [INFO] [stderr] | [INFO] [stderr] 161 | let start = SystemTime::now(); [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_start` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/mcts.rs:164:9 [INFO] [stderr] | [INFO] [stderr] 164 | for i in 0..CONST_SIM { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/mcts.rs:182:17 [INFO] [stderr] | [INFO] [stderr] 182 | for i in 0..ONE_SIM { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ptrs` [INFO] [stderr] --> src/mcts.rs:235:32 [INFO] [stderr] | [INFO] [stderr] 235 | let Tree::Node(ptrs, info) = &*v; [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_ptrs` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Nonde` [INFO] [stderr] --> src/mcts.rs:241:13 [INFO] [stderr] | [INFO] [stderr] 241 | Nonde => { [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_Nonde` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `my_color` [INFO] [stderr] --> src/mcts.rs:255:9 [INFO] [stderr] | [INFO] [stderr] 255 | let my_color = color; [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_my_color` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `start` [INFO] [stderr] --> src/mcts.rs:257:9 [INFO] [stderr] | [INFO] [stderr] 257 | let start = SystemTime::now(); [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_start` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/mcts.rs:260:9 [INFO] [stderr] | [INFO] [stderr] 260 | for i in 0..const_sim { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/mcts.rs:278:17 [INFO] [stderr] | [INFO] [stderr] 278 | for i in 0..one_sim { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ptrs` [INFO] [stderr] --> src/mcts.rs:327:32 [INFO] [stderr] | [INFO] [stderr] 327 | let Tree::Node(ptrs, info) = &*v; [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_ptrs` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Nonde` [INFO] [stderr] --> src/mcts.rs:334:13 [INFO] [stderr] | [INFO] [stderr] 334 | Nonde => { [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_Nonde` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `mm` [INFO] [stderr] --> src/policy.rs:27:13 [INFO] [stderr] | [INFO] [stderr] 27 | let mut mm = 10; [INFO] [stderr] | ^^ help: consider prefixing with an underscore: `_mm` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `turn` [INFO] [stderr] --> src/search.rs:101:17 [INFO] [stderr] | [INFO] [stderr] 101 | let turn = get_turn(board); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_turn` [INFO] [stderr] [INFO] [stderr] warning: value assigned to `action` is never read [INFO] [stderr] --> src/search.rs:350:17 [INFO] [stderr] | [INFO] [stderr] 350 | let mut action = 0; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `will_flip` is never read [INFO] [stderr] --> src/search.rs:351:17 [INFO] [stderr] | [INFO] [stderr] 351 | let mut will_flip = 0; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `p` is never read [INFO] [stderr] --> src/search.rs:448:13 [INFO] [stderr] | [INFO] [stderr] 448 | let mut p = None; [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `turn` [INFO] [stderr] --> src/search.rs:472:21 [INFO] [stderr] | [INFO] [stderr] 472 | let turn = get_turn(board); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_turn` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/valuation.rs:29:10 [INFO] [stderr] | [INFO] [stderr] 29 | let (b, w) = board; [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_b` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `w` [INFO] [stderr] --> src/valuation.rs:29:13 [INFO] [stderr] | [INFO] [stderr] 29 | let (b, w) = board; [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_w` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `turn` [INFO] [stderr] --> src/valuation.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | let turn = get_turn(board); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_turn` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/valuation.rs:38:10 [INFO] [stderr] | [INFO] [stderr] 38 | let (b, w) = board; [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_b` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `w` [INFO] [stderr] --> src/valuation.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | let (b, w) = board; [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_w` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `b` [INFO] [stderr] --> src/main.rs:186:31 [INFO] [stderr] | [INFO] [stderr] 186 | fn bench_last_search_easy(b: &mut Bencher) {} [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_b` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:55:9 [INFO] [stderr] | [INFO] [stderr] 55 | let mut logger = game::GameLogger::new( [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/bitboard.rs:44:9 [INFO] [stderr] | [INFO] [stderr] 44 | let mut outflank = 0; [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/bitboard.rs:49:9 [INFO] [stderr] | [INFO] [stderr] 49 | let mut me = me; [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/client.rs:181:9 [INFO] [stderr] | [INFO] [stderr] 181 | let mut ms = valid_moves(board, color); [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/client.rs:192:9 [INFO] [stderr] | [INFO] [stderr] 192 | let mut ms = valid_moves(board, color); [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/client.rs:222:9 [INFO] [stderr] | [INFO] [stderr] 222 | let mut ms = valid_moves(board, color); [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/client.rs:235:9 [INFO] [stderr] | [INFO] [stderr] 235 | let mut ms = valid_moves(board, color); [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/policy.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | let mut mm = 10; [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/game.rs:32:13 [INFO] [stderr] | [INFO] [stderr] 32 | let mut buffer1 = File::create(book_path).unwrap(); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/game.rs:33:13 [INFO] [stderr] | [INFO] [stderr] 33 | let mut buffer2 = File::create(eval_path).unwrap(); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/game.rs:330:24 [INFO] [stderr] | [INFO] [stderr] 330 | pub fn dump(&self, mut logger: &mut GameLogger) { [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/game.rs:393:9 [INFO] [stderr] | [INFO] [stderr] 393 | mut logger: &mut GameLogger, [INFO] [stderr] | ----^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/policy.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | let mut mm = 10; [INFO] [stderr] | ----^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: function is never used: `valid_moves_pos` [INFO] [stderr] --> src/bitboard.rs:90:1 [INFO] [stderr] | [INFO] [stderr] 90 | pub fn valid_moves_pos(board: (u64, u64), color: i64) -> Vec<(usize, u64)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `LEARN` [INFO] [stderr] --> src/client.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | const LEARN: bool = false; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `self_play` [INFO] [stderr] --> src/client.rs:25:1 [INFO] [stderr] | [INFO] [stderr] 25 | / pub fn self_play(p1: F, p2: F, n: usize) -> (usize, usize, usize) [INFO] [stderr] 26 | | where [INFO] [stderr] 27 | | F: Fn((u64, u64), i64) -> Move, [INFO] [stderr] 28 | | { [INFO] [stderr] ... | [INFO] [stderr] 60 | | (win, lose, tie) [INFO] [stderr] 61 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `play_until` [INFO] [stderr] --> src/client.rs:62:1 [INFO] [stderr] | [INFO] [stderr] 62 | / pub fn play_until<'a, F>( [INFO] [stderr] 63 | | p1: &F, [INFO] [stderr] 64 | | p2: &F, [INFO] [stderr] 65 | | board: (u64, u64), [INFO] [stderr] ... | [INFO] [stderr] 123 | | } [INFO] [stderr] 124 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `self_play_sub` [INFO] [stderr] --> src/client.rs:125:1 [INFO] [stderr] | [INFO] [stderr] 125 | / pub fn self_play_sub(p1: F, p2: F, board: (u64, u64), color: i64, prev: i64) -> wl [INFO] [stderr] 126 | | where [INFO] [stderr] 127 | | F: Fn((u64, u64), i64) -> Move, [INFO] [stderr] 128 | | { [INFO] [stderr] ... | [INFO] [stderr] 178 | | } [INFO] [stderr] 179 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `random_play` [INFO] [stderr] --> src/client.rs:180:1 [INFO] [stderr] | [INFO] [stderr] 180 | pub fn random_play(board: (u64, u64), color: i64) -> Move { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `shallow_alpha_beta` [INFO] [stderr] --> src/client.rs:191:1 [INFO] [stderr] | [INFO] [stderr] 191 | pub fn shallow_alpha_beta(board: (u64, u64), color: i64) -> Move { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `play_for_learn` [INFO] [stderr] --> src/client.rs:221:1 [INFO] [stderr] | [INFO] [stderr] 221 | pub fn play_for_learn(board: (u64, u64), color: i64) -> Move { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `play` [INFO] [stderr] --> src/client.rs:234:1 [INFO] [stderr] | [INFO] [stderr] 234 | pub fn play(board: (u64, u64), color: i64) -> Move { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Empty` [INFO] [stderr] --> src/client.rs:307:5 [INFO] [stderr] | [INFO] [stderr] 307 | Empty, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `Prev` [INFO] [stderr] --> src/client.rs:319:1 [INFO] [stderr] | [INFO] [stderr] 319 | pub enum Prev { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `EvalConfig` [INFO] [stderr] --> src/game.rs:255:1 [INFO] [stderr] | [INFO] [stderr] 255 | struct EvalConfig { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `winner` [INFO] [stderr] --> src/game.rs:319:5 [INFO] [stderr] | [INFO] [stderr] 319 | pub fn winner(&self) -> i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `self_play` [INFO] [stderr] --> src/game.rs:389:5 [INFO] [stderr] | [INFO] [stderr] 389 | / pub fn self_play( [INFO] [stderr] 390 | | &mut self, [INFO] [stderr] 391 | | play1: &Box (Move, Num)>, [INFO] [stderr] 392 | | play2: &Box (Move, Num)>, [INFO] [stderr] ... | [INFO] [stderr] 396 | | self.dump(logger); [INFO] [stderr] 397 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `C` [INFO] [stderr] --> src/mcts.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | const C: f64 = 1.414; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `INF` [INFO] [stderr] --> src/mcts.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | const INF: f64 = 10000000f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `ONE_SIM` [INFO] [stderr] --> src/mcts.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | const ONE_SIM: usize = 2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `CONST_SIM` [INFO] [stderr] --> src/mcts.rs:14:1 [INFO] [stderr] | [INFO] [stderr] 14 | const CONST_SIM: usize = 20000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Info` [INFO] [stderr] --> src/mcts.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | pub struct Info { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `Tree` [INFO] [stderr] --> src/mcts.rs:27:1 [INFO] [stderr] | [INFO] [stderr] 27 | pub enum Tree { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `backprop` [INFO] [stderr] --> src/mcts.rs:31:1 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn backprop(path: &Vec>, win: usize, lose: usize, tie: usize, sim: usize, color: i64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `best_move` [INFO] [stderr] --> src/mcts.rs:55:1 [INFO] [stderr] | [INFO] [stderr] 55 | pub fn best_move(childs: Ref>>) -> Option> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `best_child` [INFO] [stderr] --> src/mcts.rs:73:1 [INFO] [stderr] | [INFO] [stderr] 73 | pub fn best_child(childs: Ref>>, N: usize) -> Option> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `select_child` [INFO] [stderr] --> src/mcts.rs:93:1 [INFO] [stderr] | [INFO] [stderr] 93 | pub fn select_child<'a>(root: Rc) -> (&'a RefCell>>, &'a Info, Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `new_tree` [INFO] [stderr] --> src/mcts.rs:113:1 [INFO] [stderr] | [INFO] [stderr] 113 | pub fn new_tree(board: (u64, u64), color: i64) -> Tree { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `new_leaf` [INFO] [stderr] --> src/mcts.rs:127:1 [INFO] [stderr] | [INFO] [stderr] 127 | / pub fn new_leaf( [INFO] [stderr] 128 | | board: (u64, u64), [INFO] [stderr] 129 | | color: i64, [INFO] [stderr] 130 | | n: usize, [INFO] [stderr] ... | [INFO] [stderr] 147 | | ) [INFO] [stderr] 148 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `simulate` [INFO] [stderr] --> src/mcts.rs:149:1 [INFO] [stderr] | [INFO] [stderr] 149 | pub fn simulate(board: (u64, u64), color: i64) -> wl { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `mcts` [INFO] [stderr] --> src/mcts.rs:156:1 [INFO] [stderr] | [INFO] [stderr] 156 | pub fn mcts(board: (u64, u64), color: i64) -> (u64, u64, i64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `mcts_for_learn` [INFO] [stderr] --> src/mcts.rs:247:1 [INFO] [stderr] | [INFO] [stderr] 247 | / pub fn mcts_for_learn( [INFO] [stderr] 248 | | board: (u64, u64), [INFO] [stderr] 249 | | color: i64, [INFO] [stderr] 250 | | one_sim: usize, [INFO] [stderr] ... | [INFO] [stderr] 338 | | } [INFO] [stderr] 339 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `DEPTH` [INFO] [stderr] --> src/params.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | pub const DEPTH: usize = 6; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `LAST` [INFO] [stderr] --> src/params.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | pub const LAST: usize = 21; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `PARARELL` [INFO] [stderr] --> src/params.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | pub const PARARELL: bool = false; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `Stage` [INFO] [stderr] --> src/pattern.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | pub const Stage: usize = 5; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `State` [INFO] [stderr] --> src/pattern.rs:20:1 [INFO] [stderr] | [INFO] [stderr] 20 | pub const State: usize = Stage; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Patterns` [INFO] [stderr] --> src/pattern.rs:438:1 [INFO] [stderr] | [INFO] [stderr] 438 | pub struct Patterns { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `f` [INFO] [stderr] --> src/pattern.rs:626:1 [INFO] [stderr] | [INFO] [stderr] 626 | pub fn f((b, w): (u64, u64)) -> i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `P` [INFO] [stderr] --> src/policy.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | / const P: [u8; 64] = [ [INFO] [stderr] 7 | | 1, 5, 3, 3, 3, 3, 5, 1, 5, 5, 4, 4, 4, 4, 5, 5, 3, 4, 2, 2, 2, 2, 4, 3, 3, 4, 2, 0, 0, 2, 4, 3, [INFO] [stderr] 8 | | 3, 4, 2, 0, 0, 2, 4, 3, 3, 4, 2, 2, 2, 2, 4, 3, 5, 5, 4, 4, 4, 4, 5, 5, 1, 5, 3, 3, 3, 3, 5, 1, [INFO] [stderr] 9 | | ]; [INFO] [stderr] | |__^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `random_policy` [INFO] [stderr] --> src/policy.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn random_policy((b, w): (u64, u64), color: i64) -> Move { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `roxanne_policy` [INFO] [stderr] --> src/policy.rs:20:1 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn roxanne_policy((b, w): (u64, u64), color: i64) -> Move { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `last_search_sub` [INFO] [stderr] --> src/search.rs:81:1 [INFO] [stderr] | [INFO] [stderr] 81 | / pub fn last_search_sub( [INFO] [stderr] 82 | | board: (u64, u64), [INFO] [stderr] 83 | | color: i64, [INFO] [stderr] 84 | | prev: i64, [INFO] [stderr] ... | [INFO] [stderr] 87 | | last_search_hash(board, color, prev, table) [INFO] [stderr] 88 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `last_search` [INFO] [stderr] --> src/search.rs:89:1 [INFO] [stderr] | [INFO] [stderr] 89 | pub fn last_search(board: (u64, u64), color: i64, prev: i64) -> i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `negamax` [INFO] [stderr] --> src/search.rs:198:1 [INFO] [stderr] | [INFO] [stderr] 198 | / pub fn negamax( [INFO] [stderr] 199 | | board: (u64, u64), [INFO] [stderr] 200 | | valuate: &F, [INFO] [stderr] 201 | | depth: usize, [INFO] [stderr] ... | [INFO] [stderr] 251 | | } [INFO] [stderr] 252 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `select_best_move` [INFO] [stderr] --> src/search.rs:338:1 [INFO] [stderr] | [INFO] [stderr] 338 | / pub fn select_best_move( [INFO] [stderr] 339 | | board: (u64, u64), [INFO] [stderr] 340 | | color: i64, [INFO] [stderr] 341 | | depth: usize, [INFO] [stderr] ... | [INFO] [stderr] 400 | | } [INFO] [stderr] 401 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `A` [INFO] [stderr] --> src/valuation.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | const A: i64 = 500; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `B` [INFO] [stderr] --> src/valuation.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | const B: i64 = -50; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `C` [INFO] [stderr] --> src/valuation.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | const C: i64 = -5; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `D` [INFO] [stderr] --> src/valuation.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | const D: i64 = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `E` [INFO] [stderr] --> src/valuation.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | const E: i64 = -70; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `F` [INFO] [stderr] --> src/valuation.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | const F: i64 = -5; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `G` [INFO] [stderr] --> src/valuation.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | const G: i64 = -10; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `H` [INFO] [stderr] --> src/valuation.rs:14:1 [INFO] [stderr] | [INFO] [stderr] 14 | const H: i64 = -10; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `I` [INFO] [stderr] --> src/valuation.rs:15:1 [INFO] [stderr] | [INFO] [stderr] 15 | const I: i64 = -5; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `J` [INFO] [stderr] --> src/valuation.rs:16:1 [INFO] [stderr] | [INFO] [stderr] 16 | const J: i64 = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `W` [INFO] [stderr] --> src/valuation.rs:18:1 [INFO] [stderr] | [INFO] [stderr] 18 | / const W: [i64; 64] = [ [INFO] [stderr] 19 | | A, B, C, D, D, C, B, A, B, E, F, G, G, F, E, B, C, F, H, I, I, H, F, C, D, G, I, J, J, I, G, D, [INFO] [stderr] 20 | | D, G, I, J, J, I, G, D, C, F, H, I, I, H, F, C, B, E, F, G, G, F, E, B, A, B, C, D, D, C, B, A, [INFO] [stderr] 21 | | ]; [INFO] [stderr] | |__^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `valuate` [INFO] [stderr] --> src/valuation.rs:28:1 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn valuate(board: (u64, u64)) -> i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `valuate_with_default_pattern` [INFO] [stderr] --> src/valuation.rs:37:1 [INFO] [stderr] | [INFO] [stderr] 37 | pub fn valuate_with_default_pattern(board: (u64, u64)) -> i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `openness` [INFO] [stderr] --> src/valuation.rs:55:1 [INFO] [stderr] | [INFO] [stderr] 55 | pub fn openness(board: (u64, u64)) -> i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `bp` [INFO] [stderr] --> src/valuation.rs:82:1 [INFO] [stderr] | [INFO] [stderr] 82 | pub fn bp(board: (u64, u64)) -> i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `simple_linear_valuation` [INFO] [stderr] --> src/valuation.rs:153:1 [INFO] [stderr] | [INFO] [stderr] 153 | pub fn simple_linear_valuation(board: (u64, u64)) -> i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `doMove` should have a snake case name [INFO] [stderr] --> src/bitboard.rs:1:8 [INFO] [stderr] | [INFO] [stderr] 1 | pub fn doMove(board: (u64, u64), color: i64, mask: u64) -> (u64, u64) { [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `do_move` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/data_loader.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | file.read_to_string(&mut contents); [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/data_loader.rs:134:5 [INFO] [stderr] | [INFO] [stderr] 134 | file.read_to_string(&mut contents); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/data_loader.rs:159:5 [INFO] [stderr] | [INFO] [stderr] 159 | file.read_to_string(&mut contents); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/game.rs:337:21 [INFO] [stderr] | [INFO] [stderr] 337 | / write!( [INFO] [stderr] 338 | | logger.book_writer, [INFO] [stderr] 339 | | "{}{}{}", [INFO] [stderr] 340 | | if *color == 1 { "+" } else { "-" }, [INFO] [stderr] 341 | | c1, [INFO] [stderr] 342 | | c2 [INFO] [stderr] 343 | | ); [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/game.rs:344:21 [INFO] [stderr] | [INFO] [stderr] 344 | write!(logger.eval_writer, "{},", *teacher_eval); [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/game.rs:350:9 [INFO] [stderr] | [INFO] [stderr] 350 | write!(logger.book_writer, ": {} {}\n", self.diff(), 10); [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/game.rs:351:9 [INFO] [stderr] | [INFO] [stderr] 351 | write!(logger.eval_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: variable `N` should have a snake case name [INFO] [stderr] --> src/mcts.rs:73:47 [INFO] [stderr] | [INFO] [stderr] 73 | pub fn best_child(childs: Ref>>, N: usize) -> Option> { [INFO] [stderr] | ^ help: convert the identifier to snake case: `n` [INFO] [stderr] [INFO] [stderr] warning: variable `Nonde` should have a snake case name [INFO] [stderr] --> src/mcts.rs:241:13 [INFO] [stderr] | [INFO] [stderr] 241 | Nonde => { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `nonde` [INFO] [stderr] [INFO] [stderr] warning: variable `Nonde` should have a snake case name [INFO] [stderr] --> src/mcts.rs:334:13 [INFO] [stderr] | [INFO] [stderr] 334 | Nonde => { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `nonde` [INFO] [stderr] [INFO] [stderr] warning: constant `Stage` should have an upper case name [INFO] [stderr] --> src/pattern.rs:19:11 [INFO] [stderr] | [INFO] [stderr] 19 | pub const Stage: usize = 5; [INFO] [stderr] | ^^^^^ help: convert the identifier to upper case: `STAGE` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_upper_case_globals)] on by default [INFO] [stderr] [INFO] [stderr] warning: constant `State` should have an upper case name [INFO] [stderr] --> src/pattern.rs:20:11 [INFO] [stderr] | [INFO] [stderr] 20 | pub const State: usize = Stage; [INFO] [stderr] | ^^^^^ help: convert the identifier to upper case: `STATE` [INFO] [stderr] [INFO] [stderr] warning: constant `P_diag_4` should have an upper case name [INFO] [stderr] --> src/pattern.rs:22:11 [INFO] [stderr] | [INFO] [stderr] 22 | pub const P_diag_4: [[usize; 4]; 4] = [ [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper case: `P_DIAG_4` [INFO] [stderr] [INFO] [stderr] warning: constant `P_diag_5` should have an upper case name [INFO] [stderr] --> src/pattern.rs:28:11 [INFO] [stderr] | [INFO] [stderr] 28 | pub const P_diag_5: [[usize; 5]; 4] = [ [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper case: `P_DIAG_5` [INFO] [stderr] [INFO] [stderr] warning: constant `P_diag_6` should have an upper case name [INFO] [stderr] --> src/pattern.rs:34:11 [INFO] [stderr] | [INFO] [stderr] 34 | pub const P_diag_6: [[usize; 6]; 4] = [ [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper case: `P_DIAG_6` [INFO] [stderr] [INFO] [stderr] warning: constant `P_diag_7` should have an upper case name [INFO] [stderr] --> src/pattern.rs:41:11 [INFO] [stderr] | [INFO] [stderr] 41 | pub const P_diag_7: [[usize; 7]; 4] = [ [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper case: `P_DIAG_7` [INFO] [stderr] [INFO] [stderr] warning: constant `P_diag_8` should have an upper case name [INFO] [stderr] --> src/pattern.rs:48:11 [INFO] [stderr] | [INFO] [stderr] 48 | pub const P_diag_8: [[usize; 8]; 2] = [ [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper case: `P_DIAG_8` [INFO] [stderr] [INFO] [stderr] warning: constant `P_square25` should have an upper case name [INFO] [stderr] --> src/pattern.rs:53:11 [INFO] [stderr] | [INFO] [stderr] 53 | pub const P_square25: [[usize; 10]; 8] = [ [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper case: `P_SQUARE25` [INFO] [stderr] [INFO] [stderr] warning: constant `P_square33` should have an upper case name [INFO] [stderr] --> src/pattern.rs:64:11 [INFO] [stderr] | [INFO] [stderr] 64 | pub const P_square33: [[usize; 9]; 4] = [ [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper case: `P_SQUARE33` [INFO] [stderr] [INFO] [stderr] warning: constant `P_edgeX` should have an upper case name [INFO] [stderr] --> src/pattern.rs:71:11 [INFO] [stderr] | [INFO] [stderr] 71 | pub const P_edgeX: [[usize; 10]; 4] = [ [INFO] [stderr] | ^^^^^^^ help: convert the identifier to upper case: `P_EDGE_X` [INFO] [stderr] [INFO] [stderr] warning: constant `P_center` should have an upper case name [INFO] [stderr] --> src/pattern.rs:78:11 [INFO] [stderr] | [INFO] [stderr] 78 | pub const P_center: [[usize; 8]; 4] = [ [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper case: `P_CENTER` [INFO] [stderr] [INFO] [stderr] warning: constant `P_subcenter` should have an upper case name [INFO] [stderr] --> src/pattern.rs:84:11 [INFO] [stderr] | [INFO] [stderr] 84 | pub const P_subcenter: [[usize; 8]; 4] = [ [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to upper case: `P_SUBCENTER` [INFO] [stderr] [INFO] [stderr] warning: constant `P_subsubcenter` should have an upper case name [INFO] [stderr] --> src/pattern.rs:90:11 [INFO] [stderr] | [INFO] [stderr] 90 | pub const P_subsubcenter: [[usize; 8]; 4] = [ [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to upper case: `P_SUBSUBCENTER` [INFO] [stderr] [INFO] [stderr] warning: unused attribute [INFO] [stderr] --> src/pattern.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #![macro_use] [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_attributes)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/learn.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | write!(&mut buffer, "{},", i); [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: comparison is useless due to type limits [INFO] [stderr] --> src/valuation.rs:66:24 [INFO] [stderr] | [INFO] [stderr] 66 | if nx >= 0 && ny >= 0 && nx < 8 && ny < 8 { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_comparisons)] on by default [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/valuation.rs:66:35 [INFO] [stderr] | [INFO] [stderr] 66 | if nx >= 0 && ny >= 0 && nx < 8 && ny < 8 { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `valid_moves_pos` [INFO] [stderr] --> src/bitboard.rs:90:1 [INFO] [stderr] | [INFO] [stderr] 90 | pub fn valid_moves_pos(board: (u64, u64), color: i64) -> Vec<(usize, u64)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `LEARN` [INFO] [stderr] --> src/client.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | const LEARN: bool = false; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `self_play` [INFO] [stderr] --> src/client.rs:25:1 [INFO] [stderr] | [INFO] [stderr] 25 | / pub fn self_play(p1: F, p2: F, n: usize) -> (usize, usize, usize) [INFO] [stderr] 26 | | where [INFO] [stderr] 27 | | F: Fn((u64, u64), i64) -> Move, [INFO] [stderr] 28 | | { [INFO] [stderr] ... | [INFO] [stderr] 60 | | (win, lose, tie) [INFO] [stderr] 61 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `play_until` [INFO] [stderr] --> src/client.rs:62:1 [INFO] [stderr] | [INFO] [stderr] 62 | / pub fn play_until<'a, F>( [INFO] [stderr] 63 | | p1: &F, [INFO] [stderr] 64 | | p2: &F, [INFO] [stderr] 65 | | board: (u64, u64), [INFO] [stderr] ... | [INFO] [stderr] 123 | | } [INFO] [stderr] 124 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `self_play_sub` [INFO] [stderr] --> src/client.rs:125:1 [INFO] [stderr] | [INFO] [stderr] 125 | / pub fn self_play_sub(p1: F, p2: F, board: (u64, u64), color: i64, prev: i64) -> wl [INFO] [stderr] 126 | | where [INFO] [stderr] 127 | | F: Fn((u64, u64), i64) -> Move, [INFO] [stderr] 128 | | { [INFO] [stderr] ... | [INFO] [stderr] 178 | | } [INFO] [stderr] 179 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `random_play` [INFO] [stderr] --> src/client.rs:180:1 [INFO] [stderr] | [INFO] [stderr] 180 | pub fn random_play(board: (u64, u64), color: i64) -> Move { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `shallow_alpha_beta` [INFO] [stderr] --> src/client.rs:191:1 [INFO] [stderr] | [INFO] [stderr] 191 | pub fn shallow_alpha_beta(board: (u64, u64), color: i64) -> Move { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `play_for_learn` [INFO] [stderr] --> src/client.rs:221:1 [INFO] [stderr] | [INFO] [stderr] 221 | pub fn play_for_learn(board: (u64, u64), color: i64) -> Move { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `play` [INFO] [stderr] --> src/client.rs:234:1 [INFO] [stderr] | [INFO] [stderr] 234 | pub fn play(board: (u64, u64), color: i64) -> Move { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Empty` [INFO] [stderr] --> src/client.rs:307:5 [INFO] [stderr] | [INFO] [stderr] 307 | Empty, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `Prev` [INFO] [stderr] --> src/client.rs:319:1 [INFO] [stderr] | [INFO] [stderr] 319 | pub enum Prev { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `EvalConfig` [INFO] [stderr] --> src/game.rs:255:1 [INFO] [stderr] | [INFO] [stderr] 255 | struct EvalConfig { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `winner` [INFO] [stderr] --> src/game.rs:319:5 [INFO] [stderr] | [INFO] [stderr] 319 | pub fn winner(&self) -> i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `self_play` [INFO] [stderr] --> src/game.rs:389:5 [INFO] [stderr] | [INFO] [stderr] 389 | / pub fn self_play( [INFO] [stderr] 390 | | &mut self, [INFO] [stderr] 391 | | play1: &Box (Move, Num)>, [INFO] [stderr] 392 | | play2: &Box (Move, Num)>, [INFO] [stderr] ... | [INFO] [stderr] 396 | | self.dump(logger); [INFO] [stderr] 397 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `C` [INFO] [stderr] --> src/mcts.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | const C: f64 = 1.414; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `INF` [INFO] [stderr] --> src/mcts.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | const INF: f64 = 10000000f64; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `ONE_SIM` [INFO] [stderr] --> src/mcts.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | const ONE_SIM: usize = 2; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `CONST_SIM` [INFO] [stderr] --> src/mcts.rs:14:1 [INFO] [stderr] | [INFO] [stderr] 14 | const CONST_SIM: usize = 20000; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Info` [INFO] [stderr] --> src/mcts.rs:17:1 [INFO] [stderr] | [INFO] [stderr] 17 | pub struct Info { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `Tree` [INFO] [stderr] --> src/mcts.rs:27:1 [INFO] [stderr] | [INFO] [stderr] 27 | pub enum Tree { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `backprop` [INFO] [stderr] --> src/mcts.rs:31:1 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn backprop(path: &Vec>, win: usize, lose: usize, tie: usize, sim: usize, color: i64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `best_move` [INFO] [stderr] --> src/mcts.rs:55:1 [INFO] [stderr] | [INFO] [stderr] 55 | pub fn best_move(childs: Ref>>) -> Option> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `best_child` [INFO] [stderr] --> src/mcts.rs:73:1 [INFO] [stderr] | [INFO] [stderr] 73 | pub fn best_child(childs: Ref>>, N: usize) -> Option> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `select_child` [INFO] [stderr] --> src/mcts.rs:93:1 [INFO] [stderr] | [INFO] [stderr] 93 | pub fn select_child<'a>(root: Rc) -> (&'a RefCell>>, &'a Info, Vec>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `new_tree` [INFO] [stderr] --> src/mcts.rs:113:1 [INFO] [stderr] | [INFO] [stderr] 113 | pub fn new_tree(board: (u64, u64), color: i64) -> Tree { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `new_leaf` [INFO] [stderr] --> src/mcts.rs:127:1 [INFO] [stderr] | [INFO] [stderr] 127 | / pub fn new_leaf( [INFO] [stderr] 128 | | board: (u64, u64), [INFO] [stderr] 129 | | color: i64, [INFO] [stderr] 130 | | n: usize, [INFO] [stderr] ... | [INFO] [stderr] 147 | | ) [INFO] [stderr] 148 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `simulate` [INFO] [stderr] --> src/mcts.rs:149:1 [INFO] [stderr] | [INFO] [stderr] 149 | pub fn simulate(board: (u64, u64), color: i64) -> wl { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `mcts` [INFO] [stderr] --> src/mcts.rs:156:1 [INFO] [stderr] | [INFO] [stderr] 156 | pub fn mcts(board: (u64, u64), color: i64) -> (u64, u64, i64) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `mcts_for_learn` [INFO] [stderr] --> src/mcts.rs:247:1 [INFO] [stderr] | [INFO] [stderr] 247 | / pub fn mcts_for_learn( [INFO] [stderr] 248 | | board: (u64, u64), [INFO] [stderr] 249 | | color: i64, [INFO] [stderr] 250 | | one_sim: usize, [INFO] [stderr] ... | [INFO] [stderr] 338 | | } [INFO] [stderr] 339 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `DEPTH` [INFO] [stderr] --> src/params.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | pub const DEPTH: usize = 6; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `LAST` [INFO] [stderr] --> src/params.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | pub const LAST: usize = 21; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `PARARELL` [INFO] [stderr] --> src/params.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | pub const PARARELL: bool = false; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `Stage` [INFO] [stderr] --> src/pattern.rs:19:1 [INFO] [stderr] | [INFO] [stderr] 19 | pub const Stage: usize = 5; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `State` [INFO] [stderr] --> src/pattern.rs:20:1 [INFO] [stderr] | [INFO] [stderr] 20 | pub const State: usize = Stage; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Patterns` [INFO] [stderr] --> src/pattern.rs:438:1 [INFO] [stderr] | [INFO] [stderr] 438 | pub struct Patterns { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `f` [INFO] [stderr] --> src/pattern.rs:626:1 [INFO] [stderr] | [INFO] [stderr] 626 | pub fn f((b, w): (u64, u64)) -> i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `P` [INFO] [stderr] --> src/policy.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | / const P: [u8; 64] = [ [INFO] [stderr] 7 | | 1, 5, 3, 3, 3, 3, 5, 1, 5, 5, 4, 4, 4, 4, 5, 5, 3, 4, 2, 2, 2, 2, 4, 3, 3, 4, 2, 0, 0, 2, 4, 3, [INFO] [stderr] 8 | | 3, 4, 2, 0, 0, 2, 4, 3, 3, 4, 2, 2, 2, 2, 4, 3, 5, 5, 4, 4, 4, 4, 5, 5, 1, 5, 3, 3, 3, 3, 5, 1, [INFO] [stderr] 9 | | ]; [INFO] [stderr] | |__^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `random_policy` [INFO] [stderr] --> src/policy.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn random_policy((b, w): (u64, u64), color: i64) -> Move { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `roxanne_policy` [INFO] [stderr] --> src/policy.rs:20:1 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn roxanne_policy((b, w): (u64, u64), color: i64) -> Move { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `last_search_sub` [INFO] [stderr] --> src/search.rs:81:1 [INFO] [stderr] | [INFO] [stderr] 81 | / pub fn last_search_sub( [INFO] [stderr] 82 | | board: (u64, u64), [INFO] [stderr] 83 | | color: i64, [INFO] [stderr] 84 | | prev: i64, [INFO] [stderr] ... | [INFO] [stderr] 87 | | last_search_hash(board, color, prev, table) [INFO] [stderr] 88 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `last_search` [INFO] [stderr] --> src/search.rs:89:1 [INFO] [stderr] | [INFO] [stderr] 89 | pub fn last_search(board: (u64, u64), color: i64, prev: i64) -> i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `negamax` [INFO] [stderr] --> src/search.rs:198:1 [INFO] [stderr] | [INFO] [stderr] 198 | / pub fn negamax( [INFO] [stderr] 199 | | board: (u64, u64), [INFO] [stderr] 200 | | valuate: &F, [INFO] [stderr] 201 | | depth: usize, [INFO] [stderr] ... | [INFO] [stderr] 251 | | } [INFO] [stderr] 252 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `select_best_move` [INFO] [stderr] --> src/search.rs:338:1 [INFO] [stderr] | [INFO] [stderr] 338 | / pub fn select_best_move( [INFO] [stderr] 339 | | board: (u64, u64), [INFO] [stderr] 340 | | color: i64, [INFO] [stderr] 341 | | depth: usize, [INFO] [stderr] ... | [INFO] [stderr] 400 | | } [INFO] [stderr] 401 | | } [INFO] [stderr] | |_^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `A` [INFO] [stderr] --> src/valuation.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | const A: i64 = 500; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `B` [INFO] [stderr] --> src/valuation.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | const B: i64 = -50; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `C` [INFO] [stderr] --> src/valuation.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | const C: i64 = -5; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `D` [INFO] [stderr] --> src/valuation.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | const D: i64 = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `E` [INFO] [stderr] --> src/valuation.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | const E: i64 = -70; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `F` [INFO] [stderr] --> src/valuation.rs:12:1 [INFO] [stderr] | [INFO] [stderr] 12 | const F: i64 = -5; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `G` [INFO] [stderr] --> src/valuation.rs:13:1 [INFO] [stderr] | [INFO] [stderr] 13 | const G: i64 = -10; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `H` [INFO] [stderr] --> src/valuation.rs:14:1 [INFO] [stderr] | [INFO] [stderr] 14 | const H: i64 = -10; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `I` [INFO] [stderr] --> src/valuation.rs:15:1 [INFO] [stderr] | [INFO] [stderr] 15 | const I: i64 = -5; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `J` [INFO] [stderr] --> src/valuation.rs:16:1 [INFO] [stderr] | [INFO] [stderr] 16 | const J: i64 = 0; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: constant item is never used: `W` [INFO] [stderr] --> src/valuation.rs:18:1 [INFO] [stderr] | [INFO] [stderr] 18 | / const W: [i64; 64] = [ [INFO] [stderr] 19 | | A, B, C, D, D, C, B, A, B, E, F, G, G, F, E, B, C, F, H, I, I, H, F, C, D, G, I, J, J, I, G, D, [INFO] [stderr] 20 | | D, G, I, J, J, I, G, D, C, F, H, I, I, H, F, C, B, E, F, G, G, F, E, B, A, B, C, D, D, C, B, A, [INFO] [stderr] 21 | | ]; [INFO] [stderr] | |__^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `valuate` [INFO] [stderr] --> src/valuation.rs:28:1 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn valuate(board: (u64, u64)) -> i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `valuate_with_default_pattern` [INFO] [stderr] --> src/valuation.rs:37:1 [INFO] [stderr] | [INFO] [stderr] 37 | pub fn valuate_with_default_pattern(board: (u64, u64)) -> i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `openness` [INFO] [stderr] --> src/valuation.rs:55:1 [INFO] [stderr] | [INFO] [stderr] 55 | pub fn openness(board: (u64, u64)) -> i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `bp` [INFO] [stderr] --> src/valuation.rs:82:1 [INFO] [stderr] | [INFO] [stderr] 82 | pub fn bp(board: (u64, u64)) -> i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `simple_linear_valuation` [INFO] [stderr] --> src/valuation.rs:153:1 [INFO] [stderr] | [INFO] [stderr] 153 | pub fn simple_linear_valuation(board: (u64, u64)) -> i64 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function `doMove` should have a snake case name [INFO] [stderr] --> src/bitboard.rs:1:8 [INFO] [stderr] | [INFO] [stderr] 1 | pub fn doMove(board: (u64, u64), color: i64, mask: u64) -> (u64, u64) { [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `do_move` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_snake_case)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/data_loader.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | file.read_to_string(&mut contents); [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: unused `std::result::Result` that must be used [INFO] [stderr] --> src/data_loader.rs:134:5 [INFO] [stderr] | [INFO] [stderr] 134 | file.read_to_string(&mut contents); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/data_loader.rs:159:5 [INFO] [stderr] | [INFO] [stderr] 159 | file.read_to_string(&mut contents); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/game.rs:337:21 [INFO] [stderr] | [INFO] [stderr] 337 | / write!( [INFO] [stderr] 338 | | logger.book_writer, [INFO] [stderr] 339 | | "{}{}{}", [INFO] [stderr] 340 | | if *color == 1 { "+" } else { "-" }, [INFO] [stderr] 341 | | c1, [INFO] [stderr] 342 | | c2 [INFO] [stderr] 343 | | ); [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/game.rs:344:21 [INFO] [stderr] | [INFO] [stderr] 344 | write!(logger.eval_writer, "{},", *teacher_eval); [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/game.rs:350:9 [INFO] [stderr] | [INFO] [stderr] 350 | write!(logger.book_writer, ": {} {}\n", self.diff(), 10); [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/game.rs:351:9 [INFO] [stderr] | [INFO] [stderr] 351 | write!(logger.eval_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: variable `N` should have a snake case name [INFO] [stderr] --> src/mcts.rs:73:47 [INFO] [stderr] | [INFO] [stderr] 73 | pub fn best_child(childs: Ref>>, N: usize) -> Option> { [INFO] [stderr] | ^ help: convert the identifier to snake case: `n` [INFO] [stderr] [INFO] [stderr] warning: variable `Nonde` should have a snake case name [INFO] [stderr] --> src/mcts.rs:241:13 [INFO] [stderr] | [INFO] [stderr] 241 | Nonde => { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `nonde` [INFO] [stderr] [INFO] [stderr] warning: variable `Nonde` should have a snake case name [INFO] [stderr] --> src/mcts.rs:334:13 [INFO] [stderr] | [INFO] [stderr] 334 | Nonde => { [INFO] [stderr] | ^^^^^ help: convert the identifier to snake case: `nonde` [INFO] [stderr] [INFO] [stderr] warning: constant `Stage` should have an upper case name [INFO] [stderr] --> src/pattern.rs:19:11 [INFO] [stderr] | [INFO] [stderr] 19 | pub const Stage: usize = 5; [INFO] [stderr] | ^^^^^ help: convert the identifier to upper case: `STAGE` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(non_upper_case_globals)] on by default [INFO] [stderr] [INFO] [stderr] warning: constant `State` should have an upper case name [INFO] [stderr] --> src/pattern.rs:20:11 [INFO] [stderr] | [INFO] [stderr] 20 | pub const State: usize = Stage; [INFO] [stderr] | ^^^^^ help: convert the identifier to upper case: `STATE` [INFO] [stderr] [INFO] [stderr] warning: constant `P_diag_4` should have an upper case name [INFO] [stderr] --> src/pattern.rs:22:11 [INFO] [stderr] | [INFO] [stderr] 22 | pub const P_diag_4: [[usize; 4]; 4] = [ [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper case: `P_DIAG_4` [INFO] [stderr] [INFO] [stderr] warning: constant `P_diag_5` should have an upper case name [INFO] [stderr] --> src/pattern.rs:28:11 [INFO] [stderr] | [INFO] [stderr] 28 | pub const P_diag_5: [[usize; 5]; 4] = [ [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper case: `P_DIAG_5` [INFO] [stderr] [INFO] [stderr] warning: constant `P_diag_6` should have an upper case name [INFO] [stderr] --> src/pattern.rs:34:11 [INFO] [stderr] | [INFO] [stderr] 34 | pub const P_diag_6: [[usize; 6]; 4] = [ [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper case: `P_DIAG_6` [INFO] [stderr] [INFO] [stderr] warning: constant `P_diag_7` should have an upper case name [INFO] [stderr] --> src/pattern.rs:41:11 [INFO] [stderr] | [INFO] [stderr] 41 | pub const P_diag_7: [[usize; 7]; 4] = [ [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper case: `P_DIAG_7` [INFO] [stderr] [INFO] [stderr] warning: constant `P_diag_8` should have an upper case name [INFO] [stderr] --> src/pattern.rs:48:11 [INFO] [stderr] | [INFO] [stderr] 48 | pub const P_diag_8: [[usize; 8]; 2] = [ [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper case: `P_DIAG_8` [INFO] [stderr] [INFO] [stderr] warning: constant `P_square25` should have an upper case name [INFO] [stderr] --> src/pattern.rs:53:11 [INFO] [stderr] | [INFO] [stderr] 53 | pub const P_square25: [[usize; 10]; 8] = [ [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper case: `P_SQUARE25` [INFO] [stderr] [INFO] [stderr] warning: constant `P_square33` should have an upper case name [INFO] [stderr] --> src/pattern.rs:64:11 [INFO] [stderr] | [INFO] [stderr] 64 | pub const P_square33: [[usize; 9]; 4] = [ [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to upper case: `P_SQUARE33` [INFO] [stderr] [INFO] [stderr] warning: constant `P_edgeX` should have an upper case name [INFO] [stderr] --> src/pattern.rs:71:11 [INFO] [stderr] | [INFO] [stderr] 71 | pub const P_edgeX: [[usize; 10]; 4] = [ [INFO] [stderr] | ^^^^^^^ help: convert the identifier to upper case: `P_EDGE_X` [INFO] [stderr] [INFO] [stderr] warning: constant `P_center` should have an upper case name [INFO] [stderr] --> src/pattern.rs:78:11 [INFO] [stderr] | [INFO] [stderr] 78 | pub const P_center: [[usize; 8]; 4] = [ [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to upper case: `P_CENTER` [INFO] [stderr] [INFO] [stderr] warning: constant `P_subcenter` should have an upper case name [INFO] [stderr] --> src/pattern.rs:84:11 [INFO] [stderr] | [INFO] [stderr] 84 | pub const P_subcenter: [[usize; 8]; 4] = [ [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to upper case: `P_SUBCENTER` [INFO] [stderr] [INFO] [stderr] warning: constant `P_subsubcenter` should have an upper case name [INFO] [stderr] --> src/pattern.rs:90:11 [INFO] [stderr] | [INFO] [stderr] 90 | pub const P_subsubcenter: [[usize; 8]; 4] = [ [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to upper case: `P_SUBSUBCENTER` [INFO] [stderr] [INFO] [stderr] warning: unused attribute [INFO] [stderr] --> src/pattern.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #![macro_use] [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_attributes)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/learn.rs:27:9 [INFO] [stderr] | [INFO] [stderr] 27 | write!(&mut buffer, "{},", i); [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: comparison is useless due to type limits [INFO] [stderr] --> src/valuation.rs:66:24 [INFO] [stderr] | [INFO] [stderr] 66 | if nx >= 0 && ny >= 0 && nx < 8 && ny < 8 { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_comparisons)] on by default [INFO] [stderr] [INFO] [stderr] warning: comparison is useless due to type limits [INFO] [stderr] --> src/valuation.rs:66:35 [INFO] [stderr] | [INFO] [stderr] 66 | if nx >= 0 && ny >= 0 && nx < 8 && ny < 8 { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 4.36s [INFO] running `"docker" "inspect" "812b1a6e5bb1e0efa52282492094634a54279ee5c7d8c95a2528cb9838a301ab"` [INFO] running `"docker" "rm" "-f" "812b1a6e5bb1e0efa52282492094634a54279ee5c7d8c95a2528cb9838a301ab"` [INFO] [stdout] 812b1a6e5bb1e0efa52282492094634a54279ee5c7d8c95a2528cb9838a301ab