[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] building hiro1234omochi/tetris against master#c7f6aa2869acdbf014d094c6e427e554e160b6db for pr-146237-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhiro1234omochi%2Ftetris" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [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-4-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/hiro1234omochi/tetris on toolchain c7f6aa2869acdbf014d094c6e427e554e160b6db [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [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" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded manganis v0.3.0-alpha.2 [INFO] [stderr] Downloaded manganis-macro v0.3.0-alpha.2 [INFO] [stderr] Downloaded rand_core v0.9.0-alpha.2 [INFO] [stderr] Downloaded dioxus v0.6.0-alpha.2 [INFO] [stderr] Downloaded webview2-com v0.31.0 [INFO] [stderr] Downloaded manganis-common v0.3.0-alpha.2 [INFO] [stderr] Downloaded rand_chacha v0.9.0-alpha.2 [INFO] [stderr] Downloaded dioxus-hooks v0.6.0-alpha.2 [INFO] [stderr] Downloaded gdk v0.18.0 [INFO] [stderr] Downloaded async-broadcast v0.7.1 [INFO] [stderr] Downloaded windows-version v0.1.1 [INFO] [stderr] Downloaded dioxus-router v0.6.0-alpha.2 [INFO] [stderr] Downloaded dioxus-static-site-generation v0.6.0-alpha.2 [INFO] [stderr] Downloaded gdkx11-sys v0.18.0 [INFO] [stderr] Downloaded gdkwayland-sys v0.18.0 [INFO] [stderr] Downloaded dioxus_server_macro v0.6.0-alpha.0 [INFO] [stderr] Downloaded dioxus-fullstack v0.6.0-alpha.2 [INFO] [stderr] Downloaded gtk v0.18.1 [INFO] [stderr] Downloaded gtk-sys v0.18.0 [INFO] [stderr] Downloaded dioxus-core v0.6.0-alpha.2 [INFO] [stderr] Downloaded gdk-sys v0.18.0 [INFO] [stderr] Downloaded dioxus-cli-config v0.6.0-alpha.2 [INFO] [stderr] Downloaded tokio-tungstenite v0.23.1 [INFO] [stderr] Downloaded rustix v0.38.36 [INFO] [stderr] Downloaded dioxus-rsx v0.6.0-alpha.2 [INFO] [stderr] Downloaded dioxus-interpreter-js v0.6.0-alpha.2 [INFO] [stderr] Downloaded dioxus-signals v0.6.0-alpha.2 [INFO] [stderr] Downloaded gtk3-macros v0.18.0 [INFO] [stderr] Downloaded atk-sys v0.18.0 [INFO] [stderr] Downloaded prettyplease v0.2.22 [INFO] [stderr] Downloaded dioxus-core-macro v0.6.0-alpha.2 [INFO] [stderr] Downloaded lazy-js-bundle v0.6.0-alpha.0 [INFO] [stderr] Downloaded warnings v0.2.0 [INFO] [stderr] Downloaded generational-box v0.6.0-alpha.2 [INFO] [stderr] Downloaded async-process v2.2.4 [INFO] [stderr] Downloaded windows-implement v0.53.0 [INFO] [stderr] Downloaded windows-interface v0.53.0 [INFO] [stderr] Downloaded wry v0.41.0 [INFO] [stderr] Downloaded gdkx11 v0.18.0 [INFO] [stderr] Downloaded atk v0.18.0 [INFO] [stderr] Downloaded webview2-com-macros v0.7.0 [INFO] [stderr] Downloaded dioxus-lib v0.6.0-alpha.2 [INFO] [stderr] Downloaded dioxus-router-macro v0.6.0-alpha.2 [INFO] [stderr] Downloaded dioxus-hot-reload v0.6.0-alpha.2 [INFO] [stderr] Downloaded dioxus-html-internal-macro v0.6.0-alpha.0 [INFO] [stderr] Downloaded unicode-xid v0.2.5 [INFO] [stderr] Downloaded windows-implement v0.57.0 [INFO] [stderr] Downloaded windows-interface v0.57.0 [INFO] [stderr] Downloaded windows-core v0.57.0 [INFO] [stderr] Downloaded dioxus-config-macro v0.6.0-alpha.2 [INFO] [stderr] Downloaded anyhow v1.0.88 [INFO] [stderr] Downloaded rand v0.9.0-alpha.2 [INFO] [stderr] Downloaded dioxus-web v0.6.0-alpha.2 [INFO] [stderr] Downloaded dioxus-html v0.6.0-alpha.2 [INFO] [stderr] Downloaded dioxus-desktop v0.6.0-alpha.2 [INFO] [stderr] Downloaded tao v0.26.2 [INFO] [stderr] Downloaded webview2-com-sys v0.31.0 [INFO] [stderr] Downloaded windows v0.57.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 6e8e0140f4a0b56fe11b8d0b61e46cf32766137fa48026a655a8f34f8ba79bc1 [INFO] running `Command { std: "docker" "start" "-a" "6e8e0140f4a0b56fe11b8d0b61e46cf32766137fa48026a655a8f34f8ba79bc1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "6e8e0140f4a0b56fe11b8d0b61e46cf32766137fa48026a655a8f34f8ba79bc1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6e8e0140f4a0b56fe11b8d0b61e46cf32766137fa48026a655a8f34f8ba79bc1", kill_on_drop: false }` [INFO] [stdout] 6e8e0140f4a0b56fe11b8d0b61e46cf32766137fa48026a655a8f34f8ba79bc1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a0c1add9ab8bab982ab32604d5863cdd33bc8a6ed50a858ccbc6869961e920b4 [INFO] running `Command { std: "docker" "start" "-a" "a0c1add9ab8bab982ab32604d5863cdd33bc8a6ed50a858ccbc6869961e920b4", kill_on_drop: false }` [INFO] [stderr] Compiling serde v1.0.210 [INFO] [stderr] Compiling zerocopy v0.7.35 [INFO] [stderr] Compiling tinyvec_macros v0.1.1 [INFO] [stderr] Compiling libc v0.2.158 [INFO] [stderr] Compiling tracing-core v0.1.32 [INFO] [stderr] Compiling percent-encoding v2.3.1 [INFO] [stderr] Compiling log v0.4.22 [INFO] [stderr] Compiling unicode-bidi v0.3.15 [INFO] [stderr] Compiling bitflags v2.6.0 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling byteorder v1.5.0 [INFO] [stderr] Compiling anyhow v1.0.88 [INFO] [stderr] Compiling uuid v1.10.0 [INFO] [stderr] Compiling base64 v0.21.7 [INFO] [stderr] Compiling unicode-xid v0.2.5 [INFO] [stderr] Compiling serde_json v1.0.128 [INFO] [stderr] Compiling tinyvec v1.8.0 [INFO] [stderr] Compiling overload v0.1.1 [INFO] [stderr] Compiling proc-macro2-diagnostics v0.10.1 [INFO] [stderr] Compiling form_urlencoded v1.2.1 [INFO] [stderr] Compiling nu-ansi-term v0.46.0 [INFO] [stderr] Compiling event-listener v5.3.1 [INFO] [stderr] Compiling syn v2.0.76 [INFO] [stderr] Compiling futures-util v0.3.30 [INFO] [stderr] Compiling fastrand v2.1.1 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling const_format_proc_macros v0.2.33 [INFO] [stderr] Compiling cfb v0.7.3 [INFO] [stderr] Compiling rustix v0.38.36 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling event-listener-strategy v0.5.2 [INFO] [stderr] Compiling unicode-segmentation v1.11.0 [INFO] [stderr] Compiling prettyplease v0.2.22 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling futures-lite v2.3.0 [INFO] [stderr] Compiling tracing-subscriber v0.3.18 [INFO] [stderr] Compiling lazy-js-bundle v0.6.0-alpha.0 [INFO] [stderr] Compiling piper v0.2.4 [INFO] [stderr] Compiling euclid v0.22.11 [INFO] [stderr] Compiling jobserver v0.1.32 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling parking_lot v0.12.3 [INFO] [stderr] Compiling dioxus-html v0.6.0-alpha.2 [INFO] [stderr] Compiling convert_case v0.6.0 [INFO] [stderr] Compiling generational-box v0.6.0-alpha.2 [INFO] [stderr] Compiling getrandom v0.2.15 [INFO] [stderr] Compiling cc v1.1.18 [INFO] [stderr] Compiling unicode-normalization v0.1.23 [INFO] [stderr] Compiling indexmap v2.5.0 [INFO] [stderr] Compiling infer v0.11.0 [INFO] [stderr] Compiling internment v0.7.5 [INFO] [stderr] Compiling async-channel v2.3.1 [INFO] [stderr] Compiling async-lock v3.4.0 [INFO] [stderr] Compiling keyboard-types v0.7.0 [INFO] [stderr] Compiling value-bag v1.9.0 [INFO] [stderr] Compiling blocking v1.6.1 [INFO] [stderr] Compiling async-executor v1.13.1 [INFO] [stderr] Compiling dioxus v0.6.0-alpha.2 [INFO] [stderr] Compiling async-channel v1.9.0 [INFO] [stderr] Compiling dioxus-config-macro v0.6.0-alpha.2 [INFO] [stderr] Compiling web-time v1.1.0 [INFO] [stderr] Compiling idna v0.5.0 [INFO] [stderr] Compiling const_format v0.2.33 [INFO] [stderr] Compiling kv-log-macro v1.0.7 [INFO] [stderr] Compiling libz-sys v1.1.20 [INFO] [stderr] Compiling libgit2-sys v0.16.2+1.7.2 [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 darling_macro v0.20.10 [INFO] [stderr] Compiling darling v0.20.10 [INFO] [stderr] Compiling enumset_derive v0.10.0 [INFO] [stderr] Compiling enumset v1.1.5 [INFO] [stderr] Compiling tracing v0.1.40 [INFO] [stderr] Compiling polling v3.7.3 [INFO] [stderr] Compiling dioxus-logger v0.5.1 [INFO] [stderr] Compiling pin-project v1.1.5 [INFO] [stderr] Compiling warnings v0.2.0 [INFO] [stderr] Compiling async-io v2.3.4 [INFO] [stderr] Compiling ppv-lite86 v0.2.20 [INFO] [stderr] Compiling rand_core v0.9.0-alpha.2 [INFO] [stderr] Compiling rand_chacha v0.9.0-alpha.2 [INFO] [stderr] Compiling async-global-executor v2.4.1 [INFO] [stderr] Compiling rand v0.9.0-alpha.2 [INFO] [stderr] Compiling async-std v1.13.0 [INFO] [stderr] Compiling url v2.5.2 [INFO] [stderr] Compiling toml_datetime v0.6.8 [INFO] [stderr] Compiling serde_spanned v0.6.7 [INFO] [stderr] Compiling slotmap v1.0.7 [INFO] [stderr] Compiling toml_edit v0.19.15 [INFO] [stderr] Compiling dioxus-core v0.6.0-alpha.2 [INFO] [stderr] Compiling git2 v0.18.3 [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 manganis-common v0.3.0-alpha.2 [INFO] [stderr] Compiling dioxus-core-macro v0.6.0-alpha.2 [INFO] [stderr] Compiling manganis-macro v0.3.0-alpha.2 [INFO] [stderr] Compiling manganis v0.3.0-alpha.2 [INFO] [stderr] Compiling dioxus-signals v0.6.0-alpha.2 [INFO] [stderr] Compiling dioxus-hooks v0.6.0-alpha.2 [INFO] [stderr] Compiling dioxus-hot-reload v0.6.0-alpha.2 [INFO] [stderr] Compiling 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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: 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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 14s [INFO] running `Command { std: "docker" "inspect" "a0c1add9ab8bab982ab32604d5863cdd33bc8a6ed50a858ccbc6869961e920b4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a0c1add9ab8bab982ab32604d5863cdd33bc8a6ed50a858ccbc6869961e920b4", kill_on_drop: false }` [INFO] [stdout] a0c1add9ab8bab982ab32604d5863cdd33bc8a6ed50a858ccbc6869961e920b4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 78f38423a0c7281847ca15e6b9b990411d89e1c666afc5b167ec97893a004f7e [INFO] running `Command { std: "docker" "start" "-a" "78f38423a0c7281847ca15e6b9b990411d89e1c666afc5b167ec97893a004f7e", kill_on_drop: false }` [INFO] [stderr] Compiling manganis-macro v0.3.0-alpha.2 [INFO] [stderr] Compiling manganis v0.3.0-alpha.2 [INFO] [stderr] Compiling dioxus-core v0.6.0-alpha.2 [INFO] [stderr] Compiling dioxus-signals v0.6.0-alpha.2 [INFO] [stderr] Compiling dioxus-rsx v0.6.0-alpha.2 [INFO] [stderr] Compiling dioxus-hooks v0.6.0-alpha.2 [INFO] [stderr] Compiling dioxus-html v0.6.0-alpha.2 [INFO] [stderr] Compiling dioxus-hot-reload v0.6.0-alpha.2 [INFO] [stderr] Compiling dioxus v0.6.0-alpha.2 [INFO] [stderr] Compiling 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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: 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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 `test` profile [unoptimized + debuginfo] target(s) in 11.10s [INFO] running `Command { std: "docker" "inspect" "78f38423a0c7281847ca15e6b9b990411d89e1c666afc5b167ec97893a004f7e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "78f38423a0c7281847ca15e6b9b990411d89e1c666afc5b167ec97893a004f7e", kill_on_drop: false }` [INFO] [stdout] 78f38423a0c7281847ca15e6b9b990411d89e1c666afc5b167ec97893a004f7e