[INFO] fetching crate chessrl 0.0.1...
[INFO] testing chessrl-0.0.1 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-7
[INFO] extracting crate chessrl 0.0.1 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate chessrl 0.0.1
[INFO] finished tweaking crates.io crate chessrl 0.0.1
[INFO] tweaked toml for crates.io crate chessrl 0.0.1 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate chessrl 0.0.1 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate chessrl 0.0.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 79bbe173fd0f1143af773946ddc0ac1b457968a2d307e946dadd095b55bb79b4
[INFO] running `Command { std: "docker" "start" "-a" "79bbe173fd0f1143af773946ddc0ac1b457968a2d307e946dadd095b55bb79b4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "79bbe173fd0f1143af773946ddc0ac1b457968a2d307e946dadd095b55bb79b4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "79bbe173fd0f1143af773946ddc0ac1b457968a2d307e946dadd095b55bb79b4", kill_on_drop: false }`
[INFO] [stdout] 79bbe173fd0f1143af773946ddc0ac1b457968a2d307e946dadd095b55bb79b4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c9d452ebd87a002874f6fe0134662eddbac2d6610e232f176a4d76339bf2a445
[INFO] running `Command { std: "docker" "start" "-a" "c9d452ebd87a002874f6fe0134662eddbac2d6610e232f176a4d76339bf2a445", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.169
[INFO] [stderr]    Compiling rustversion v1.0.19
[INFO] [stderr]    Compiling log v0.4.25
[INFO] [stderr]    Compiling smallvec v1.14.0
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]    Compiling foldhash v0.1.4
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling bitflags v2.8.0
[INFO] [stderr]    Compiling ryu v1.0.19
[INFO] [stderr]    Compiling indoc v2.0.5
[INFO] [stderr]    Compiling unicode-truncate v1.1.0
[INFO] [stderr]    Compiling hashbrown v0.15.2
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling syn v2.0.98
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling castaway v0.2.3
[INFO] [stderr]    Compiling compact_str v0.8.1
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling mio v0.8.11
[INFO] [stderr]    Compiling mio v1.0.3
[INFO] [stderr]    Compiling getrandom v0.2.15
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling signal-hook v0.3.17
[INFO] [stderr]    Compiling signal-hook-mio v0.2.4
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling crossterm v0.25.0
[INFO] [stderr]    Compiling darling_core v0.20.10
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling darling_macro v0.20.10
[INFO] [stderr]    Compiling darling v0.20.10
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling instability v0.3.7
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling ratatui v0.29.0
[INFO] [stderr]    Compiling chessrl v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `thinking_line` is never read
[INFO] [stdout]   --> src/engine/rl.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct SimulationStats {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub thinking_line: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SimulationStats` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `discount_factor`, `exploration_rate`, `move_history`, and `prune_threshold` are never read
[INFO] [stdout]   --> src/engine/rl.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct RLEngine {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 76 |     discount_factor: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 77 |     exploration_rate: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 78 |     move_history: Vec<((usize, usize), (usize, usize))>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 79 |     simulation_depth: i32,
[INFO] [stdout] 80 |     prune_threshold: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `find_escape_move` is never used
[INFO] [stdout]    --> src/engine/rl.rs:611:8
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl RLEngine {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 611 |     fn find_escape_move(&self, board: &Board, color: Color, analysis: &BoardAnalysis) -> Option<((usize, usize), (usize, usize))> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `selected_square` and `current_turn` are never read
[INFO] [stdout]  --> src/game/board.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Board {
[INFO] [stdout]   |            ----- fields in this struct
[INFO] [stdout] 5 |     squares: [[Option<Piece>; 8]; 8],
[INFO] [stdout] 6 |     selected_square: Option<(usize, usize)>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |     current_turn: Color,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Board` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `display` is never used
[INFO] [stdout]   --> src/game/board.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Board {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn display(&self, _cursor_pos: (usize, usize), term_size: (u16, u16)) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Move` is never constructed
[INFO] [stdout]  --> src/game/movement.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Move {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/game/movement.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | impl Move {
[INFO] [stdout]   | --------- associated function in this implementation
[INFO] [stdout] 7 |     pub fn new(from: (usize, usize), to: (usize, usize)) -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid_move` is never used
[INFO] [stdout]  --> src/game/validation.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn is_valid_move(_board: &Board, _mv: &Move) -> bool {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `select_piece`, `scroll_history`, and `handle_key_event` are never used
[INFO] [stdout]    --> src/ui/app.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout]  59 | impl App {
[INFO] [stdout]     | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn select_piece(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 496 |     pub fn scroll_history(&mut self, up: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 508 |     pub fn handle_key_event(&mut self, key_event: crossterm::event::KeyEvent) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]  --> src/ui/terminal.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub enum Direction {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `UserAction` is never used
[INFO] [stdout]   --> src/ui/terminal.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum UserAction {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TerminalUI` is never constructed
[INFO] [stdout]   --> src/ui/terminal.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct TerminalUI {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_terminal_size`, `init`, `cleanup`, `move_cursor`, and `get_cursor_pos` are never used
[INFO] [stdout]   --> src/ui/terminal.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl TerminalUI {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 29 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn get_terminal_size(&self) -> (u16, u16) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn init() -> std::io::Result<()> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn cleanup() -> std::io::Result<()> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn move_cursor(&mut self, direction: Direction) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn get_cursor_pos(&self) -> (usize, usize) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MenuItem` is never used
[INFO] [stdout]   --> src/ui/welcome.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum MenuItem {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WelcomeScreen` is never constructed
[INFO] [stdout]   --> src/ui/welcome.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct WelcomeScreen {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `display`, `handle_input`, and `show_about` are never used
[INFO] [stdout]   --> src/ui/welcome.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl WelcomeScreen {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 20 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn display(&self) -> std::io::Result<()> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn handle_input(&mut self) -> Option<MenuItem> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |     pub fn show_about(&self) -> std::io::Result<()> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_coordinate` is never used
[INFO] [stdout]  --> src/utils.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn parse_coordinate(coord: &str) -> Option<(usize, usize)> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.38s
[INFO] running `Command { std: "docker" "inspect" "c9d452ebd87a002874f6fe0134662eddbac2d6610e232f176a4d76339bf2a445", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c9d452ebd87a002874f6fe0134662eddbac2d6610e232f176a4d76339bf2a445", kill_on_drop: false }`
[INFO] [stdout] c9d452ebd87a002874f6fe0134662eddbac2d6610e232f176a4d76339bf2a445
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0c13e1167e3598c6ef1c08fac32d398067d4f8c133a70fdb2e2ab9e96989ea80
[INFO] running `Command { std: "docker" "start" "-a" "0c13e1167e3598c6ef1c08fac32d398067d4f8c133a70fdb2e2ab9e96989ea80", kill_on_drop: false }`
[INFO] [stderr]    Compiling chessrl v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `thinking_line` is never read
[INFO] [stdout]   --> src/engine/rl.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct SimulationStats {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub thinking_line: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SimulationStats` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `discount_factor`, `exploration_rate`, `move_history`, and `prune_threshold` are never read
[INFO] [stdout]   --> src/engine/rl.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct RLEngine {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 76 |     discount_factor: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 77 |     exploration_rate: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 78 |     move_history: Vec<((usize, usize), (usize, usize))>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 79 |     simulation_depth: i32,
[INFO] [stdout] 80 |     prune_threshold: f32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `find_escape_move` is never used
[INFO] [stdout]    --> src/engine/rl.rs:611:8
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl RLEngine {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 611 |     fn find_escape_move(&self, board: &Board, color: Color, analysis: &BoardAnalysis) -> Option<((usize, usize), (usize, usize))> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `selected_square` and `current_turn` are never read
[INFO] [stdout]  --> src/game/board.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Board {
[INFO] [stdout]   |            ----- fields in this struct
[INFO] [stdout] 5 |     squares: [[Option<Piece>; 8]; 8],
[INFO] [stdout] 6 |     selected_square: Option<(usize, usize)>,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 7 |     current_turn: Color,
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Board` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `display` is never used
[INFO] [stdout]   --> src/game/board.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl Board {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub fn display(&self, _cursor_pos: (usize, usize), term_size: (u16, u16)) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Move` is never constructed
[INFO] [stdout]  --> src/game/movement.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Move {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/game/movement.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | impl Move {
[INFO] [stdout]   | --------- associated function in this implementation
[INFO] [stdout] 7 |     pub fn new(from: (usize, usize), to: (usize, usize)) -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid_move` is never used
[INFO] [stdout]  --> src/game/validation.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn is_valid_move(_board: &Board, _mv: &Move) -> bool {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `select_piece`, `scroll_history`, and `handle_key_event` are never used
[INFO] [stdout]    --> src/ui/app.rs:161:12
[INFO] [stdout]     |
[INFO] [stdout]  59 | impl App {
[INFO] [stdout]     | -------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 161 |     pub fn select_piece(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 496 |     pub fn scroll_history(&mut self, up: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 508 |     pub fn handle_key_event(&mut self, key_event: crossterm::event::KeyEvent) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Direction` is never used
[INFO] [stdout]  --> src/ui/terminal.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub enum Direction {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `UserAction` is never used
[INFO] [stdout]   --> src/ui/terminal.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum UserAction {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TerminalUI` is never constructed
[INFO] [stdout]   --> src/ui/terminal.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct TerminalUI {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_terminal_size`, `init`, `cleanup`, `move_cursor`, and `get_cursor_pos` are never used
[INFO] [stdout]   --> src/ui/terminal.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl TerminalUI {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 29 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn get_terminal_size(&self) -> (u16, u16) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn init() -> std::io::Result<()> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn cleanup() -> std::io::Result<()> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub fn move_cursor(&mut self, direction: Direction) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn get_cursor_pos(&self) -> (usize, usize) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MenuItem` is never used
[INFO] [stdout]   --> src/ui/welcome.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum MenuItem {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WelcomeScreen` is never constructed
[INFO] [stdout]   --> src/ui/welcome.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct WelcomeScreen {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `display`, `handle_input`, and `show_about` are never used
[INFO] [stdout]   --> src/ui/welcome.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl WelcomeScreen {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 20 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn display(&self) -> std::io::Result<()> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn handle_input(&mut self) -> Option<MenuItem> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 94 |     pub fn show_about(&self) -> std::io::Result<()> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_coordinate` is never used
[INFO] [stdout]  --> src/utils.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn parse_coordinate(coord: &str) -> Option<(usize, usize)> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.99s
[INFO] running `Command { std: "docker" "inspect" "0c13e1167e3598c6ef1c08fac32d398067d4f8c133a70fdb2e2ab9e96989ea80", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0c13e1167e3598c6ef1c08fac32d398067d4f8c133a70fdb2e2ab9e96989ea80", kill_on_drop: false }`
[INFO] [stdout] 0c13e1167e3598c6ef1c08fac32d398067d4f8c133a70fdb2e2ab9e96989ea80
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 789d7fa3f4a196d3b0e3151af79f81e61d324d45fd73057177a8a69f472d3294
[INFO] running `Command { std: "docker" "start" "-a" "789d7fa3f4a196d3b0e3151af79f81e61d324d45fd73057177a8a69f472d3294", kill_on_drop: false }`
[INFO] [stderr] warning: field `thinking_line` is never read
[INFO] [stderr]   --> src/engine/rl.rs:54:9
[INFO] [stderr]    |
[INFO] [stderr] 46 | pub struct SimulationStats {
[INFO] [stderr]    |            --------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 54 |     pub thinking_line: String,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SimulationStats` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `discount_factor`, `exploration_rate`, `move_history`, and `prune_threshold` are never read
[INFO] [stderr]   --> src/engine/rl.rs:76:5
[INFO] [stderr]    |
[INFO] [stderr] 72 | pub struct RLEngine {
[INFO] [stderr]    |            -------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 76 |     discount_factor: f32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 77 |     exploration_rate: f32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 78 |     move_history: Vec<((usize, usize), (usize, usize))>,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 79 |     simulation_depth: i32,
[INFO] [stderr] 80 |     prune_threshold: f32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `find_escape_move` is never used
[INFO] [stderr]    --> src/engine/rl.rs:611:8
[INFO] [stderr]     |
[INFO] [stderr]  93 | impl RLEngine {
[INFO] [stderr]     | ------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 611 |     fn find_escape_move(&self, board: &Board, color: Color, analysis: &BoardAnalysis) -> Option<((usize, usize), (usize, usize))> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `selected_square` and `current_turn` are never read
[INFO] [stderr]  --> src/game/board.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub struct Board {
[INFO] [stderr]   |            ----- fields in this struct
[INFO] [stderr] 5 |     squares: [[Option<Piece>; 8]; 8],
[INFO] [stderr] 6 |     selected_square: Option<(usize, usize)>,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 7 |     current_turn: Color,
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `Board` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `display` is never used
[INFO] [stderr]   --> src/game/board.rs:47:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | impl Board {
[INFO] [stderr]    | ---------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 47 |     pub fn display(&self, _cursor_pos: (usize, usize), term_size: (u16, u16)) {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Move` is never constructed
[INFO] [stderr]  --> src/game/movement.rs:1:12
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub struct Move {
[INFO] [stderr]   |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]  --> src/game/movement.rs:7:12
[INFO] [stderr]   |
[INFO] [stderr] 6 | impl Move {
[INFO] [stderr]   | --------- associated function in this implementation
[INFO] [stderr] 7 |     pub fn new(from: (usize, usize), to: (usize, usize)) -> Self {
[INFO] [stderr]   |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_valid_move` is never used
[INFO] [stderr]  --> src/game/validation.rs:4:8
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn is_valid_move(_board: &Board, _mv: &Move) -> bool {
[INFO] [stderr]   |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `select_piece`, `scroll_history`, and `handle_key_event` are never used
[INFO] [stderr]    --> src/ui/app.rs:161:12
[INFO] [stderr]     |
[INFO] [stderr]  59 | impl App {
[INFO] [stderr]     | -------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 161 |     pub fn select_piece(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 496 |     pub fn scroll_history(&mut self, up: bool) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 508 |     pub fn handle_key_event(&mut self, key_event: crossterm::event::KeyEvent) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Direction` is never used
[INFO] [stderr]  --> src/ui/terminal.rs:9:10
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub enum Direction {
[INFO] [stderr]   |          ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `UserAction` is never used
[INFO] [stderr]   --> src/ui/terminal.rs:17:10
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub enum UserAction {
[INFO] [stderr]    |          ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `TerminalUI` is never constructed
[INFO] [stderr]   --> src/ui/terminal.rs:23:12
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub struct TerminalUI {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `get_terminal_size`, `init`, `cleanup`, `move_cursor`, and `get_cursor_pos` are never used
[INFO] [stderr]   --> src/ui/terminal.rs:29:12
[INFO] [stderr]    |
[INFO] [stderr] 28 | impl TerminalUI {
[INFO] [stderr]    | --------------- associated items in this implementation
[INFO] [stderr] 29 |     pub fn new() -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 37 |     pub fn get_terminal_size(&self) -> (u16, u16) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 41 |     pub fn init() -> std::io::Result<()> {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 48 |     pub fn cleanup() -> std::io::Result<()> {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 55 |     pub fn move_cursor(&mut self, direction: Direction) {
[INFO] [stderr]    |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 65 |     pub fn get_cursor_pos(&self) -> (usize, usize) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `MenuItem` is never used
[INFO] [stderr]   --> src/ui/welcome.rs:10:10
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub enum MenuItem {
[INFO] [stderr]    |          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `WelcomeScreen` is never constructed
[INFO] [stderr]   --> src/ui/welcome.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub struct WelcomeScreen {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `display`, `handle_input`, and `show_about` are never used
[INFO] [stderr]   --> src/ui/welcome.rs:20:12
[INFO] [stderr]    |
[INFO] [stderr] 19 | impl WelcomeScreen {
[INFO] [stderr]    | ------------------ associated items in this implementation
[INFO] [stderr] 20 |     pub fn new() -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 26 |     pub fn display(&self) -> std::io::Result<()> {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 75 |     pub fn handle_input(&mut self) -> Option<MenuItem> {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 94 |     pub fn show_about(&self) -> std::io::Result<()> {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_coordinate` is never used
[INFO] [stderr]  --> src/utils.rs:7:8
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub fn parse_coordinate(coord: &str) -> Option<(usize, usize)> {
[INFO] [stderr]   |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `chessrl` (bin "chessrl" test) generated 17 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.11s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/chessrl-8f584eb8d815ba31)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "789d7fa3f4a196d3b0e3151af79f81e61d324d45fd73057177a8a69f472d3294", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "789d7fa3f4a196d3b0e3151af79f81e61d324d45fd73057177a8a69f472d3294", kill_on_drop: false }`
[INFO] [stdout] 789d7fa3f4a196d3b0e3151af79f81e61d324d45fd73057177a8a69f472d3294
