[INFO] cloning repository https://github.com/homura10059/Game-Development-with-Rust-and-WebAssembly [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/homura10059/Game-Development-with-Rust-and-WebAssembly" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhomura10059%2FGame-Development-with-Rust-and-WebAssembly", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhomura10059%2FGame-Development-with-Rust-and-WebAssembly'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 11c716fbb91e4229ae0cf66ea26094a1d31b059a [INFO] testing homura10059/Game-Development-with-Rust-and-WebAssembly against master#ff2c56344c764af598ad33027e9c7a48881808ef for pr-118825 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhomura10059%2FGame-Development-with-Rust-and-WebAssembly" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/homura10059/Game-Development-with-Rust-and-WebAssembly on toolchain ff2c56344c764af598ad33027e9c7a48881808ef [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ff2c56344c764af598ad33027e9c7a48881808ef" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/homura10059/Game-Development-with-Rust-and-WebAssembly [INFO] finished tweaking git repo https://github.com/homura10059/Game-Development-with-Rust-and-WebAssembly [INFO] tweaked toml for git repo https://github.com/homura10059/Game-Development-with-Rust-and-WebAssembly written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/homura10059/Game-Development-with-Rust-and-WebAssembly 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" "+ff2c56344c764af598ad33027e9c7a48881808ef" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /workspace/builds/worker-0-tc1/source/part1/chapter_1/Cargo.toml [INFO] [stderr] workspace: /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /workspace/builds/worker-0-tc1/source/part1/chapter_2/Cargo.toml [INFO] [stderr] workspace: /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /workspace/builds/worker-0-tc1/source/part2/chapter_4/Cargo.toml [INFO] [stderr] workspace: /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /workspace/builds/worker-0-tc1/source/part2/chapter_5/Cargo.toml [INFO] [stderr] workspace: /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /workspace/builds/worker-0-tc1/source/part2/chapter_6/Cargo.toml [INFO] [stderr] workspace: /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [ERROR] this task or one of its parent failed! [ERROR] no output for 300 seconds [ERROR] note: run with `RUST_BACKTRACE=1` to display a backtrace. [INFO] testing homura10059/Game-Development-with-Rust-and-WebAssembly against try#5e4273472e1b2f223618a9b3def795f6224f241d for pr-118825 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhomura10059%2FGame-Development-with-Rust-and-WebAssembly" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/homura10059/Game-Development-with-Rust-and-WebAssembly on toolchain 5e4273472e1b2f223618a9b3def795f6224f241d [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5e4273472e1b2f223618a9b3def795f6224f241d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/homura10059/Game-Development-with-Rust-and-WebAssembly [INFO] finished tweaking git repo https://github.com/homura10059/Game-Development-with-Rust-and-WebAssembly [INFO] tweaked toml for git repo https://github.com/homura10059/Game-Development-with-Rust-and-WebAssembly written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/homura10059/Game-Development-with-Rust-and-WebAssembly 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" "+5e4273472e1b2f223618a9b3def795f6224f241d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /workspace/builds/worker-0-tc2/source/part1/chapter_1/Cargo.toml [INFO] [stderr] workspace: /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /workspace/builds/worker-0-tc2/source/part1/chapter_2/Cargo.toml [INFO] [stderr] workspace: /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /workspace/builds/worker-0-tc2/source/part2/chapter_4/Cargo.toml [INFO] [stderr] workspace: /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /workspace/builds/worker-0-tc2/source/part2/chapter_5/Cargo.toml [INFO] [stderr] workspace: /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /workspace/builds/worker-0-tc2/source/part2/chapter_6/Cargo.toml [INFO] [stderr] workspace: /workspace/builds/worker-0-tc2/source/Cargo.toml [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 serde v1.0.181 [INFO] [stderr] Downloaded anyhow v1.0.72 [INFO] [stderr] Downloaded serde_derive v1.0.181 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5e4273472e1b2f223618a9b3def795f6224f241d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 681010a960d591f0b299db3a3300e53a0d85eb9a82e49787eccffa0a5d697c14 [INFO] running `Command { std: "docker" "start" "-a" "681010a960d591f0b299db3a3300e53a0d85eb9a82e49787eccffa0a5d697c14", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "681010a960d591f0b299db3a3300e53a0d85eb9a82e49787eccffa0a5d697c14", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "681010a960d591f0b299db3a3300e53a0d85eb9a82e49787eccffa0a5d697c14", kill_on_drop: false }` [INFO] [stdout] 681010a960d591f0b299db3a3300e53a0d85eb9a82e49787eccffa0a5d697c14 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5e4273472e1b2f223618a9b3def795f6224f241d" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 293390680c8e47cc095bf0911baff2532fd4b0188bb744809088450f4dab3824 [INFO] running `Command { std: "docker" "start" "-a" "293390680c8e47cc095bf0911baff2532fd4b0188bb744809088450f4dab3824", kill_on_drop: false }` [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /opt/rustwide/workdir/part1/chapter_1/Cargo.toml [INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /opt/rustwide/workdir/part1/chapter_2/Cargo.toml [INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /opt/rustwide/workdir/part2/chapter_4/Cargo.toml [INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /opt/rustwide/workdir/part2/chapter_5/Cargo.toml [INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /opt/rustwide/workdir/part2/chapter_6/Cargo.toml [INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml [INFO] [stderr] Compiling wasm-bindgen-shared v0.2.87 [INFO] [stderr] Compiling serde v1.0.181 [INFO] [stderr] Compiling bumpalo v3.13.0 [INFO] [stderr] Compiling once_cell v1.18.0 [INFO] [stderr] Compiling log v0.4.19 [INFO] [stderr] Compiling serde_derive v1.0.181 [INFO] [stderr] Compiling serde_json v1.0.104 [INFO] [stderr] Compiling wasm-bindgen v0.2.87 [INFO] [stderr] Compiling libc v0.2.147 [INFO] [stderr] Compiling futures-core v0.3.28 [INFO] [stderr] Compiling futures-channel v0.3.28 [INFO] [stderr] Compiling futures-sink v0.3.28 [INFO] [stderr] Compiling quote v1.0.32 [INFO] [stderr] Compiling futures-util v0.3.28 [INFO] [stderr] Compiling pin-project-lite v0.2.10 [INFO] [stderr] Compiling async-trait v0.1.72 [INFO] [stderr] Compiling anyhow v1.0.72 [INFO] [stderr] Compiling syn v2.0.28 [INFO] [stderr] Compiling getrandom v0.2.10 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling wasm-bindgen-backend v0.2.87 [INFO] [stderr] Compiling wasm-bindgen-macro-support v0.2.87 [INFO] [stderr] Compiling futures-macro v0.3.28 [INFO] [stderr] Compiling wasm-bindgen-macro v0.2.87 [INFO] [stderr] Compiling js-sys v0.3.64 [INFO] [stderr] Compiling console_error_panic_hook v0.1.7 [INFO] [stderr] Compiling web-sys v0.3.64 [INFO] [stderr] Compiling wasm-bindgen-futures v0.4.37 [INFO] [stderr] Compiling futures-executor v0.3.28 [INFO] [stderr] Compiling futures v0.3.28 [INFO] [stderr] Compiling chapter_4 v0.1.0 (/opt/rustwide/workdir/part2/chapter_4) [INFO] [stderr] Compiling chapter_2 v0.1.0 (/opt/rustwide/workdir/part1/chapter_2) [INFO] [stderr] Compiling chapter_6 v0.1.0 (/opt/rustwide/workdir/part2/chapter_6) [INFO] [stderr] Compiling chapter-1 v0.1.0 (/opt/rustwide/workdir/part1/chapter_1) [INFO] [stderr] Compiling chapter_5 v0.1.0 (/opt/rustwide/workdir/part2/chapter_5) [INFO] [stdout] warning: unused import: `rand::prelude::*` [INFO] [stdout] --> part1/chapter_2/src/lib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use rand::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `web_sys::console` [INFO] [stdout] --> part1/chapter_2/src/lib.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use web_sys::console; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `log` [INFO] [stdout] --> part2/chapter_5/src/browser.rs:12:14 [INFO] [stdout] | [INFO] [stdout] 12 | macro_rules! log { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `log` [INFO] [stdout] --> part2/chapter_6/src/browser.rs:12:14 [INFO] [stdout] | [INFO] [stdout] 12 | macro_rules! log { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `log` [INFO] [stdout] --> part2/chapter_4/src/browser.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | macro_rules! log { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `wasm_bindgen::JsValue::into_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead [INFO] [stdout] --> part1/chapter_2/src/lib.rs:50:14 [INFO] [stdout] | [INFO] [stdout] 50 | .into_serde() [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part1/chapter_2/src/lib.rs:58:17 [INFO] [stdout] | [INFO] [stdout] 58 | success_tx.send(Ok(())); [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] 58 | let _ = success_tx.send(Ok(())); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part1/chapter_2/src/lib.rs:63:17 [INFO] [stdout] | [INFO] [stdout] 63 | error_tx.send(Err(err)); [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] 63 | let _ = error_tx.send(Err(err)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part1/chapter_2/src/lib.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | success_rx.await; [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] 70 | let _ = success_rx.await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part1/chapter_2/src/lib.rs:79:13 [INFO] [stdout] | [INFO] [stdout] 79 | / context.draw_image_with_html_image_element_and_sw_and_sh_and_dx_and_dy_and_dw_and_dh( [INFO] [stdout] 80 | | &image, [INFO] [stdout] 81 | | sprite.frame.x.into(), [INFO] [stdout] 82 | | sprite.frame.y.into(), [INFO] [stdout] ... | [INFO] [stdout] 88 | | sprite.frame.h.into(), [INFO] [stdout] 89 | | ); [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] 79 | let _ = context.draw_image_with_html_image_element_and_sw_and_sh_and_dx_and_dy_and_dw_and_dh( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part1/chapter_2/src/lib.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 91 | / window.set_interval_with_callback_and_timeout_and_arguments_0( [INFO] [stdout] 92 | | interval_callback.as_ref().unchecked_ref(), [INFO] [stdout] 93 | | 50, [INFO] [stdout] 94 | | ); [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] 91 | let _ = window.set_interval_with_callback_and_timeout_and_arguments_0( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `wasm_bindgen::JsValue::into_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead [INFO] [stdout] --> part2/chapter_4/src/game.rs:43:26 [INFO] [stdout] | [INFO] [stdout] 43 | json.into_serde::()?, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `wasm_bindgen::JsValue::into_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead [INFO] [stdout] --> part2/chapter_5/src/game.rs:655:68 [INFO] [stdout] | [INFO] [stdout] 655 | let sheet = browser::fetch_json("rhb.json").await?.into_serde()?; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `wasm_bindgen::JsValue::into_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead [INFO] [stdout] --> part2/chapter_5/src/game.rs:662:36 [INFO] [stdout] | [INFO] [stdout] 662 | platform_sheet.into_serde::()?, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `wasm_bindgen::JsValue::into_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead [INFO] [stdout] --> part2/chapter_6/src/game.rs:664:68 [INFO] [stdout] | [INFO] [stdout] 664 | let sheet = browser::fetch_json("rhb.json").await?.into_serde()?; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `wasm_bindgen::JsValue::into_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead [INFO] [stdout] --> part2/chapter_6/src/game.rs:671:36 [INFO] [stdout] | [INFO] [stdout] 671 | platform_sheet.into_serde::()?, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIGH_PLATFORM` is never used [INFO] [stdout] --> part2/chapter_5/src/game.rs:648:7 [INFO] [stdout] | [INFO] [stdout] 648 | const HIGH_PLATFORM: i16 = 375; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part2/chapter_5/src/engine.rs:112:13 [INFO] [stdout] | [INFO] [stdout] 112 | success_tx.send(Ok(())); [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] 112 | let _ = success_tx.send(Ok(())); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part2/chapter_5/src/engine.rs:118:13 [INFO] [stdout] | [INFO] [stdout] 118 | error_tx.send(Err(anyhow!("Error Loading Image: {:#?}", err))); [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] 118 | let _ = error_tx.send(Err(anyhow!("Error Loading Image: {:#?}", err))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part2/chapter_5/src/engine.rs:175:13 [INFO] [stdout] | [INFO] [stdout] 175 | browser::request_animation_frame(f.borrow().as_ref().unwrap()); [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] 175 | let _ = browser::request_animation_frame(f.borrow().as_ref().unwrap()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part2/chapter_5/src/engine.rs:234:9 [INFO] [stdout] | [INFO] [stdout] 234 | / keydown_sender [INFO] [stdout] 235 | | .borrow_mut() [INFO] [stdout] 236 | | .start_send(KeyPress::KeyDown(keycode)); [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] 234 | let _ = keydown_sender [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part2/chapter_5/src/engine.rs:240:9 [INFO] [stdout] | [INFO] [stdout] 240 | / keyup_sender [INFO] [stdout] 241 | | .borrow_mut() [INFO] [stdout] 242 | | .start_send(KeyPress::KeyUp(keycode)); [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] 240 | let _ = keyup_sender [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIGH_PLATFORM` is never used [INFO] [stdout] --> part2/chapter_6/src/game.rs:657:7 [INFO] [stdout] | [INFO] [stdout] 657 | const HIGH_PLATFORM: i16 = 375; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part2/chapter_6/src/engine.rs:112:13 [INFO] [stdout] | [INFO] [stdout] 112 | success_tx.send(Ok(())); [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] 112 | let _ = success_tx.send(Ok(())); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part2/chapter_6/src/engine.rs:118:13 [INFO] [stdout] | [INFO] [stdout] 118 | error_tx.send(Err(anyhow!("Error Loading Image: {:#?}", err))); [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] 118 | let _ = error_tx.send(Err(anyhow!("Error Loading Image: {:#?}", err))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part2/chapter_6/src/engine.rs:175:13 [INFO] [stdout] | [INFO] [stdout] 175 | browser::request_animation_frame(f.borrow().as_ref().unwrap()); [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] 175 | let _ = browser::request_animation_frame(f.borrow().as_ref().unwrap()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part2/chapter_6/src/engine.rs:234:9 [INFO] [stdout] | [INFO] [stdout] 234 | / keydown_sender [INFO] [stdout] 235 | | .borrow_mut() [INFO] [stdout] 236 | | .start_send(KeyPress::KeyDown(keycode)); [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] 234 | let _ = keydown_sender [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part2/chapter_6/src/engine.rs:240:9 [INFO] [stdout] | [INFO] [stdout] 240 | / keyup_sender [INFO] [stdout] 241 | | .borrow_mut() [INFO] [stdout] 242 | | .start_send(KeyPress::KeyUp(keycode)); [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] 240 | let _ = keyup_sender [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `RedHatBoy` is more private than the item `WalkTheDog::Loaded::0` [INFO] [stdout] --> part2/chapter_4/src/game.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | Loaded(RedHatBoy), [INFO] [stdout] | ^^^^^^^^^ field `WalkTheDog::Loaded::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `RedHatBoy` is only usable at visibility `pub(self)` [INFO] [stdout] --> part2/chapter_4/src/game.rs:84:1 [INFO] [stdout] | [INFO] [stdout] 84 | struct RedHatBoy { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `frames` is never read [INFO] [stdout] --> part2/chapter_4/src/lib.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 13 | struct Sheet { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 14 | frames: HashMap, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `x`, `y`, `w`, and `h` are never read [INFO] [stdout] --> part2/chapter_4/src/lib.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 18 | struct Rect { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 19 | x: u16, [INFO] [stdout] | ^ [INFO] [stdout] 20 | y: u16, [INFO] [stdout] | ^ [INFO] [stdout] 21 | w: u16, [INFO] [stdout] | ^ [INFO] [stdout] 22 | h: u16, [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `frame` is never read [INFO] [stdout] --> part2/chapter_4/src/lib.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 25 | struct Cell { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 26 | frame: Rect, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part2/chapter_4/src/engine.rs:23:13 [INFO] [stdout] | [INFO] [stdout] 23 | success_tx.send(Ok(())); [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] 23 | let _ = success_tx.send(Ok(())); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part2/chapter_4/src/engine.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | error_tx.send(Err(anyhow!("Error Loading Image: {:#?}", err))); [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] 28 | let _ = error_tx.send(Err(anyhow!("Error Loading Image: {:#?}", err))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part2/chapter_4/src/engine.rs:79:13 [INFO] [stdout] | [INFO] [stdout] 79 | browser::request_animation_frame(f.borrow().as_ref().unwrap()); [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] 79 | let _ = browser::request_animation_frame(f.borrow().as_ref().unwrap()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part2/chapter_4/src/engine.rs:137:9 [INFO] [stdout] | [INFO] [stdout] 137 | / keydown_sender [INFO] [stdout] 138 | | .borrow_mut() [INFO] [stdout] 139 | | .start_send(KeyPress::KeyDown(keycode)); [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] 137 | let _ = keydown_sender [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part2/chapter_4/src/engine.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 142 | / keyup_sender [INFO] [stdout] 143 | | .borrow_mut() [INFO] [stdout] 144 | | .start_send(KeyPress::KeyUp(keycode)); [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] 142 | let _ = keyup_sender [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 9 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 9 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 11 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 9.17s [INFO] running `Command { std: "docker" "inspect" "293390680c8e47cc095bf0911baff2532fd4b0188bb744809088450f4dab3824", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "293390680c8e47cc095bf0911baff2532fd4b0188bb744809088450f4dab3824", kill_on_drop: false }` [INFO] [stdout] 293390680c8e47cc095bf0911baff2532fd4b0188bb744809088450f4dab3824 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5e4273472e1b2f223618a9b3def795f6224f241d" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e829237ba4a9efdb4e4830a8ea9398c135916fba722dad0707f02dbdc8f80184 [INFO] running `Command { std: "docker" "start" "-a" "e829237ba4a9efdb4e4830a8ea9398c135916fba722dad0707f02dbdc8f80184", kill_on_drop: false }` [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /opt/rustwide/workdir/part1/chapter_1/Cargo.toml [INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /opt/rustwide/workdir/part1/chapter_2/Cargo.toml [INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /opt/rustwide/workdir/part2/chapter_4/Cargo.toml [INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /opt/rustwide/workdir/part2/chapter_5/Cargo.toml [INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /opt/rustwide/workdir/part2/chapter_6/Cargo.toml [INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml [INFO] [stderr] Compiling wasm-bindgen-test-macro v0.3.37 [INFO] [stderr] Compiling scoped-tls v1.0.1 [INFO] [stderr] Compiling wasm-bindgen-test v0.3.37 [INFO] [stderr] Compiling chapter-1 v0.1.0 (/opt/rustwide/workdir/part1/chapter_1) [INFO] [stderr] Compiling chapter_4 v0.1.0 (/opt/rustwide/workdir/part2/chapter_4) [INFO] [stderr] Compiling chapter_5 v0.1.0 (/opt/rustwide/workdir/part2/chapter_5) [INFO] [stderr] Compiling chapter_2 v0.1.0 (/opt/rustwide/workdir/part1/chapter_2) [INFO] [stderr] Compiling chapter_6 v0.1.0 (/opt/rustwide/workdir/part2/chapter_6) [INFO] [stdout] error[E0220]: associated type `Item` not found for `futures::Future` [INFO] [stdout] --> part1/chapter_2/tests/app.rs:25:32 [INFO] [stdout] | [INFO] [stdout] 25 | fn async_test() -> impl Future { [INFO] [stdout] | ^^^^ help: `futures::Future` has the following associated type: `Output` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0220]: associated type `Item` not found for `futures::Future` [INFO] [stdout] --> part2/chapter_4/tests/app.rs:25:32 [INFO] [stdout] | [INFO] [stdout] 25 | fn async_test() -> impl Future { [INFO] [stdout] | ^^^^ help: `futures::Future` has the following associated type: `Output` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0220]: associated type `Item` not found for `futures::Future` [INFO] [stdout] --> part1/chapter_1/tests/app.rs:25:32 [INFO] [stdout] | [INFO] [stdout] 25 | fn async_test() -> impl Future { [INFO] [stdout] | ^^^^ help: `futures::Future` has the following associated type: `Output` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0220]: associated type `Item` not found for `futures::Future` [INFO] [stdout] --> part2/chapter_5/tests/app.rs:25:32 [INFO] [stdout] | [INFO] [stdout] 25 | fn async_test() -> impl Future { [INFO] [stdout] | ^^^^ help: `futures::Future` has the following associated type: `Output` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0220]: associated type `Error` not found for `futures::Future` [INFO] [stdout] --> part2/chapter_5/tests/app.rs:25:43 [INFO] [stdout] | [INFO] [stdout] 25 | fn async_test() -> impl Future { [INFO] [stdout] | ^^^^^ help: `futures::Future` has the following associated type: `Output` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0220]: associated type `Error` not found for `futures::Future` [INFO] [stdout] --> part1/chapter_1/tests/app.rs:25:43 [INFO] [stdout] | [INFO] [stdout] 25 | fn async_test() -> impl Future { [INFO] [stdout] | ^^^^^ help: `futures::Future` has the following associated type: `Output` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0220]: associated type `Error` not found for `futures::Future` [INFO] [stdout] --> part1/chapter_2/tests/app.rs:25:43 [INFO] [stdout] | [INFO] [stdout] 25 | fn async_test() -> impl Future { [INFO] [stdout] | ^^^^^ help: `futures::Future` has the following associated type: `Output` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0220]: associated type `Error` not found for `futures::Future` [INFO] [stdout] --> part2/chapter_4/tests/app.rs:25:43 [INFO] [stdout] | [INFO] [stdout] 25 | fn async_test() -> impl Future { [INFO] [stdout] | ^^^^^ help: `futures::Future` has the following associated type: `Output` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::prelude::*` [INFO] [stdout] --> part1/chapter_2/src/lib.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use rand::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `web_sys::console` [INFO] [stdout] --> part1/chapter_2/src/lib.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use web_sys::console; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0220]: associated type `Item` not found for `futures::Future` [INFO] [stdout] --> part2/chapter_6/tests/app.rs:25:32 [INFO] [stdout] | [INFO] [stdout] 25 | fn async_test() -> impl Future { [INFO] [stdout] | ^^^^ help: `futures::Future` has the following associated type: `Output` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0220`. [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0220`. [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0220`. [INFO] [stdout] [INFO] [stdout] error[E0220]: associated type `Error` not found for `futures::Future` [INFO] [stdout] --> part2/chapter_6/tests/app.rs:25:43 [INFO] [stdout] | [INFO] [stdout] 25 | fn async_test() -> impl Future { [INFO] [stdout] | ^^^^^ help: `futures::Future` has the following associated type: `Output` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0220`. [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `log` [INFO] [stdout] --> part2/chapter_5/src/browser.rs:12:14 [INFO] [stdout] | [INFO] [stdout] 12 | macro_rules! log { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `log` [INFO] [stdout] --> part2/chapter_4/src/browser.rs:11:14 [INFO] [stdout] | [INFO] [stdout] 11 | macro_rules! log { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0220`. [INFO] [stdout] [INFO] [stderr] error: could not compile `chapter_2` (test "app") due to 3 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `chapter-1` (test "app") due to 3 previous errors [INFO] [stderr] error: could not compile `chapter_4` (test "app") due to 3 previous errors [INFO] [stderr] error: could not compile `chapter_5` (test "app") due to 3 previous errors [INFO] [stderr] error: could not compile `chapter_6` (test "app") due to 3 previous errors [INFO] [stdout] warning: unused macro definition: `log` [INFO] [stdout] --> part2/chapter_6/src/browser.rs:12:14 [INFO] [stdout] | [INFO] [stdout] 12 | macro_rules! log { [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `wasm_bindgen::JsValue::into_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead [INFO] [stdout] --> part1/chapter_2/src/lib.rs:50:14 [INFO] [stdout] | [INFO] [stdout] 50 | .into_serde() [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `wasm_bindgen::JsValue::into_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead [INFO] [stdout] --> part2/chapter_4/src/game.rs:43:26 [INFO] [stdout] | [INFO] [stdout] 43 | json.into_serde::()?, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part1/chapter_2/src/lib.rs:58:17 [INFO] [stdout] | [INFO] [stdout] 58 | success_tx.send(Ok(())); [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] 58 | let _ = success_tx.send(Ok(())); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part1/chapter_2/src/lib.rs:63:17 [INFO] [stdout] | [INFO] [stdout] 63 | error_tx.send(Err(err)); [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] 63 | let _ = error_tx.send(Err(err)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part1/chapter_2/src/lib.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | success_rx.await; [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] 70 | let _ = success_rx.await; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part1/chapter_2/src/lib.rs:79:13 [INFO] [stdout] | [INFO] [stdout] 79 | / context.draw_image_with_html_image_element_and_sw_and_sh_and_dx_and_dy_and_dw_and_dh( [INFO] [stdout] 80 | | &image, [INFO] [stdout] 81 | | sprite.frame.x.into(), [INFO] [stdout] 82 | | sprite.frame.y.into(), [INFO] [stdout] ... | [INFO] [stdout] 88 | | sprite.frame.h.into(), [INFO] [stdout] 89 | | ); [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] 79 | let _ = context.draw_image_with_html_image_element_and_sw_and_sh_and_dx_and_dy_and_dw_and_dh( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part1/chapter_2/src/lib.rs:91:9 [INFO] [stdout] | [INFO] [stdout] 91 | / window.set_interval_with_callback_and_timeout_and_arguments_0( [INFO] [stdout] 92 | | interval_callback.as_ref().unchecked_ref(), [INFO] [stdout] 93 | | 50, [INFO] [stdout] 94 | | ); [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] 91 | let _ = window.set_interval_with_callback_and_timeout_and_arguments_0( [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `wasm_bindgen::JsValue::into_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead [INFO] [stdout] --> part2/chapter_5/src/game.rs:655:68 [INFO] [stdout] | [INFO] [stdout] 655 | let sheet = browser::fetch_json("rhb.json").await?.into_serde()?; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `wasm_bindgen::JsValue::into_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead [INFO] [stdout] --> part2/chapter_5/src/game.rs:662:36 [INFO] [stdout] | [INFO] [stdout] 662 | platform_sheet.into_serde::()?, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `wasm_bindgen::JsValue::into_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead [INFO] [stdout] --> part2/chapter_6/src/game.rs:664:68 [INFO] [stdout] | [INFO] [stdout] 664 | let sheet = browser::fetch_json("rhb.json").await?.into_serde()?; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `wasm_bindgen::JsValue::into_serde`: causes dependency cycles, use `serde-wasm-bindgen` or `gloo_utils::format::JsValueSerdeExt` instead [INFO] [stdout] --> part2/chapter_6/src/game.rs:671:36 [INFO] [stdout] | [INFO] [stdout] 671 | platform_sheet.into_serde::()?, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIGH_PLATFORM` is never used [INFO] [stdout] --> part2/chapter_5/src/game.rs:648:7 [INFO] [stdout] | [INFO] [stdout] 648 | const HIGH_PLATFORM: i16 = 375; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part2/chapter_5/src/engine.rs:112:13 [INFO] [stdout] | [INFO] [stdout] 112 | success_tx.send(Ok(())); [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] 112 | let _ = success_tx.send(Ok(())); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part2/chapter_5/src/engine.rs:118:13 [INFO] [stdout] | [INFO] [stdout] 118 | error_tx.send(Err(anyhow!("Error Loading Image: {:#?}", err))); [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] 118 | let _ = error_tx.send(Err(anyhow!("Error Loading Image: {:#?}", err))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part2/chapter_5/src/engine.rs:175:13 [INFO] [stdout] | [INFO] [stdout] 175 | browser::request_animation_frame(f.borrow().as_ref().unwrap()); [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] 175 | let _ = browser::request_animation_frame(f.borrow().as_ref().unwrap()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part2/chapter_5/src/engine.rs:234:9 [INFO] [stdout] | [INFO] [stdout] 234 | / keydown_sender [INFO] [stdout] 235 | | .borrow_mut() [INFO] [stdout] 236 | | .start_send(KeyPress::KeyDown(keycode)); [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] 234 | let _ = keydown_sender [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part2/chapter_5/src/engine.rs:240:9 [INFO] [stdout] | [INFO] [stdout] 240 | / keyup_sender [INFO] [stdout] 241 | | .borrow_mut() [INFO] [stdout] 242 | | .start_send(KeyPress::KeyUp(keycode)); [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] 240 | let _ = keyup_sender [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `HIGH_PLATFORM` is never used [INFO] [stdout] --> part2/chapter_6/src/game.rs:657:7 [INFO] [stdout] | [INFO] [stdout] 657 | const HIGH_PLATFORM: i16 = 375; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `RedHatBoy` is more private than the item `WalkTheDog::Loaded::0` [INFO] [stdout] --> part2/chapter_4/src/game.rs:33:12 [INFO] [stdout] | [INFO] [stdout] 33 | Loaded(RedHatBoy), [INFO] [stdout] | ^^^^^^^^^ field `WalkTheDog::Loaded::0` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `RedHatBoy` is only usable at visibility `pub(self)` [INFO] [stdout] --> part2/chapter_4/src/game.rs:84:1 [INFO] [stdout] | [INFO] [stdout] 84 | struct RedHatBoy { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part2/chapter_6/src/engine.rs:112:13 [INFO] [stdout] | [INFO] [stdout] 112 | success_tx.send(Ok(())); [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] 112 | let _ = success_tx.send(Ok(())); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part2/chapter_6/src/engine.rs:118:13 [INFO] [stdout] | [INFO] [stdout] 118 | error_tx.send(Err(anyhow!("Error Loading Image: {:#?}", err))); [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] 118 | let _ = error_tx.send(Err(anyhow!("Error Loading Image: {:#?}", err))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `frames` is never read [INFO] [stdout] --> part2/chapter_4/src/lib.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 13 | struct Sheet { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 14 | frames: HashMap, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part2/chapter_6/src/engine.rs:175:13 [INFO] [stdout] | [INFO] [stdout] 175 | browser::request_animation_frame(f.borrow().as_ref().unwrap()); [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] 175 | let _ = browser::request_animation_frame(f.borrow().as_ref().unwrap()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `x`, `y`, `w`, and `h` are never read [INFO] [stdout] --> part2/chapter_4/src/lib.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 18 | struct Rect { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 19 | x: u16, [INFO] [stdout] | ^ [INFO] [stdout] 20 | y: u16, [INFO] [stdout] | ^ [INFO] [stdout] 21 | w: u16, [INFO] [stdout] | ^ [INFO] [stdout] 22 | h: u16, [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `frame` is never read [INFO] [stdout] --> part2/chapter_4/src/lib.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 25 | struct Cell { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 26 | frame: Rect, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part2/chapter_6/src/engine.rs:234:9 [INFO] [stdout] | [INFO] [stdout] 234 | / keydown_sender [INFO] [stdout] 235 | | .borrow_mut() [INFO] [stdout] 236 | | .start_send(KeyPress::KeyDown(keycode)); [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] 234 | let _ = keydown_sender [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part2/chapter_6/src/engine.rs:240:9 [INFO] [stdout] | [INFO] [stdout] 240 | / keyup_sender [INFO] [stdout] 241 | | .borrow_mut() [INFO] [stdout] 242 | | .start_send(KeyPress::KeyUp(keycode)); [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] 240 | let _ = keyup_sender [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part2/chapter_4/src/engine.rs:23:13 [INFO] [stdout] | [INFO] [stdout] 23 | success_tx.send(Ok(())); [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] 23 | let _ = success_tx.send(Ok(())); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part2/chapter_4/src/engine.rs:28:13 [INFO] [stdout] | [INFO] [stdout] 28 | error_tx.send(Err(anyhow!("Error Loading Image: {:#?}", err))); [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] 28 | let _ = error_tx.send(Err(anyhow!("Error Loading Image: {:#?}", err))); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part2/chapter_4/src/engine.rs:79:13 [INFO] [stdout] | [INFO] [stdout] 79 | browser::request_animation_frame(f.borrow().as_ref().unwrap()); [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] 79 | let _ = browser::request_animation_frame(f.borrow().as_ref().unwrap()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part2/chapter_4/src/engine.rs:137:9 [INFO] [stdout] | [INFO] [stdout] 137 | / keydown_sender [INFO] [stdout] 138 | | .borrow_mut() [INFO] [stdout] 139 | | .start_send(KeyPress::KeyDown(keycode)); [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] 137 | let _ = keydown_sender [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> part2/chapter_4/src/engine.rs:142:9 [INFO] [stdout] | [INFO] [stdout] 142 | / keyup_sender [INFO] [stdout] 143 | | .borrow_mut() [INFO] [stdout] 144 | | .start_send(KeyPress::KeyUp(keycode)); [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] 142 | let _ = keyup_sender [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 9 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 11 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 9 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "e829237ba4a9efdb4e4830a8ea9398c135916fba722dad0707f02dbdc8f80184", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e829237ba4a9efdb4e4830a8ea9398c135916fba722dad0707f02dbdc8f80184", kill_on_drop: false }` [INFO] [stdout] e829237ba4a9efdb4e4830a8ea9398c135916fba722dad0707f02dbdc8f80184