[INFO] cloning repository https://github.com/kkismd/block-down [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/kkismd/block-down" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkkismd%2Fblock-down", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkkismd%2Fblock-down'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 251a859a57d574e98b0f68a618a6f84c99c63fee [INFO] checking kkismd/block-down against try#c0a9760914bada211f4924ee16d41ae1a366d2ba for pr-148545 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkkismd%2Fblock-down" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/kkismd/block-down [INFO] finished tweaking git repo https://github.com/kkismd/block-down [INFO] tweaked toml for git repo https://github.com/kkismd/block-down written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/kkismd/block-down on toolchain c0a9760914bada211f4924ee16d41ae1a366d2ba [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c0a9760914bada211f4924ee16d41ae1a366d2ba" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/kkismd/block-down 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" "+c0a9760914bada211f4924ee16d41ae1a366d2ba" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [INFO] checking kkismd/block-down against try#c0a9760914bada211f4924ee16d41ae1a366d2ba for pr-148545 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkkismd%2Fblock-down" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/kkismd/block-down [INFO] finished tweaking git repo https://github.com/kkismd/block-down [INFO] tweaked toml for git repo https://github.com/kkismd/block-down written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/kkismd/block-down on toolchain c0a9760914bada211f4924ee16d41ae1a366d2ba [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c0a9760914bada211f4924ee16d41ae1a366d2ba" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/kkismd/block-down 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" "+c0a9760914bada211f4924ee16d41ae1a366d2ba" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded wasm-bindgen-test v0.3.54 [INFO] [stderr] Downloaded wasm-bindgen-test-macro v0.3.54 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+c0a9760914bada211f4924ee16d41ae1a366d2ba" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 08a25bc3b494027d27a2e1d776720554ba1339e77ade6b8db43fe26484b6fc71 [INFO] running `Command { std: "docker" "start" "-a" "08a25bc3b494027d27a2e1d776720554ba1339e77ade6b8db43fe26484b6fc71", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "08a25bc3b494027d27a2e1d776720554ba1339e77ade6b8db43fe26484b6fc71", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "08a25bc3b494027d27a2e1d776720554ba1339e77ade6b8db43fe26484b6fc71", kill_on_drop: false }` [INFO] [stdout] 08a25bc3b494027d27a2e1d776720554ba1339e77ade6b8db43fe26484b6fc71 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+c0a9760914bada211f4924ee16d41ae1a366d2ba" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] dc17dc86d505426a92cca1e6f96bc8fa60e318b746258a0d8004800b1893f8c3 [INFO] running `Command { std: "docker" "start" "-a" "dc17dc86d505426a92cca1e6f96bc8fa60e318b746258a0d8004800b1893f8c3", kill_on_drop: false }` [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Checking bitflags v2.9.4 [INFO] [stderr] Checking getrandom v0.2.16 [INFO] [stderr] Checking parking_lot_core v0.9.11 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking parking_lot v0.12.4 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking signal-hook-mio v0.2.4 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking crossterm v0.27.0 [INFO] [stderr] Checking thud-and-tile v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `HashSet` and `VecDeque` [INFO] [stdout] --> src/lib.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::{HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `console_log` [INFO] [stdout] --> src/lib.rs:33:14 [INFO] [stdout] | [INFO] [stdout] 33 | macro_rules! console_log { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Animation`, `calculate_line_clear_score`, and `process_line_clear` [INFO] [stdout] --> src/lib.rs:122:17 [INFO] [stdout] | [INFO] [stdout] 122 | use animation::{calculate_line_clear_score, process_line_clear, Animation}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cell::Cell` [INFO] [stdout] --> src/lib.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 123 | use cell::Cell; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `game_input::GameInput` [INFO] [stdout] --> src/lib.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 126 | use game_input::GameInput; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `scoring::CustomScoreSystem` [INFO] [stdout] --> src/lib.rs:128:5 [INFO] [stdout] | [INFO] [stdout] 128 | use scoring::CustomScoreSystem; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `get_srs_wall_kick_offsets_by_shape` [INFO] [stdout] --> src/lib.rs:129:17 [INFO] [stdout] | [INFO] [stdout] 129 | use tetromino::{get_srs_wall_kick_offsets_by_shape, Tetromino}; // CLI版のSRS関数とTetrominoをimport [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `HashSet` and `VecDeque` [INFO] [stdout] --> src/lib.rs:6:24 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::{HashSet, VecDeque}; [INFO] [stdout] | ^^^^^^^ ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `console_log` [INFO] [stdout] --> src/lib.rs:33:14 [INFO] [stdout] | [INFO] [stdout] 33 | macro_rules! console_log { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Animation`, `calculate_line_clear_score`, and `process_line_clear` [INFO] [stdout] --> src/lib.rs:122:17 [INFO] [stdout] | [INFO] [stdout] 122 | use animation::{calculate_line_clear_score, process_line_clear, Animation}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `cell::Cell` [INFO] [stdout] --> src/lib.rs:123:5 [INFO] [stdout] | [INFO] [stdout] 123 | use cell::Cell; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `game_input::GameInput` [INFO] [stdout] --> src/lib.rs:126:5 [INFO] [stdout] | [INFO] [stdout] 126 | use game_input::GameInput; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `scoring::CustomScoreSystem` [INFO] [stdout] --> src/lib.rs:128:5 [INFO] [stdout] | [INFO] [stdout] 128 | use scoring::CustomScoreSystem; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `get_srs_wall_kick_offsets_by_shape` [INFO] [stdout] --> src/lib.rs:129:17 [INFO] [stdout] | [INFO] [stdout] 129 | use tetromino::{get_srs_wall_kick_offsets_by_shape, Tetromino}; // CLI版のSRS関数とTetrominoをimport [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `count` [INFO] [stdout] --> src/animation.rs:57:17 [INFO] [stdout] | [INFO] [stdout] 57 | count, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `count: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Animation` is never used [INFO] [stdout] --> src/animation.rs:14:10 [INFO] [stdout] | [INFO] [stdout] 14 | pub enum Animation { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AnimationResult` is never constructed [INFO] [stdout] --> src/animation.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct AnimationResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/animation.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl AnimationResult { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 35 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `update_animations` is never used [INFO] [stdout] --> src/animation.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn update_animations( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `process_push_down_step` is never used [INFO] [stdout] --> src/animation.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn process_push_down_step( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PushDownStepResult` is never used [INFO] [stdout] --> src/animation.rs:138:10 [INFO] [stdout] | [INFO] [stdout] 138 | pub enum PushDownStepResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_line_clear_score` is never used [INFO] [stdout] --> src/animation.rs:144:8 [INFO] [stdout] | [INFO] [stdout] 144 | pub fn calculate_line_clear_score( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `process_line_clear` is never used [INFO] [stdout] --> src/animation.rs:171:8 [INFO] [stdout] | [INFO] [stdout] 171 | pub fn process_line_clear( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Point` is never used [INFO] [stdout] --> src/board_logic.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | pub type Point = (usize, usize); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_and_connect_adjacent_blocks` is never used [INFO] [stdout] --> src/board_logic.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn find_and_connect_adjacent_blocks(board: &mut Board, lines_to_clear: &[usize]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_connected_blocks` is never used [INFO] [stdout] --> src/board_logic.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn count_connected_blocks(board: &Board, cleared_line_y: usize) -> Vec<(Point, u32)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `remove_isolated_blocks` is never used [INFO] [stdout] --> src/board_logic.rs:138:8 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn remove_isolated_blocks(board: &mut Board, cleared_line_y: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_chain_bonus` is never used [INFO] [stdout] --> src/board_logic.rs:192:8 [INFO] [stdout] | [INFO] [stdout] 192 | pub fn calculate_chain_bonus(board: &Board) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Cell` is never used [INFO] [stdout] --> src/cell.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum Cell { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Board` is never used [INFO] [stdout] --> src/cell.rs:22:10 [INFO] [stdout] | [INFO] [stdout] 22 | pub type Board = Vec>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BOARD_HEIGHT` is never used [INFO] [stdout] --> src/config.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pub const BOARD_HEIGHT: usize = 20; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FALL_SPEED_START` is never used [INFO] [stdout] --> src/config.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub const FALL_SPEED_START: std::time::Duration = std::time::Duration::from_millis(800); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `COLOR_PALETTE` is never used [INFO] [stdout] --> src/config.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub const COLOR_PALETTE: [GameColor; 3] = [GameColor::Cyan, GameColor::Magenta, GameColor::Yellow]; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BLINK_ANIMATION_STEP` is never used [INFO] [stdout] --> src/config.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const BLINK_ANIMATION_STEP: std::time::Duration = std::time::Duration::from_millis(120); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `count` [INFO] [stdout] --> src/animation.rs:57:17 [INFO] [stdout] | [INFO] [stdout] 57 | count, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `count: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BLINK_COUNT_MAX` is never used [INFO] [stdout] --> src/config.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const BLINK_COUNT_MAX: usize = 6; // 3 blinks: on-off-on-off-on-off [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PUSH_DOWN_STEP_DURATION` is never used [INFO] [stdout] --> src/config.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub const PUSH_DOWN_STEP_DURATION: std::time::Duration = std::time::Duration::from_millis(50); // 100ms → 50ms に高速化 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `GameInput` is never used [INFO] [stdout] --> src/game_input.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum GameInput { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `InputProvider` is never used [INFO] [stdout] --> src/game_input.rs:28:11 [INFO] [stdout] | [INFO] [stdout] 28 | pub trait InputProvider { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CrosstermInputProvider` is never constructed [INFO] [stdout] --> src/game_input.rs:41:12 [INFO] [stdout] | [INFO] [stdout] 41 | pub struct CrosstermInputProvider; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/game_input.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 44 | impl CrosstermInputProvider { [INFO] [stdout] | --------------------------- associated function in this implementation [INFO] [stdout] 45 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_movement`, `is_rotation`, `is_control`, and `description` are never used [INFO] [stdout] --> src/game_input.rs:149:12 [INFO] [stdout] | [INFO] [stdout] 147 | impl GameInput { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 148 | /// 移動系の入力かどうか [INFO] [stdout] 149 | pub fn is_movement(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn is_rotation(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | pub fn is_control(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | pub fn description(&self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `choose`, `gen_bool`, and `gen_f64` are never used [INFO] [stdout] --> src/random.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 35 | pub trait RandomProvider: Send + Sync { [INFO] [stdout] | -------------- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 40 | fn choose<'a, T>(&mut self, slice: &'a [T]) -> Option<&'a T>; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | fn gen_bool(&mut self) -> bool; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | fn gen_f64(&mut self) -> f64; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with_seed` is never used [INFO] [stdout] --> src/random.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 59 | impl NativeRandomProvider { [INFO] [stdout] | ------------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn with_seed(seed: u64) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Deterministic` is never constructed [INFO] [stdout] --> src/random.rs:227:5 [INFO] [stdout] | [INFO] [stdout] 222 | pub enum RandomProviderImpl { [INFO] [stdout] | ------------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 227 | Deterministic(DeterministicRandomProvider), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/random.rs:289:12 [INFO] [stdout] | [INFO] [stdout] 288 | impl DeterministicRandomProvider { [INFO] [stdout] | -------------------------------- associated function in this implementation [INFO] [stdout] 289 | pub fn new(values: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Scheduler` is never used [INFO] [stdout] --> src/scheduler.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub trait Scheduler { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NativeScheduler` is never constructed [INFO] [stdout] --> src/scheduler.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct NativeScheduler; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/scheduler.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 24 | impl NativeScheduler { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 25 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DeterministicScheduler` is never constructed [INFO] [stdout] --> src/scheduler.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct DeterministicScheduler { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_sleep_count`, and `reset_sleep_count` are never used [INFO] [stdout] --> src/scheduler.rs:85:12 [INFO] [stdout] | [INFO] [stdout] 84 | impl DeterministicScheduler { [INFO] [stdout] | --------------------------- associated items in this implementation [INFO] [stdout] 85 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn get_sleep_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn reset_sleep_count(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SchedulerImpl` is never used [INFO] [stdout] --> src/scheduler.rs:108:10 [INFO] [stdout] | [INFO] [stdout] 108 | pub enum SchedulerImpl { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_default_scheduler` is never used [INFO] [stdout] --> src/scheduler.rs:127:8 [INFO] [stdout] | [INFO] [stdout] 127 | pub fn create_default_scheduler() -> SchedulerImpl { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TotalScore` is never constructed [INFO] [stdout] --> src/scoring.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct TotalScore { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add`, and `total` are never used [INFO] [stdout] --> src/scoring.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl TotalScore { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 11 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | pub fn add(&mut self, points: u32) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn total(&self) -> u32 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ColorMaxChains` is never constructed [INFO] [stdout] --> src/scoring.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct ColorMaxChains { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get`, `update_max`, and `max` are never used [INFO] [stdout] --> src/scoring.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl ColorMaxChains { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 35 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn get(&self, color: GameColor) -> u32 { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 54 | pub fn update_max(&mut self, color: GameColor, chain_count: u32) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn max(&self) -> u32 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CustomScoreSystem` is never constructed [INFO] [stdout] --> src/scoring.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 83 | pub struct CustomScoreSystem { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_score`, `add_chain_bonus`, `consume_chain_bonus`, and `set_chain_bonus_from_total` are never used [INFO] [stdout] --> src/scoring.rs:90:12 [INFO] [stdout] | [INFO] [stdout] 89 | impl CustomScoreSystem { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 90 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn add_score(&mut self, points: u32) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn add_chain_bonus(&mut self, lines: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn consume_chain_bonus(&mut self, lines: u32) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn set_chain_bonus_from_total(&mut self, total_bonus: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/tetromino.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum TetrominoShape { [INFO] [stdout] | -------------- variants in this enum [INFO] [stdout] 10 | I, [INFO] [stdout] | ^ [INFO] [stdout] 11 | O, [INFO] [stdout] | ^ [INFO] [stdout] 12 | T, [INFO] [stdout] | ^ [INFO] [stdout] 13 | L, [INFO] [stdout] | ^ [INFO] [stdout] 14 | J, [INFO] [stdout] | ^ [INFO] [stdout] 15 | S, [INFO] [stdout] | ^ [INFO] [stdout] 16 | Z, [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `TetrominoShape` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_srs_wall_kick_offsets_by_shape` is never used [INFO] [stdout] --> src/tetromino.rs:82:8 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn get_srs_wall_kick_offsets_by_shape( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `all_shapes` is never used [INFO] [stdout] --> src/tetromino.rs:101:12 [INFO] [stdout] | [INFO] [stdout] 100 | impl TetrominoShape { [INFO] [stdout] | ------------------- associated function in this implementation [INFO] [stdout] 101 | pub fn all_shapes() -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TetrominoBag` is never constructed [INFO] [stdout] --> src/tetromino.rs:114:12 [INFO] [stdout] | [INFO] [stdout] 114 | pub struct TetrominoBag { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `next` are never used [INFO] [stdout] --> src/tetromino.rs:120:12 [INFO] [stdout] | [INFO] [stdout] 119 | impl TetrominoBag { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 120 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | pub fn next(&mut self) -> TetrominoShape { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_random`, `from_shape`, `moved`, and `rotated_counter_clockwise` are never used [INFO] [stdout] --> src/tetromino.rs:153:12 [INFO] [stdout] | [INFO] [stdout] 152 | impl Tetromino { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 153 | pub fn new_random() -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 191 | pub fn from_shape(shape: TetrominoShape, colors: [GameColor; 4]) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 294 | pub fn moved(&self, dx: i8, dy: i8) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 346 | pub fn rotated_counter_clockwise(&self) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Animation` is never used [INFO] [stdout] --> src/animation.rs:14:10 [INFO] [stdout] | [INFO] [stdout] 14 | pub enum Animation { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AnimationResult` is never constructed [INFO] [stdout] --> src/animation.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct AnimationResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/animation.rs:35:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl AnimationResult { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 35 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `update_animations` is never used [INFO] [stdout] --> src/animation.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | pub fn update_animations( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `process_push_down_step` is never used [INFO] [stdout] --> src/animation.rs:103:8 [INFO] [stdout] | [INFO] [stdout] 103 | pub fn process_push_down_step( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `PushDownStepResult` is never used [INFO] [stdout] --> src/animation.rs:138:10 [INFO] [stdout] | [INFO] [stdout] 138 | pub enum PushDownStepResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_line_clear_score` is never used [INFO] [stdout] --> src/animation.rs:144:8 [INFO] [stdout] | [INFO] [stdout] 144 | pub fn calculate_line_clear_score( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `process_line_clear` is never used [INFO] [stdout] --> src/animation.rs:171:8 [INFO] [stdout] | [INFO] [stdout] 171 | pub fn process_line_clear( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Point` is never used [INFO] [stdout] --> src/board_logic.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | pub type Point = (usize, usize); [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_and_connect_adjacent_blocks` is never used [INFO] [stdout] --> src/board_logic.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub fn find_and_connect_adjacent_blocks(board: &mut Board, lines_to_clear: &[usize]) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_connected_blocks` is never used [INFO] [stdout] --> src/board_logic.rs:76:8 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn count_connected_blocks(board: &Board, cleared_line_y: usize) -> Vec<(Point, u32)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `remove_isolated_blocks` is never used [INFO] [stdout] --> src/board_logic.rs:138:8 [INFO] [stdout] | [INFO] [stdout] 138 | pub fn remove_isolated_blocks(board: &mut Board, cleared_line_y: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `calculate_chain_bonus` is never used [INFO] [stdout] --> src/board_logic.rs:192:8 [INFO] [stdout] | [INFO] [stdout] 192 | pub fn calculate_chain_bonus(board: &Board) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Empty`, `Occupied`, and `Solid` are never constructed [INFO] [stdout] --> src/cell.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum Cell { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] 5 | Empty, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 6 | Occupied(GameColor), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 7 | Solid, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Cell` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Board` is never used [INFO] [stdout] --> src/cell.rs:22:10 [INFO] [stdout] | [INFO] [stdout] 22 | pub type Board = Vec>; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BOARD_HEIGHT` is never used [INFO] [stdout] --> src/config.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pub const BOARD_HEIGHT: usize = 20; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FALL_SPEED_START` is never used [INFO] [stdout] --> src/config.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub const FALL_SPEED_START: std::time::Duration = std::time::Duration::from_millis(800); [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BLINK_ANIMATION_STEP` is never used [INFO] [stdout] --> src/config.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const BLINK_ANIMATION_STEP: std::time::Duration = std::time::Duration::from_millis(120); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BLINK_COUNT_MAX` is never used [INFO] [stdout] --> src/config.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const BLINK_COUNT_MAX: usize = 6; // 3 blinks: on-off-on-off-on-off [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PUSH_DOWN_STEP_DURATION` is never used [INFO] [stdout] --> src/config.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub const PUSH_DOWN_STEP_DURATION: std::time::Duration = std::time::Duration::from_millis(50); // 100ms → 50ms に高速化 [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `MoveRight`, `HardDrop`, and `Pause` are never constructed [INFO] [stdout] --> src/game_input.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum GameInput { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 10 | MoveRight, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 11 | SoftDrop, // スペースキー: ゆっくり落下 [INFO] [stdout] 12 | HardDrop, // Shift+Down: 即座に着地 [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 21 | Pause, // 'p': 一時停止(将来用) [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GameInput` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `InputProvider` is never used [INFO] [stdout] --> src/game_input.rs:28:11 [INFO] [stdout] | [INFO] [stdout] 28 | pub trait InputProvider { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_srs_wall_kick_offsets_by_shape` is never used [INFO] [stdout] --> src/tetromino.rs:82:8 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn get_srs_wall_kick_offsets_by_shape( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `moved` and `rotated_counter_clockwise` are never used [INFO] [stdout] --> src/tetromino.rs:294:12 [INFO] [stdout] | [INFO] [stdout] 152 | impl Tetromino { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 294 | pub fn moved(&self, dx: i8, dy: i8) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 346 | pub fn rotated_counter_clockwise(&self) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `count` [INFO] [stdout] --> src/animation.rs:57:17 [INFO] [stdout] | [INFO] [stdout] 57 | count, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `count: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `count` [INFO] [stdout] --> src/animation.rs:57:17 [INFO] [stdout] | [INFO] [stdout] 57 | count, [INFO] [stdout] | ^^^^^ help: try ignoring the field: `count: _` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `process_line_clear` is never used [INFO] [stdout] --> src/animation.rs:171:8 [INFO] [stdout] | [INFO] [stdout] 171 | pub fn process_line_clear( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_movement`, `is_rotation`, `is_control`, and `description` are never used [INFO] [stdout] --> src/game_input.rs:149:12 [INFO] [stdout] | [INFO] [stdout] 147 | impl GameInput { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 148 | /// 移動系の入力かどうか [INFO] [stdout] 149 | pub fn is_movement(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn is_rotation(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | pub fn is_control(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 173 | pub fn description(&self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `gen_bool` and `gen_f64` are never used [INFO] [stdout] --> src/random.rs:46:8 [INFO] [stdout] | [INFO] [stdout] 35 | pub trait RandomProvider: Send + Sync { [INFO] [stdout] | -------------- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 46 | fn gen_bool(&mut self) -> bool; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | fn gen_f64(&mut self) -> f64; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `with_seed` is never used [INFO] [stdout] --> src/random.rs:75:12 [INFO] [stdout] | [INFO] [stdout] 59 | impl NativeRandomProvider { [INFO] [stdout] | ------------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 75 | pub fn with_seed(seed: u64) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Deterministic` is never constructed [INFO] [stdout] --> src/random.rs:227:5 [INFO] [stdout] | [INFO] [stdout] 222 | pub enum RandomProviderImpl { [INFO] [stdout] | ------------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 227 | Deterministic(DeterministicRandomProvider), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/random.rs:289:12 [INFO] [stdout] | [INFO] [stdout] 288 | impl DeterministicRandomProvider { [INFO] [stdout] | -------------------------------- associated function in this implementation [INFO] [stdout] 289 | pub fn new(values: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_sleep_count`, and `reset_sleep_count` are never used [INFO] [stdout] --> src/scheduler.rs:85:12 [INFO] [stdout] | [INFO] [stdout] 84 | impl DeterministicScheduler { [INFO] [stdout] | --------------------------- associated items in this implementation [INFO] [stdout] 85 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn get_sleep_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn reset_sleep_count(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Deterministic` is never constructed [INFO] [stdout] --> src/scheduler.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 108 | pub enum SchedulerImpl { [INFO] [stdout] | ------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 112 | Deterministic(DeterministicScheduler), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `max` is never used [INFO] [stdout] --> src/scoring.rs:76:12 [INFO] [stdout] | [INFO] [stdout] 34 | impl ColorMaxChains { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn max(&self) -> u32 { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `add_chain_bonus` is never used [INFO] [stdout] --> src/scoring.rs:103:12 [INFO] [stdout] | [INFO] [stdout] 89 | impl CustomScoreSystem { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 103 | pub fn add_chain_bonus(&mut self, lines: u32) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `get_shape_coordinates` is never used [INFO] [stdout] --> src/tetromino.rs:433:12 [INFO] [stdout] | [INFO] [stdout] 152 | impl Tetromino { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 433 | pub fn get_shape_coordinates(shape: usize, rotation: usize) -> Option<[(i8, i8); 4]> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `process_line_clear` is never used [INFO] [stdout] --> src/animation.rs:171:8 [INFO] [stdout] | [INFO] [stdout] 171 | pub fn process_line_clear( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `get_shape_coordinates` is never used [INFO] [stdout] --> src/tetromino.rs:433:12 [INFO] [stdout] | [INFO] [stdout] 152 | impl Tetromino { [INFO] [stdout] | -------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 433 | pub fn get_shape_coordinates(shape: usize, rotation: usize) -> Option<[(i8, i8); 4]> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.89s [INFO] running `Command { std: "docker" "inspect" "dc17dc86d505426a92cca1e6f96bc8fa60e318b746258a0d8004800b1893f8c3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dc17dc86d505426a92cca1e6f96bc8fa60e318b746258a0d8004800b1893f8c3", kill_on_drop: false }` [INFO] [stdout] dc17dc86d505426a92cca1e6f96bc8fa60e318b746258a0d8004800b1893f8c3