[INFO] cloning repository https://github.com/hiro1234omochi/tetris [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hiro1234omochi/tetris" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhiro1234omochi%2Ftetris", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhiro1234omochi%2Ftetris'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d545742890876553eaa1ae9271104ac4eb0a3fae [INFO] checking hiro1234omochi/tetris against master#cd805f09ffbfa3896c8f50a619de9b67e1d9f3c3 for pr-135841 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhiro1234omochi%2Ftetris" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/hiro1234omochi/tetris on toolchain cd805f09ffbfa3896c8f50a619de9b67e1d9f3c3 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cd805f09ffbfa3896c8f50a619de9b67e1d9f3c3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/hiro1234omochi/tetris [INFO] finished tweaking git repo https://github.com/hiro1234omochi/tetris [INFO] tweaked toml for git repo https://github.com/hiro1234omochi/tetris written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/hiro1234omochi/tetris 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" "+cd805f09ffbfa3896c8f50a619de9b67e1d9f3c3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded manganis-common v0.3.0-alpha.2 [INFO] [stderr] Downloaded manganis v0.3.0-alpha.2 [INFO] [stderr] Downloaded built v0.7.3 [INFO] [stderr] Downloaded dioxus v0.6.0-alpha.2 [INFO] [stderr] Downloaded manganis-macro v0.3.0-alpha.2 [INFO] [stderr] Downloaded dioxus-signals v0.6.0-alpha.2 [INFO] [stderr] Downloaded dioxus_server_macro v0.6.0-alpha.0 [INFO] [stderr] Downloaded lazy-js-bundle v0.6.0-alpha.0 [INFO] [stderr] Downloaded warnings v0.2.0 [INFO] [stderr] Downloaded dioxus-config-macro v0.6.0-alpha.2 [INFO] [stderr] Downloaded dioxus-lib v0.6.0-alpha.2 [INFO] [stderr] Downloaded dioxus-static-site-generation v0.6.0-alpha.2 [INFO] [stderr] Downloaded dioxus-fullstack v0.6.0-alpha.2 [INFO] [stderr] Downloaded dioxus-router-macro v0.6.0-alpha.2 [INFO] [stderr] Downloaded dioxus-core-macro v0.6.0-alpha.2 [INFO] [stderr] Downloaded dioxus-hooks v0.6.0-alpha.2 [INFO] [stderr] Downloaded dioxus-router v0.6.0-alpha.2 [INFO] [stderr] Downloaded dioxus-rsx v0.6.0-alpha.2 [INFO] [stderr] Downloaded dioxus-core v0.6.0-alpha.2 [INFO] [stderr] Downloaded dioxus-html v0.6.0-alpha.2 [INFO] [stderr] Downloaded sledgehammer_bindgen_macro v0.5.1 [INFO] [stderr] Downloaded dioxus-web v0.6.0-alpha.2 [INFO] [stderr] Downloaded dioxus-hot-reload v0.6.0-alpha.2 [INFO] [stderr] Downloaded dioxus-interpreter-js v0.6.0-alpha.2 [INFO] [stderr] Downloaded dioxus-cli-config v0.6.0-alpha.2 [INFO] [stderr] Downloaded dioxus-html-internal-macro v0.6.0-alpha.0 [INFO] [stderr] Downloaded generational-box v0.6.0-alpha.2 [INFO] [stderr] Downloaded dioxus-desktop v0.6.0-alpha.2 [INFO] [stderr] Downloaded tao v0.26.2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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:c80049f3b88b82089a44e0f06d0d6029d44b96b7257e55a1cd63dbc9f4c33334" "/opt/rustwide/cargo-home/bin/cargo" "+cd805f09ffbfa3896c8f50a619de9b67e1d9f3c3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d2722a4f5da91d3ec4ab6c13796227c94f418d2894094f4f55beaa7b3adb7d0f [INFO] running `Command { std: "docker" "start" "-a" "d2722a4f5da91d3ec4ab6c13796227c94f418d2894094f4f55beaa7b3adb7d0f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d2722a4f5da91d3ec4ab6c13796227c94f418d2894094f4f55beaa7b3adb7d0f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d2722a4f5da91d3ec4ab6c13796227c94f418d2894094f4f55beaa7b3adb7d0f", kill_on_drop: false }` [INFO] [stdout] d2722a4f5da91d3ec4ab6c13796227c94f418d2894094f4f55beaa7b3adb7d0f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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:c80049f3b88b82089a44e0f06d0d6029d44b96b7257e55a1cd63dbc9f4c33334" "/opt/rustwide/cargo-home/bin/cargo" "+cd805f09ffbfa3896c8f50a619de9b67e1d9f3c3" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] dbe563e1c6d33cb8130d0741d30b0b323e3558a075a49ff9f1fad9ab98ae9e1e [INFO] running `Command { std: "docker" "start" "-a" "dbe563e1c6d33cb8130d0741d30b0b323e3558a075a49ff9f1fad9ab98ae9e1e", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling libc v0.2.158 [INFO] [stderr] Compiling autocfg v1.3.0 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling serde v1.0.210 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling once_cell v1.19.0 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling pkg-config v0.3.30 [INFO] [stderr] Checking pin-project-lite v0.2.14 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Compiling tinyvec_macros v0.1.1 [INFO] [stderr] Compiling zerocopy v0.7.35 [INFO] [stderr] Compiling allocator-api2 v0.2.18 [INFO] [stderr] Compiling tinyvec v1.8.0 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling unicode-bidi v0.3.15 [INFO] [stderr] Compiling log v0.4.22 [INFO] [stderr] Compiling percent-encoding v2.3.1 [INFO] [stderr] Checking futures-core v0.3.30 [INFO] [stderr] Compiling form_urlencoded v1.2.1 [INFO] [stderr] Compiling smallvec v1.13.2 [INFO] [stderr] Compiling bitflags v2.6.0 [INFO] [stderr] Compiling equivalent v1.0.1 [INFO] [stderr] Compiling tracing-core v0.1.32 [INFO] [stderr] Compiling anyhow v1.0.88 [INFO] [stderr] Compiling winnow v0.5.40 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling uuid v1.10.0 [INFO] [stderr] Compiling unicode-xid v0.2.5 [INFO] [stderr] Compiling crossbeam-utils v0.8.20 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling slotmap v1.0.7 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling cfb v0.7.3 [INFO] [stderr] Compiling base64 v0.21.7 [INFO] [stderr] Compiling serde_json v1.0.128 [INFO] [stderr] Compiling rustversion v1.0.17 [INFO] [stderr] Compiling home v0.5.9 [INFO] [stderr] Compiling jobserver v0.1.32 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling overload v0.1.1 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Compiling cc v1.1.18 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling syn v2.0.76 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling nu-ansi-term v0.46.0 [INFO] [stderr] Compiling infer v0.11.0 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Checking concurrent-queue v2.5.0 [INFO] [stderr] Compiling thread_local v1.1.8 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Checking parking v2.2.1 [INFO] [stderr] Compiling unicode-normalization v0.1.23 [INFO] [stderr] Compiling itoa v1.0.11 [INFO] [stderr] Compiling ryu v1.0.18 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Compiling const_format_proc_macros v0.2.33 [INFO] [stderr] Compiling proc-macro2-diagnostics v0.10.1 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Checking futures-task v0.3.30 [INFO] [stderr] Compiling tracing-subscriber v0.3.18 [INFO] [stderr] Compiling ident_case v1.0.1 [INFO] [stderr] Checking generational-box v0.6.0-alpha.2 [INFO] [stderr] Checking event-listener v5.3.1 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking futures-channel v0.3.30 [INFO] [stderr] Checking longest-increasing-subsequence v0.1.0 [INFO] [stderr] Checking fastrand v2.1.1 [INFO] [stderr] Compiling indexmap v2.5.0 [INFO] [stderr] Checking futures-io v0.3.30 [INFO] [stderr] Checking rustc-hash v1.1.0 [INFO] [stderr] Compiling idna v0.5.0 [INFO] [stderr] Checking event-listener-strategy v0.5.2 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling rustix v0.38.36 [INFO] [stderr] Compiling unicode-segmentation v1.11.0 [INFO] [stderr] Compiling prettyplease v0.2.22 [INFO] [stderr] Checking futures-lite v2.3.0 [INFO] [stderr] Compiling internment v0.7.5 [INFO] [stderr] Compiling convert_case v0.6.0 [INFO] [stderr] Checking const_format v0.2.33 [INFO] [stderr] Compiling lazy-js-bundle v0.6.0-alpha.0 [INFO] [stderr] Compiling libz-sys v1.1.20 [INFO] [stderr] Compiling libgit2-sys v0.16.2+1.7.2 [INFO] [stderr] Checking linux-raw-sys v0.4.14 [INFO] [stderr] Compiling dioxus-html v0.6.0-alpha.2 [INFO] [stderr] Checking async-task v4.7.1 [INFO] [stderr] Checking atomic-waker v1.1.2 [INFO] [stderr] Checking async-channel v2.3.1 [INFO] [stderr] Checking async-lock v3.4.0 [INFO] [stderr] Checking piper v0.2.4 [INFO] [stderr] Checking keyboard-types v0.7.0 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking value-bag v1.9.0 [INFO] [stderr] Checking event-listener v2.5.3 [INFO] [stderr] Compiling dioxus v0.6.0-alpha.2 [INFO] [stderr] Compiling dioxus-config-macro v0.6.0-alpha.2 [INFO] [stderr] Checking async-executor v1.13.1 [INFO] [stderr] Checking blocking v1.6.1 [INFO] [stderr] Checking async-channel v1.9.0 [INFO] [stderr] Checking web-time v1.1.0 [INFO] [stderr] Checking euclid v0.22.11 [INFO] [stderr] Checking kv-log-macro v1.0.7 [INFO] [stderr] Compiling darling_core v0.20.10 [INFO] [stderr] Compiling serde_derive v1.0.210 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling pin-project-internal v1.1.5 [INFO] [stderr] Compiling warnings-macro v0.2.0 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling dioxus-html-internal-macro v0.6.0-alpha.0 [INFO] [stderr] Compiling tracing v0.1.40 [INFO] [stderr] Checking dioxus-logger v0.5.1 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking rand_core v0.9.0-alpha.2 [INFO] [stderr] Checking pin-project v1.1.5 [INFO] [stderr] Compiling warnings v0.2.0 [INFO] [stderr] Compiling darling_macro v0.20.10 [INFO] [stderr] Checking rand_chacha v0.9.0-alpha.2 [INFO] [stderr] Compiling darling v0.20.10 [INFO] [stderr] Checking rand v0.9.0-alpha.2 [INFO] [stderr] Checking polling v3.7.3 [INFO] [stderr] Compiling enumset_derive v0.10.0 [INFO] [stderr] Checking async-io v2.3.4 [INFO] [stderr] Checking async-global-executor v2.4.1 [INFO] [stderr] Checking async-std v1.13.0 [INFO] [stderr] Checking enumset v1.1.5 [INFO] [stderr] Compiling url v2.5.2 [INFO] [stderr] Compiling serde_spanned v0.6.7 [INFO] [stderr] Compiling toml_datetime v0.6.8 [INFO] [stderr] Compiling toml_edit v0.19.15 [INFO] [stderr] Compiling git2 v0.18.3 [INFO] [stderr] Compiling dioxus-core v0.6.0-alpha.2 [INFO] [stderr] Compiling toml v0.7.8 [INFO] [stderr] Compiling dioxus-rsx v0.6.0-alpha.2 [INFO] [stderr] Compiling built v0.7.3 [INFO] [stderr] Compiling dioxus-core-macro v0.6.0-alpha.2 [INFO] [stderr] Compiling manganis-common v0.3.0-alpha.2 [INFO] [stderr] Compiling manganis-macro v0.3.0-alpha.2 [INFO] [stderr] Checking manganis v0.3.0-alpha.2 [INFO] [stderr] Checking dioxus-signals v0.6.0-alpha.2 [INFO] [stderr] Checking dioxus-hooks v0.6.0-alpha.2 [INFO] [stderr] Checking dioxus-hot-reload v0.6.0-alpha.2 [INFO] [stderr] Checking tetris v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `MoveMessage` and `RandomGenerator` [INFO] [stdout] --> src/main.rs:2:41 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::tetris::{BlockType, KeyType, MoveMessage, RandomGenerator}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> src/main.rs:4:30 [INFO] [stdout] | [INFO] [stdout] 4 | use dioxus_logger::tracing::{debug, info, Level}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Deserialize` [INFO] [stdout] --> src/main.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Add` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::ops::Add; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::Scope` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::thread::Scope; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `Instant` [INFO] [stdout] --> src/main.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tetris::TetrisManager` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use tetris::TetrisManager; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::human_can` [INFO] [stdout] --> src/tetris.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::human_can; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `dioxus::events::keyboard_types::KeyState` [INFO] [stdout] --> src/tetris.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use dioxus::events::keyboard_types::KeyState; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/tetris.rs:7:33 [INFO] [stdout] | [INFO] [stdout] 7 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AtomicBool` [INFO] [stdout] --> src/tetris.rs:9:25 [INFO] [stdout] | [INFO] [stdout] 9 | use std::sync::atomic::{AtomicBool, AtomicI64, AtomicUsize, Ordering}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/tetris.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression [INFO] [stdout] --> src/tetris.rs:419:15 [INFO] [stdout] | [INFO] [stdout] 419 | match (self) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 419 - match (self) { [INFO] [stdout] 419 + match self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/tetris.rs:690:25 [INFO] [stdout] | [INFO] [stdout] 690 | (key_state != KeyStatePlus::Up); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 690 - (key_state != KeyStatePlus::Up); [INFO] [stdout] 690 + key_state != KeyStatePlus::Up; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/tetris.rs:783:16 [INFO] [stdout] | [INFO] [stdout] 783 | if (self.tetris_variable_container.start_waiting_das.is_some() [INFO] [stdout] | ^ [INFO] [stdout] 784 | && now_instant - self.tetris_variable_container.start_waiting_das.unwrap() > *das) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 783 ~ if self.tetris_variable_container.start_waiting_das.is_some() [INFO] [stdout] 784 ~ && now_instant - self.tetris_variable_container.start_waiting_das.unwrap() > *das [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `MoveMessage` and `RandomGenerator` [INFO] [stdout] --> src/main.rs:2:41 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::tetris::{BlockType, KeyType, MoveMessage, RandomGenerator}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/tetris.rs:786:20 [INFO] [stdout] | [INFO] [stdout] 786 | if (self.tetris_variable_container.last_arr_execute.is_none() [INFO] [stdout] | ^ [INFO] [stdout] 787 | || now_instant - self.tetris_variable_container.last_arr_execute.unwrap() [INFO] [stdout] 788 | > *arr) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 786 ~ if self.tetris_variable_container.last_arr_execute.is_none() [INFO] [stdout] 787 | || now_instant - self.tetris_variable_container.last_arr_execute.unwrap() [INFO] [stdout] 788 ~ > *arr [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug` [INFO] [stdout] --> src/main.rs:4:30 [INFO] [stdout] | [INFO] [stdout] 4 | use dioxus_logger::tracing::{debug, info, Level}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Deserialize` [INFO] [stdout] --> src/main.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io` [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/tetris.rs:876:16 [INFO] [stdout] | [INFO] [stdout] 876 | if (*self.field.lock().unwrap() != previous_field) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 876 - if (*self.field.lock().unwrap() != previous_field) { [INFO] [stdout] 876 + if *self.field.lock().unwrap() != previous_field { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Add` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::ops::Add; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::Scope` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::thread::Scope; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Duration` and `Instant` [INFO] [stdout] --> src/main.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | use std::time::{Duration, Instant}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tetris::TetrisManager` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use tetris::TetrisManager; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::human_can` [INFO] [stdout] --> src/tetris.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::human_can; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `dioxus::events::keyboard_types::KeyState` [INFO] [stdout] --> src/tetris.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use dioxus::events::keyboard_types::KeyState; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashSet` [INFO] [stdout] --> src/tetris.rs:7:33 [INFO] [stdout] | [INFO] [stdout] 7 | use std::collections::{HashMap, HashSet}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `AtomicBool` [INFO] [stdout] --> src/tetris.rs:9:25 [INFO] [stdout] | [INFO] [stdout] 9 | use std::sync::atomic::{AtomicBool, AtomicI64, AtomicUsize, Ordering}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread` [INFO] [stdout] --> src/tetris.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::thread; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `match` scrutinee expression [INFO] [stdout] --> src/tetris.rs:419:15 [INFO] [stdout] | [INFO] [stdout] 419 | match (self) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 419 - match (self) { [INFO] [stdout] 419 + match self { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/tetris.rs:690:25 [INFO] [stdout] | [INFO] [stdout] 690 | (key_state != KeyStatePlus::Up); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 690 - (key_state != KeyStatePlus::Up); [INFO] [stdout] 690 + key_state != KeyStatePlus::Up; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/tetris.rs:783:16 [INFO] [stdout] | [INFO] [stdout] 783 | if (self.tetris_variable_container.start_waiting_das.is_some() [INFO] [stdout] | ^ [INFO] [stdout] 784 | && now_instant - self.tetris_variable_container.start_waiting_das.unwrap() > *das) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 783 ~ if self.tetris_variable_container.start_waiting_das.is_some() [INFO] [stdout] 784 ~ && now_instant - self.tetris_variable_container.start_waiting_das.unwrap() > *das [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/tetris.rs:786:20 [INFO] [stdout] | [INFO] [stdout] 786 | if (self.tetris_variable_container.last_arr_execute.is_none() [INFO] [stdout] | ^ [INFO] [stdout] 787 | || now_instant - self.tetris_variable_container.last_arr_execute.unwrap() [INFO] [stdout] 788 | > *arr) [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 786 ~ if self.tetris_variable_container.last_arr_execute.is_none() [INFO] [stdout] 787 | || now_instant - self.tetris_variable_container.last_arr_execute.unwrap() [INFO] [stdout] 788 ~ > *arr [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/tetris.rs:876:16 [INFO] [stdout] | [INFO] [stdout] 876 | if (*self.field.lock().unwrap() != previous_field) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 876 - if (*self.field.lock().unwrap() != previous_field) { [INFO] [stdout] 876 + if *self.field.lock().unwrap() != previous_field { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `dioxus::launch`: No renderer is enabled. You must enable a renderer feature on the dioxus crate before calling the launch function. [INFO] [stdout] Add `web`, `desktop`, `mobile`, `fullstack`, or `static-generation` to the `features` of dioxus field in your Cargo.toml. [INFO] [stdout] # Example [INFO] [stdout] ```toml [INFO] [stdout] # ... [INFO] [stdout] [dependencies] [INFO] [stdout] dioxus = { version = "0.5.0", features = ["web"] } [INFO] [stdout] # ... [INFO] [stdout] ``` [INFO] [stdout] --> src/main.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | launch(App); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `dioxus::launch`: No renderer is enabled. You must enable a renderer feature on the dioxus crate before calling the launch function. [INFO] [stdout] Add `web`, `desktop`, `mobile`, `fullstack`, or `static-generation` to the `features` of dioxus field in your Cargo.toml. [INFO] [stdout] # Example [INFO] [stdout] ```toml [INFO] [stdout] # ... [INFO] [stdout] [dependencies] [INFO] [stdout] dioxus = { version = "0.5.0", features = ["web"] } [INFO] [stdout] # ... [INFO] [stdout] ``` [INFO] [stdout] --> src/main.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 38 | launch(App); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sleep_time` [INFO] [stdout] --> src/tetris.rs:581:13 [INFO] [stdout] | [INFO] [stdout] 581 | let sleep_time = SLEEP_TIME.lock().unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sleep_time` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `datas` [INFO] [stdout] --> src/main.rs:164:9 [INFO] [stdout] | [INFO] [stdout] 164 | let datas: ( [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_datas` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rx` [INFO] [stdout] --> src/main.rs:52:43 [INFO] [stdout] | [INFO] [stdout] 52 | let _: Coroutine<()> = use_coroutine(|rx| async move { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_rx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `previous_tetris_data_container` is assigned to, but never used [INFO] [stdout] --> src/main.rs:53:17 [INFO] [stdout] | [INFO] [stdout] 53 | let mut previous_tetris_data_container: Option = None; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_previous_tetris_data_container` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_updated` [INFO] [stdout] --> src/main.rs:54:17 [INFO] [stdout] | [INFO] [stdout] 54 | let mut is_updated = false; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_updated` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/main.rs:62:17 [INFO] [stdout] | [INFO] [stdout] 62 | let mut a = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `previous_tetris_data_container` is never read [INFO] [stdout] --> src/main.rs:118:17 [INFO] [stdout] | [INFO] [stdout] 118 | previous_tetris_data_container = Some(tetris_data_container.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `evt` [INFO] [stdout] --> src/main.rs:215:32 [INFO] [stdout] | [INFO] [stdout] 215 | onclick: move |evt| { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_evt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | let mut is_updated = false; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:62:13 [INFO] [stdout] | [INFO] [stdout] 62 | let mut a = 0; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STYLE` is never used [INFO] [stdout] --> src/main.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const STYLE: &str = /*manganis::mg!(fileasset!(*/ include_str!("../assets/style.css"); /* );*/ [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Fix` is never constructed [INFO] [stdout] --> src/tetris.rs:388:5 [INFO] [stdout] | [INFO] [stdout] 381 | pub enum MoveMessage { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 388 | Fix, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_size_generated` is never used [INFO] [stdout] --> src/tetris.rs:473:8 [INFO] [stdout] | [INFO] [stdout] 472 | impl RandomGenerator { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] 473 | fn get_size_generated(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `rotation` is never read [INFO] [stdout] --> src/tetris.rs:1229:5 [INFO] [stdout] | [INFO] [stdout] 1221 | pub struct Mino { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] ... [INFO] [stdout] 1229 | rotation: HashMap, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Mino` 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: methods `is_fixed` and `set_position` are never used [INFO] [stdout] --> src/tetris.rs:1281:12 [INFO] [stdout] | [INFO] [stdout] 1249 | impl Mino { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 1281 | pub fn is_fixed(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1287 | pub fn set_position(&mut self, x: i64, y: i64) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:65:13 [INFO] [stdout] | [INFO] [stdout] 65 | / eval.send(serde_json::Value::String( [INFO] [stdout] 66 | | serde_json::to_string(&TetrisDataContainer { [INFO] [stdout] 67 | | field: BlockType::create_empty_field(), [INFO] [stdout] 68 | | nexts: vec![vec![vec![BlockType::Empty; 4]; 2]; 7], [INFO] [stdout] ... | [INFO] [stdout] 71 | | .unwrap(), [INFO] [stdout] 72 | | )); [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 65 | let _ = eval.send(serde_json::Value::String( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:120:17 [INFO] [stdout] | [INFO] [stdout] 120 | / eval.send(serde_json::Value::String( [INFO] [stdout] 121 | | serde_json::to_string(&tetris_data_container).unwrap(), [INFO] [stdout] 122 | | )); [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 120 | let _ = eval.send(serde_json::Value::String( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tetris.rs:624:25 [INFO] [stdout] | [INFO] [stdout] 624 | self.tetris_variable_container.mino.fix(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 624 | let _ = self.tetris_variable_container.mino.fix(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tetris.rs:858:21 [INFO] [stdout] | [INFO] [stdout] 858 | self.tetris_variable_container.mino.fix(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 858 | let _ = self.tetris_variable_container.mino.fix(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tetris.rs:872:17 [INFO] [stdout] | [INFO] [stdout] 872 | self.tetris_variable_container.mino.fix(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 872 | let _ = self.tetris_variable_container.mino.fix(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sleep_time` [INFO] [stdout] --> src/tetris.rs:581:13 [INFO] [stdout] | [INFO] [stdout] 581 | let sleep_time = SLEEP_TIME.lock().unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sleep_time` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `datas` [INFO] [stdout] --> src/main.rs:164:9 [INFO] [stdout] | [INFO] [stdout] 164 | let datas: ( [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_datas` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rx` [INFO] [stdout] --> src/main.rs:52:43 [INFO] [stdout] | [INFO] [stdout] 52 | let _: Coroutine<()> = use_coroutine(|rx| async move { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_rx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `previous_tetris_data_container` is assigned to, but never used [INFO] [stdout] --> src/main.rs:53:17 [INFO] [stdout] | [INFO] [stdout] 53 | let mut previous_tetris_data_container: Option = None; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_previous_tetris_data_container` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_updated` [INFO] [stdout] --> src/main.rs:54:17 [INFO] [stdout] | [INFO] [stdout] 54 | let mut is_updated = false; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_updated` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `a` [INFO] [stdout] --> src/main.rs:62:17 [INFO] [stdout] | [INFO] [stdout] 62 | let mut a = 0; [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `previous_tetris_data_container` is never read [INFO] [stdout] --> src/main.rs:118:17 [INFO] [stdout] | [INFO] [stdout] 118 | previous_tetris_data_container = Some(tetris_data_container.clone()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `evt` [INFO] [stdout] --> src/main.rs:215:32 [INFO] [stdout] | [INFO] [stdout] 215 | onclick: move |evt| { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_evt` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:54:13 [INFO] [stdout] | [INFO] [stdout] 54 | let mut is_updated = false; [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:62:13 [INFO] [stdout] | [INFO] [stdout] 62 | let mut a = 0; [INFO] [stdout] | ----^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `STYLE` is never used [INFO] [stdout] --> src/main.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const STYLE: &str = /*manganis::mg!(fileasset!(*/ include_str!("../assets/style.css"); /* );*/ [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Fix` is never constructed [INFO] [stdout] --> src/tetris.rs:388:5 [INFO] [stdout] | [INFO] [stdout] 381 | pub enum MoveMessage { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 388 | Fix, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_size_generated` is never used [INFO] [stdout] --> src/tetris.rs:473:8 [INFO] [stdout] | [INFO] [stdout] 472 | impl RandomGenerator { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] 473 | fn get_size_generated(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `rotation` is never read [INFO] [stdout] --> src/tetris.rs:1229:5 [INFO] [stdout] | [INFO] [stdout] 1221 | pub struct Mino { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] ... [INFO] [stdout] 1229 | rotation: HashMap, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Mino` 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: methods `is_fixed` and `set_position` are never used [INFO] [stdout] --> src/tetris.rs:1281:12 [INFO] [stdout] | [INFO] [stdout] 1249 | impl Mino { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 1281 | pub fn is_fixed(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1287 | pub fn set_position(&mut self, x: i64, y: i64) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:65:13 [INFO] [stdout] | [INFO] [stdout] 65 | / eval.send(serde_json::Value::String( [INFO] [stdout] 66 | | serde_json::to_string(&TetrisDataContainer { [INFO] [stdout] 67 | | field: BlockType::create_empty_field(), [INFO] [stdout] 68 | | nexts: vec![vec![vec![BlockType::Empty; 4]; 2]; 7], [INFO] [stdout] ... | [INFO] [stdout] 71 | | .unwrap(), [INFO] [stdout] 72 | | )); [INFO] [stdout] | |______________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 65 | let _ = eval.send(serde_json::Value::String( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:120:17 [INFO] [stdout] | [INFO] [stdout] 120 | / eval.send(serde_json::Value::String( [INFO] [stdout] 121 | | serde_json::to_string(&tetris_data_container).unwrap(), [INFO] [stdout] 122 | | )); [INFO] [stdout] | |__________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 120 | let _ = eval.send(serde_json::Value::String( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tetris.rs:624:25 [INFO] [stdout] | [INFO] [stdout] 624 | self.tetris_variable_container.mino.fix(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 624 | let _ = self.tetris_variable_container.mino.fix(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tetris.rs:858:21 [INFO] [stdout] | [INFO] [stdout] 858 | self.tetris_variable_container.mino.fix(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 858 | let _ = self.tetris_variable_container.mino.fix(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/tetris.rs:872:17 [INFO] [stdout] | [INFO] [stdout] 872 | self.tetris_variable_container.mino.fix(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 872 | let _ = self.tetris_variable_container.mino.fix(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 02s [INFO] running `Command { std: "docker" "inspect" "dbe563e1c6d33cb8130d0741d30b0b323e3558a075a49ff9f1fad9ab98ae9e1e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dbe563e1c6d33cb8130d0741d30b0b323e3558a075a49ff9f1fad9ab98ae9e1e", kill_on_drop: false }` [INFO] [stdout] dbe563e1c6d33cb8130d0741d30b0b323e3558a075a49ff9f1fad9ab98ae9e1e