[INFO] cloning repository https://github.com/iloominate/Console_game [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/iloominate/Console_game" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Filoominate%2FConsole_game", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Filoominate%2FConsole_game'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 7e6d49255f93e871df9bb8fd8f349b83addbb128 [INFO] checking iloominate/Console_game against master#385fa9d845dd326c6bbfd58c22244215e431948a for never-type-fallback-to-never [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Filoominate%2FConsole_game" "/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/iloominate/Console_game on toolchain 385fa9d845dd326c6bbfd58c22244215e431948a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/iloominate/Console_game [INFO] finished tweaking git repo https://github.com/iloominate/Console_game [INFO] tweaked toml for git repo https://github.com/iloominate/Console_game written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/iloominate/Console_game 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" "+385fa9d845dd326c6bbfd58c22244215e431948a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded symphonia-utils-xiph v0.5.3 [INFO] [stderr] Downloaded rusty_time v0.12.0 [INFO] [stderr] Downloaded symphonia-format-ogg v0.5.3 [INFO] [stderr] Downloaded symphonia-codec-pcm v0.5.3 [INFO] [stderr] Downloaded symphonia-bundle-flac v0.5.3 [INFO] [stderr] Downloaded symphonia-format-wav v0.5.3 [INFO] [stderr] Downloaded atomic-arena v0.1.1 [INFO] [stderr] Downloaded crossbeam-queue v0.3.10 [INFO] [stderr] Downloaded crossbeam v0.8.3 [INFO] [stderr] Downloaded winnow v0.5.30 [INFO] [stderr] Downloaded symphonia-codec-vorbis v0.5.3 [INFO] [stderr] Downloaded kira v0.8.5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f5fb9f471f3cf039a3f8ee9a02a18733f27327cb1fc234e21fccb870dcdfe472 [INFO] running `Command { std: "docker" "start" "-a" "f5fb9f471f3cf039a3f8ee9a02a18733f27327cb1fc234e21fccb870dcdfe472", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f5fb9f471f3cf039a3f8ee9a02a18733f27327cb1fc234e21fccb870dcdfe472", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f5fb9f471f3cf039a3f8ee9a02a18733f27327cb1fc234e21fccb870dcdfe472", kill_on_drop: false }` [INFO] [stdout] f5fb9f471f3cf039a3f8ee9a02a18733f27327cb1fc234e21fccb870dcdfe472 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 81b458468a61c3384a74430f8e34af3fe9cdd92fc3e499c3eb19050b2e31a201 [INFO] running `Command { std: "docker" "start" "-a" "81b458468a61c3384a74430f8e34af3fe9cdd92fc3e499c3eb19050b2e31a201", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.151 [INFO] [stderr] Checking arrayvec v0.7.4 [INFO] [stderr] Checking bytemuck v1.14.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.18 [INFO] [stderr] Compiling pkg-config v0.3.28 [INFO] [stderr] Checking smallvec v1.11.2 [INFO] [stderr] Compiling signal-hook v0.3.17 [INFO] [stderr] Compiling cpal v0.15.2 [INFO] [stderr] Checking mint v0.5.9 [INFO] [stderr] Checking dasp_sample v0.11.0 [INFO] [stderr] Checking atomic-arena v0.1.1 [INFO] [stderr] Checking symphonia-core v0.5.3 [INFO] [stderr] Checking bitflags v2.4.1 [INFO] [stderr] Checking rusty_time v0.12.0 [INFO] [stderr] Checking glam v0.24.2 [INFO] [stderr] Compiling alsa-sys v0.3.1 [INFO] [stderr] Checking crossbeam-epoch v0.9.17 [INFO] [stderr] Checking crossbeam-channel v0.5.10 [INFO] [stderr] Checking ringbuf v0.3.3 [INFO] [stderr] Checking crossbeam-queue v0.3.10 [INFO] [stderr] Checking crossbeam-deque v0.8.4 [INFO] [stderr] Checking crossbeam v0.8.3 [INFO] [stderr] Checking symphonia-metadata v0.5.3 [INFO] [stderr] Checking symphonia-codec-pcm v0.5.3 [INFO] [stderr] Checking parking_lot_core v0.9.9 [INFO] [stderr] Checking nix v0.24.3 [INFO] [stderr] Checking signal-hook-registry v1.4.1 [INFO] [stderr] Checking mio v0.8.10 [INFO] [stderr] Checking symphonia-utils-xiph v0.5.3 [INFO] [stderr] Checking symphonia-bundle-mp3 v0.5.3 [INFO] [stderr] Checking symphonia-format-ogg v0.5.3 [INFO] [stderr] Checking symphonia-codec-vorbis v0.5.3 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Checking alsa v0.7.1 [INFO] [stderr] Checking symphonia-bundle-flac v0.5.3 [INFO] [stderr] Checking symphonia-format-wav v0.5.3 [INFO] [stderr] Checking signal-hook-mio v0.2.3 [INFO] [stderr] Checking crossterm v0.27.0 [INFO] [stderr] Checking symphonia v0.5.3 [INFO] [stderr] Checking kira v0.8.5 [INFO] [stderr] Checking invaders v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Receiver`, `self` [INFO] [stdout] --> src/main.rs:16:18 [INFO] [stdout] | [INFO] [stdout] 16 | sync::mpsc::{self, Receiver}, [INFO] [stdout] | ^^^^ ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Frame` [INFO] [stdout] --> src/main.rs:23:33 [INFO] [stdout] | [INFO] [stdout] 23 | use invaders::frame::{Drawable, Frame, new_frame}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Receiver`, `self` [INFO] [stdout] --> src/main.rs:16:18 [INFO] [stdout] | [INFO] [stdout] 16 | sync::mpsc::{self, Receiver}, [INFO] [stdout] | ^^^^ ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Frame` [INFO] [stdout] --> src/main.rs:23:33 [INFO] [stdout] | [INFO] [stdout] 23 | use invaders::frame::{Drawable, Frame, new_frame}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sound_data` [INFO] [stdout] --> src/main.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | let sound_data = StaticSoundData::from_file("sounds/shoot.mp3", StaticSoundSettings::default())?; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sound_data` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sound_data` [INFO] [stdout] --> src/main.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | let sound_data = StaticSoundData::from_file("sounds/shoot.mp3", StaticSoundSettings::default())?; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sound_data` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | manager.play(audios.get("startup").unwrap().clone()); [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] 44 | let _ = manager.play(audios.get("startup").unwrap().clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | stdout.execute(Hide); [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] 51 | let _ = stdout.execute(Hide); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:93:29 [INFO] [stdout] | [INFO] [stdout] 93 | ... manager.play(audios.get("shoot").unwrap().clone()); [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] 93 | let _ = manager.play(audios.get("shoot").unwrap().clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:97:25 [INFO] [stdout] | [INFO] [stdout] 97 | manager.play(audios.get("lose").unwrap().clone()); [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] 97 | let _ = manager.play(audios.get("lose").unwrap().clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:108:13 [INFO] [stdout] | [INFO] [stdout] 108 | manager.play(audios.get("move").unwrap().clone()); [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] 108 | let _ = manager.play(audios.get("move").unwrap().clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:112:13 [INFO] [stdout] | [INFO] [stdout] 112 | manager.play(audios.get("explode").unwrap().clone()); [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] 112 | let _ = manager.play(audios.get("explode").unwrap().clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:127:13 [INFO] [stdout] | [INFO] [stdout] 127 | manager.play(audios.get("win").unwrap().clone()); [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] 127 | let _ = manager.play(audios.get("win").unwrap().clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:133:13 [INFO] [stdout] | [INFO] [stdout] 133 | manager.play(audios.get("lose").unwrap().clone()); [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] 133 | let _ = manager.play(audios.get("lose").unwrap().clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | manager.play(audios.get("startup").unwrap().clone()); [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] 44 | let _ = manager.play(audios.get("startup").unwrap().clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 11 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | stdout.execute(Hide); [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] 51 | let _ = stdout.execute(Hide); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:93:29 [INFO] [stdout] | [INFO] [stdout] 93 | ... manager.play(audios.get("shoot").unwrap().clone()); [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] 93 | let _ = manager.play(audios.get("shoot").unwrap().clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:97:25 [INFO] [stdout] | [INFO] [stdout] 97 | manager.play(audios.get("lose").unwrap().clone()); [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] 97 | let _ = manager.play(audios.get("lose").unwrap().clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:108:13 [INFO] [stdout] | [INFO] [stdout] 108 | manager.play(audios.get("move").unwrap().clone()); [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] 108 | let _ = manager.play(audios.get("move").unwrap().clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:112:13 [INFO] [stdout] | [INFO] [stdout] 112 | manager.play(audios.get("explode").unwrap().clone()); [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] 112 | let _ = manager.play(audios.get("explode").unwrap().clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:127:13 [INFO] [stdout] | [INFO] [stdout] 127 | manager.play(audios.get("win").unwrap().clone()); [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] 127 | let _ = manager.play(audios.get("win").unwrap().clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:133:13 [INFO] [stdout] | [INFO] [stdout] 133 | manager.play(audios.get("lose").unwrap().clone()); [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] 133 | let _ = manager.play(audios.get("lose").unwrap().clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.12s [INFO] [stdout] warning: 11 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "81b458468a61c3384a74430f8e34af3fe9cdd92fc3e499c3eb19050b2e31a201", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "81b458468a61c3384a74430f8e34af3fe9cdd92fc3e499c3eb19050b2e31a201", kill_on_drop: false }` [INFO] [stdout] 81b458468a61c3384a74430f8e34af3fe9cdd92fc3e499c3eb19050b2e31a201 [INFO] checking iloominate/Console_game against try#2d84f2737f3bd9ebfcb07f75aa198d6cf7c715d2 for never-type-fallback-to-never [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Filoominate%2FConsole_game" "/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/iloominate/Console_game on toolchain 2d84f2737f3bd9ebfcb07f75aa198d6cf7c715d2 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2d84f2737f3bd9ebfcb07f75aa198d6cf7c715d2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/iloominate/Console_game [INFO] finished tweaking git repo https://github.com/iloominate/Console_game [INFO] tweaked toml for git repo https://github.com/iloominate/Console_game written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/iloominate/Console_game 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" "+2d84f2737f3bd9ebfcb07f75aa198d6cf7c715d2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [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" "+2d84f2737f3bd9ebfcb07f75aa198d6cf7c715d2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e72a11d4163a17c3bf1d07a83a007bd0ac5ea0a24a7edca5e8534f39d99be68a [INFO] running `Command { std: "docker" "start" "-a" "e72a11d4163a17c3bf1d07a83a007bd0ac5ea0a24a7edca5e8534f39d99be68a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e72a11d4163a17c3bf1d07a83a007bd0ac5ea0a24a7edca5e8534f39d99be68a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e72a11d4163a17c3bf1d07a83a007bd0ac5ea0a24a7edca5e8534f39d99be68a", kill_on_drop: false }` [INFO] [stdout] e72a11d4163a17c3bf1d07a83a007bd0ac5ea0a24a7edca5e8534f39d99be68a [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" "+2d84f2737f3bd9ebfcb07f75aa198d6cf7c715d2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b6f74d19b38fb479532fef4d2a9d1a1bd32a869d26417c2f4760ae713a9d80b1 [INFO] running `Command { std: "docker" "start" "-a" "b6f74d19b38fb479532fef4d2a9d1a1bd32a869d26417c2f4760ae713a9d80b1", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.151 [INFO] [stderr] Checking bytemuck v1.14.0 [INFO] [stderr] Checking arrayvec v0.7.4 [INFO] [stderr] Compiling crossbeam-utils v0.8.18 [INFO] [stderr] Compiling pkg-config v0.3.28 [INFO] [stderr] Checking smallvec v1.11.2 [INFO] [stderr] Compiling signal-hook v0.3.17 [INFO] [stderr] Compiling cpal v0.15.2 [INFO] [stderr] Checking dasp_sample v0.11.0 [INFO] [stderr] Checking mint v0.5.9 [INFO] [stderr] Checking symphonia-core v0.5.3 [INFO] [stderr] Checking atomic-arena v0.1.1 [INFO] [stderr] Checking bitflags v2.4.1 [INFO] [stderr] Checking rusty_time v0.12.0 [INFO] [stderr] Compiling alsa-sys v0.3.1 [INFO] [stderr] Checking glam v0.24.2 [INFO] [stderr] Checking crossbeam-epoch v0.9.17 [INFO] [stderr] Checking ringbuf v0.3.3 [INFO] [stderr] Checking crossbeam-queue v0.3.10 [INFO] [stderr] Checking crossbeam-channel v0.5.10 [INFO] [stderr] Checking parking_lot_core v0.9.9 [INFO] [stderr] Checking nix v0.24.3 [INFO] [stderr] Checking signal-hook-registry v1.4.1 [INFO] [stderr] Checking mio v0.8.10 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Checking symphonia-metadata v0.5.3 [INFO] [stderr] Checking symphonia-codec-pcm v0.5.3 [INFO] [stderr] Checking crossbeam-deque v0.8.4 [INFO] [stderr] Checking alsa v0.7.1 [INFO] [stderr] Checking symphonia-utils-xiph v0.5.3 [INFO] [stderr] Checking symphonia-bundle-mp3 v0.5.3 [INFO] [stderr] Checking symphonia-format-wav v0.5.3 [INFO] [stderr] Checking signal-hook-mio v0.2.3 [INFO] [stderr] Checking symphonia-codec-vorbis v0.5.3 [INFO] [stderr] Checking symphonia-bundle-flac v0.5.3 [INFO] [stderr] Checking symphonia-format-ogg v0.5.3 [INFO] [stderr] Checking crossbeam v0.8.3 [INFO] [stderr] Checking crossterm v0.27.0 [INFO] [stderr] Checking symphonia v0.5.3 [INFO] [stderr] Checking kira v0.8.5 [INFO] [stderr] Checking invaders v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Receiver`, `self` [INFO] [stdout] --> src/main.rs:16:18 [INFO] [stdout] | [INFO] [stdout] 16 | sync::mpsc::{self, Receiver}, [INFO] [stdout] | ^^^^ ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Frame` [INFO] [stdout] --> src/main.rs:23:33 [INFO] [stdout] | [INFO] [stdout] 23 | use invaders::frame::{Drawable, Frame, new_frame}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Receiver`, `self` [INFO] [stdout] --> src/main.rs:16:18 [INFO] [stdout] | [INFO] [stdout] 16 | sync::mpsc::{self, Receiver}, [INFO] [stdout] | ^^^^ ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Frame` [INFO] [stdout] --> src/main.rs:23:33 [INFO] [stdout] | [INFO] [stdout] 23 | use invaders::frame::{Drawable, Frame, new_frame}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sound_data` [INFO] [stdout] --> src/main.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | let sound_data = StaticSoundData::from_file("sounds/shoot.mp3", StaticSoundSettings::default())?; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sound_data` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sound_data` [INFO] [stdout] --> src/main.rs:34:9 [INFO] [stdout] | [INFO] [stdout] 34 | let sound_data = StaticSoundData::from_file("sounds/shoot.mp3", StaticSoundSettings::default())?; [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sound_data` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | manager.play(audios.get("startup").unwrap().clone()); [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] 44 | let _ = manager.play(audios.get("startup").unwrap().clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | stdout.execute(Hide); [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] 51 | let _ = stdout.execute(Hide); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:93:29 [INFO] [stdout] | [INFO] [stdout] 93 | ... manager.play(audios.get("shoot").unwrap().clone()); [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] 93 | let _ = manager.play(audios.get("shoot").unwrap().clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:97:25 [INFO] [stdout] | [INFO] [stdout] 97 | manager.play(audios.get("lose").unwrap().clone()); [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] 97 | let _ = manager.play(audios.get("lose").unwrap().clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:108:13 [INFO] [stdout] | [INFO] [stdout] 108 | manager.play(audios.get("move").unwrap().clone()); [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] 108 | let _ = manager.play(audios.get("move").unwrap().clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:112:13 [INFO] [stdout] | [INFO] [stdout] 112 | manager.play(audios.get("explode").unwrap().clone()); [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] 112 | let _ = manager.play(audios.get("explode").unwrap().clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:127:13 [INFO] [stdout] | [INFO] [stdout] 127 | manager.play(audios.get("win").unwrap().clone()); [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] 127 | let _ = manager.play(audios.get("win").unwrap().clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:133:13 [INFO] [stdout] | [INFO] [stdout] 133 | manager.play(audios.get("lose").unwrap().clone()); [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] 133 | let _ = manager.play(audios.get("lose").unwrap().clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 44 | manager.play(audios.get("startup").unwrap().clone()); [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] 44 | let _ = manager.play(audios.get("startup").unwrap().clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 11 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:51:5 [INFO] [stdout] | [INFO] [stdout] 51 | stdout.execute(Hide); [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] 51 | let _ = stdout.execute(Hide); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:93:29 [INFO] [stdout] | [INFO] [stdout] 93 | ... manager.play(audios.get("shoot").unwrap().clone()); [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] 93 | let _ = manager.play(audios.get("shoot").unwrap().clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:97:25 [INFO] [stdout] | [INFO] [stdout] 97 | manager.play(audios.get("lose").unwrap().clone()); [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] 97 | let _ = manager.play(audios.get("lose").unwrap().clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:108:13 [INFO] [stdout] | [INFO] [stdout] 108 | manager.play(audios.get("move").unwrap().clone()); [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] 108 | let _ = manager.play(audios.get("move").unwrap().clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:112:13 [INFO] [stdout] | [INFO] [stdout] 112 | manager.play(audios.get("explode").unwrap().clone()); [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] 112 | let _ = manager.play(audios.get("explode").unwrap().clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:127:13 [INFO] [stdout] | [INFO] [stdout] 127 | manager.play(audios.get("win").unwrap().clone()); [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] 127 | let _ = manager.play(audios.get("win").unwrap().clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:133:13 [INFO] [stdout] | [INFO] [stdout] 133 | manager.play(audios.get("lose").unwrap().clone()); [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] 133 | let _ = manager.play(audios.get("lose").unwrap().clone()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 11 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.44s [INFO] running `Command { std: "docker" "inspect" "b6f74d19b38fb479532fef4d2a9d1a1bd32a869d26417c2f4760ae713a9d80b1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b6f74d19b38fb479532fef4d2a9d1a1bd32a869d26417c2f4760ae713a9d80b1", kill_on_drop: false }` [INFO] [stdout] b6f74d19b38fb479532fef4d2a9d1a1bd32a869d26417c2f4760ae713a9d80b1