[INFO] cloning repository https://github.com/peredwardsson/rpg_rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/peredwardsson/rpg_rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fperedwardsson%2Frpg_rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fperedwardsson%2Frpg_rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 78271818ff6ed06a7cee33ea0f43467f2952664d [INFO] checking peredwardsson/rpg_rust against master#385fa9d845dd326c6bbfd58c22244215e431948a for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fperedwardsson%2Frpg_rust" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/peredwardsson/rpg_rust 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/peredwardsson/rpg_rust [INFO] finished tweaking git repo https://github.com/peredwardsson/rpg_rust [INFO] tweaked toml for git repo https://github.com/peredwardsson/rpg_rust written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/peredwardsson/rpg_rust 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] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded shrev v1.1.1 [INFO] [stderr] Downloaded shred-derive v0.6.2 [INFO] [stderr] Downloaded shred v0.10.2 [INFO] [stderr] Downloaded tynm v0.1.4 [INFO] [stderr] Downloaded tuple_utils v0.3.0 [INFO] [stderr] Downloaded specs-derive v0.4.1 [INFO] [stderr] Downloaded specs v0.16.1 [INFO] [stderr] Downloaded image v0.18.0 [INFO] [stderr] Downloaded noise v0.6.0 [INFO] [stderr] Downloaded sdl2-sys v0.34.2 [INFO] [stderr] Downloaded libc v0.2.74 [INFO] [stderr] Downloaded sdl2 v0.34.2 [INFO] [stderr] Downloaded hibitset v0.6.3 [INFO] [stderr] Downloaded ahash v0.3.8 [INFO] [stderr] Downloaded hashbrown v0.7.2 [INFO] [stderr] Downloaded hermit-abi v0.1.15 [INFO] [stderr] Downloaded syn v1.0.38 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 942ad3b56857b4d36d9dfe215c2b1a7bd524122448e097153164b2975f0b12cc [INFO] running `Command { std: "docker" "start" "-a" "942ad3b56857b4d36d9dfe215c2b1a7bd524122448e097153164b2975f0b12cc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "942ad3b56857b4d36d9dfe215c2b1a7bd524122448e097153164b2975f0b12cc", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "942ad3b56857b4d36d9dfe215c2b1a7bd524122448e097153164b2975f0b12cc", kill_on_drop: false }` [INFO] [stdout] 942ad3b56857b4d36d9dfe215c2b1a7bd524122448e097153164b2975f0b12cc [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] dc595e5c09a4334895a034be05f5eace95686a3dfa407f85329cbf1197e83986 [INFO] running `Command { std: "docker" "start" "-a" "dc595e5c09a4334895a034be05f5eace95686a3dfa407f85329cbf1197e83986", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.0.0 [INFO] [stderr] Compiling libc v0.2.74 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Compiling rayon-core v1.7.1 [INFO] [stderr] Compiling memchr v2.3.3 [INFO] [stderr] Compiling proc-macro2 v1.0.19 [INFO] [stderr] Compiling byteorder v1.3.4 [INFO] [stderr] Checking either v1.5.3 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling version_check v0.9.2 [INFO] [stderr] Compiling syn v1.0.38 [INFO] [stderr] Compiling version-compare v0.0.10 [INFO] [stderr] Compiling getrandom v0.1.14 [INFO] [stderr] Checking inflate v0.3.4 [INFO] [stderr] Checking ahash v0.3.8 [INFO] [stderr] Checking color_quant v1.0.1 [INFO] [stderr] Compiling log v0.4.11 [INFO] [stderr] Checking lzw v0.10.0 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Checking arrayvec v0.5.1 [INFO] [stderr] Compiling sdl2-sys v0.34.2 [INFO] [stderr] Compiling sdl2 v0.34.2 [INFO] [stderr] Checking gif v0.9.2 [INFO] [stderr] Checking ppv-lite86 v0.2.8 [INFO] [stderr] Checking atom v0.3.5 [INFO] [stderr] Checking smallvec v1.4.1 [INFO] [stderr] Checking mopa v0.2.2 [INFO] [stderr] Compiling crossbeam-utils v0.7.2 [INFO] [stderr] Compiling memoffset v0.5.5 [INFO] [stderr] Compiling crossbeam-epoch v0.8.2 [INFO] [stderr] Compiling num-traits v0.2.12 [INFO] [stderr] Compiling rayon v1.3.1 [INFO] [stderr] Compiling num-integer v0.1.43 [INFO] [stderr] Compiling nom v5.1.2 [INFO] [stderr] Compiling num-iter v0.1.41 [INFO] [stderr] Compiling hashbrown v0.7.2 [INFO] [stderr] Checking aho-corasick v0.7.13 [INFO] [stderr] Checking shrev v1.1.1 [INFO] [stderr] Checking tuple_utils v0.3.0 [INFO] [stderr] Checking regex-syntax v0.6.18 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Checking deflate v0.7.20 [INFO] [stderr] Checking crossbeam-queue v0.2.3 [INFO] [stderr] Checking num_cpus v1.13.0 [INFO] [stderr] Checking rand v0.5.6 [INFO] [stderr] Checking crossbeam-deque v0.7.3 [INFO] [stderr] Checking num-traits v0.1.43 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking enum_primitive v0.1.1 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking num-rational v0.1.42 [INFO] [stderr] Checking png v0.11.0 [INFO] [stderr] Checking regex v1.3.9 [INFO] [stderr] Checking tynm v0.1.4 [INFO] [stderr] Checking jpeg-decoder v0.1.20 [INFO] [stderr] Checking hibitset v0.6.3 [INFO] [stderr] Compiling shred-derive v0.6.2 [INFO] [stderr] Compiling specs-derive v0.4.1 [INFO] [stderr] Checking image v0.18.0 [INFO] [stderr] Checking shred v0.10.2 [INFO] [stderr] Checking specs v0.16.1 [INFO] [stderr] Checking noise v0.6.0 [INFO] [stderr] Checking sdl-test v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: the item `Gamestate` is imported redundantly [INFO] [stdout] --> src/components/interactable_objects.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::components::*; [INFO] [stdout] | -------------------- the item `Gamestate` is already imported here [INFO] [stdout] 2 | use super::super::Gamestate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/components/interactable_objects.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::prelude::*` [INFO] [stdout] --> src/components/interactable_objects.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::io::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Read`, `fs::File` [INFO] [stdout] --> src/components.rs:4:46 [INFO] [stdout] | [INFO] [stdout] 4 | use std::{fmt::Debug, collections::VecDeque, fs::File, io::{self, Read}}; [INFO] [stdout] | ^^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, `Lines` [INFO] [stdout] --> src/components.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | use io::{Lines, BufRead, BufReader}; [INFO] [stdout] | ^^^^^ ^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regex::Regex` [INFO] [stdout] --> src/components.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use regex::Regex; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Dialogue_Single_item` should have an upper camel case name [INFO] [stdout] --> src/components.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Dialogue_Single_item { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DialogueSingleItem` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/components.rs:119:40 [INFO] [stdout] | [INFO] [stdout] 119 | InteractableType::Chest => (chest(&self)), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 119 - InteractableType::Chest => (chest(&self)), [INFO] [stdout] 119 + InteractableType::Chest => chest(&self), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/components.rs:120:41 [INFO] [stdout] | [INFO] [stdout] 120 | InteractableType::Pickup => (pickup(&self)), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 120 - InteractableType::Pickup => (pickup(&self)), [INFO] [stdout] 120 + InteractableType::Pickup => pickup(&self), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/components.rs:121:49 [INFO] [stdout] | [INFO] [stdout] 121 | InteractableType::DestroyedOnUse => (destroyed_on_use(&self)), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 121 - InteractableType::DestroyedOnUse => (destroyed_on_use(&self)), [INFO] [stdout] 121 + InteractableType::DestroyedOnUse => destroyed_on_use(&self), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/components.rs:122:44 [INFO] [stdout] | [INFO] [stdout] 122 | InteractableType::Character => ( [INFO] [stdout] | _____________________________________________^ [INFO] [stdout] 123 | | //character(&self) [INFO] [stdout] 124 | | Ok(()) [INFO] [stdout] | | ________________^______^ [INFO] [stdout] | ||________________| [INFO] [stdout] | | [INFO] [stdout] 125 | | ), [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 122 - InteractableType::Character => ( [INFO] [stdout] 123 - //character(&self) [INFO] [stdout] 124 - Ok(()) [INFO] [stdout] 122 + InteractableType::Character => Ok(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/components.rs:126:40 [INFO] [stdout] | [INFO] [stdout] 126 | InteractableType::Lever => (lever(&self)), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 126 - InteractableType::Lever => (lever(&self)), [INFO] [stdout] 126 + InteractableType::Lever => lever(&self), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Dialogue_Helper` should have an upper camel case name [INFO] [stdout] --> src/components.rs:263:12 [INFO] [stdout] | [INFO] [stdout] 263 | pub struct Dialogue_Helper { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DialogueHelper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Gamestate` is imported redundantly [INFO] [stdout] --> src/keyboard.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::components::*; [INFO] [stdout] | -------------------- the item `Gamestate` is already imported here [INFO] [stdout] ... [INFO] [stdout] 12 | use super::Gamestate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/physics.rs:36:45 [INFO] [stdout] | [INFO] [stdout] 36 | Direction::Right => (pos.0.offset(vel.speed, 0)), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 36 - Direction::Right => (pos.0.offset(vel.speed, 0)), [INFO] [stdout] 36 + Direction::Right => pos.0.offset(vel.speed, 0), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/physics.rs:37:44 [INFO] [stdout] | [INFO] [stdout] 37 | Direction::Left => (pos.0.offset(-vel.speed, 0)), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 37 - Direction::Left => (pos.0.offset(-vel.speed, 0)), [INFO] [stdout] 37 + Direction::Left => pos.0.offset(-vel.speed, 0), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/physics.rs:38:44 [INFO] [stdout] | [INFO] [stdout] 38 | Direction::Down => (pos.0.offset(0, vel.speed)), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 38 - Direction::Down => (pos.0.offset(0, vel.speed)), [INFO] [stdout] 38 + Direction::Down => pos.0.offset(0, vel.speed), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/physics.rs:39:42 [INFO] [stdout] | [INFO] [stdout] 39 | Direction::Up => (pos.0.offset(0,-vel.speed)), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 39 - Direction::Up => (pos.0.offset(0,-vel.speed)), [INFO] [stdout] 39 + Direction::Up => pos.0.offset(0,-vel.speed), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Gamestate` is imported redundantly [INFO] [stdout] --> src/components/interactable_objects.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::components::*; [INFO] [stdout] | -------------------- the item `Gamestate` is already imported here [INFO] [stdout] 2 | use super::super::Gamestate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/components/interactable_objects.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::prelude::*` [INFO] [stdout] --> src/components/interactable_objects.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::io::prelude::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Read`, `fs::File` [INFO] [stdout] --> src/components.rs:4:46 [INFO] [stdout] | [INFO] [stdout] 4 | use std::{fmt::Debug, collections::VecDeque, fs::File, io::{self, Read}}; [INFO] [stdout] | ^^^^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, `Lines` [INFO] [stdout] --> src/components.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | use io::{Lines, BufRead, BufReader}; [INFO] [stdout] | ^^^^^ ^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regex::Regex` [INFO] [stdout] --> src/components.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use regex::Regex; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Dialogue_Single_item` should have an upper camel case name [INFO] [stdout] --> src/components.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Dialogue_Single_item { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DialogueSingleItem` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/components.rs:119:40 [INFO] [stdout] | [INFO] [stdout] 119 | InteractableType::Chest => (chest(&self)), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 119 - InteractableType::Chest => (chest(&self)), [INFO] [stdout] 119 + InteractableType::Chest => chest(&self), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/components.rs:120:41 [INFO] [stdout] | [INFO] [stdout] 120 | InteractableType::Pickup => (pickup(&self)), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 120 - InteractableType::Pickup => (pickup(&self)), [INFO] [stdout] 120 + InteractableType::Pickup => pickup(&self), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/components.rs:121:49 [INFO] [stdout] | [INFO] [stdout] 121 | InteractableType::DestroyedOnUse => (destroyed_on_use(&self)), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 121 - InteractableType::DestroyedOnUse => (destroyed_on_use(&self)), [INFO] [stdout] 121 + InteractableType::DestroyedOnUse => destroyed_on_use(&self), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/components.rs:122:44 [INFO] [stdout] | [INFO] [stdout] 122 | InteractableType::Character => ( [INFO] [stdout] | _____________________________________________^ [INFO] [stdout] 123 | | //character(&self) [INFO] [stdout] 124 | | Ok(()) [INFO] [stdout] | | ________________^______^ [INFO] [stdout] | ||________________| [INFO] [stdout] | | [INFO] [stdout] 125 | | ), [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 122 - InteractableType::Character => ( [INFO] [stdout] 123 - //character(&self) [INFO] [stdout] 124 - Ok(()) [INFO] [stdout] 122 + InteractableType::Character => Ok(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/components.rs:126:40 [INFO] [stdout] | [INFO] [stdout] 126 | InteractableType::Lever => (lever(&self)), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 126 - InteractableType::Lever => (lever(&self)), [INFO] [stdout] 126 + InteractableType::Lever => lever(&self), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Dialogue_Helper` should have an upper camel case name [INFO] [stdout] --> src/components.rs:263:12 [INFO] [stdout] | [INFO] [stdout] 263 | pub struct Dialogue_Helper { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `DialogueHelper` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the item `Gamestate` is imported redundantly [INFO] [stdout] --> src/keyboard.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::components::*; [INFO] [stdout] | -------------------- the item `Gamestate` is already imported here [INFO] [stdout] ... [INFO] [stdout] 12 | use super::Gamestate; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/physics.rs:36:45 [INFO] [stdout] | [INFO] [stdout] 36 | Direction::Right => (pos.0.offset(vel.speed, 0)), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 36 - Direction::Right => (pos.0.offset(vel.speed, 0)), [INFO] [stdout] 36 + Direction::Right => pos.0.offset(vel.speed, 0), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/physics.rs:37:44 [INFO] [stdout] | [INFO] [stdout] 37 | Direction::Left => (pos.0.offset(-vel.speed, 0)), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 37 - Direction::Left => (pos.0.offset(-vel.speed, 0)), [INFO] [stdout] 37 + Direction::Left => pos.0.offset(-vel.speed, 0), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/physics.rs:38:44 [INFO] [stdout] | [INFO] [stdout] 38 | Direction::Down => (pos.0.offset(0, vel.speed)), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 38 - Direction::Down => (pos.0.offset(0, vel.speed)), [INFO] [stdout] 38 + Direction::Down => pos.0.offset(0, vel.speed), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around match arm expression [INFO] [stdout] --> src/physics.rs:39:42 [INFO] [stdout] | [INFO] [stdout] 39 | Direction::Up => (pos.0.offset(0,-vel.speed)), [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 39 - Direction::Up => (pos.0.offset(0,-vel.speed)), [INFO] [stdout] 39 + Direction::Up => pos.0.offset(0,-vel.speed), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `thegame` [INFO] [stdout] --> src/components/interactable_objects.rs:28:40 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn character (_obj: &Interactable, thegame: &mut Gamestate, dialogue: &mut Dialogue) -> std::io::Result<()> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thegame` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dialogue` [INFO] [stdout] --> src/components/interactable_objects.rs:28:65 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn character (_obj: &Interactable, thegame: &mut Gamestate, dialogue: &mut Dialogue) -> std::io::Result<()> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dialogue` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `thegame` [INFO] [stdout] --> src/components/interactable_objects.rs:28:40 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn character (_obj: &Interactable, thegame: &mut Gamestate, dialogue: &mut Dialogue) -> std::io::Result<()> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_thegame` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dialogue` [INFO] [stdout] --> src/components/interactable_objects.rs:28:65 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn character (_obj: &Interactable, thegame: &mut Gamestate, dialogue: &mut Dialogue) -> std::io::Result<()> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_dialogue` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `small_dialogue_sprite` [INFO] [stdout] --> src/main.rs:312:9 [INFO] [stdout] | [INFO] [stdout] 312 | let small_dialogue_sprite = Sprite { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_small_dialogue_sprite` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `medium_dialogue_sprite` [INFO] [stdout] --> src/main.rs:316:9 [INFO] [stdout] | [INFO] [stdout] 316 | let medium_dialogue_sprite = Sprite { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_medium_dialogue_sprite` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `large_dialogue_sprite` [INFO] [stdout] --> src/main.rs:320:9 [INFO] [stdout] | [INFO] [stdout] 320 | let large_dialogue_sprite = Sprite { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_large_dialogue_sprite` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `world` [INFO] [stdout] --> src/main.rs:310:22 [INFO] [stdout] | [INFO] [stdout] 310 | pub fn load_dialogue(world: &mut World) -> Result<(), String> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_world` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:366:9 [INFO] [stdout] | [INFO] [stdout] 366 | let mut dialogue_list: VecDeque = VecDeque::new(); [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:367:9 [INFO] [stdout] | [INFO] [stdout] 367 | let mut previous_dialogue_text = Dialogue_Helper{text: String::from(" "), width: 0, height: 0}; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Medium` and `Large` are never constructed [INFO] [stdout] --> src/components.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub enum Size3 { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] 15 | Small, [INFO] [stdout] 16 | Medium, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 17 | Large, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Size3` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `sprite` and `show` are never read [INFO] [stdout] --> src/components.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct Dialogue { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 30 | pub sprite: Sprite, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 31 | pub dialogue_file: String, [INFO] [stdout] 32 | pub show: bool, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Dialogue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `speaker_name` and `background_size` are never read [INFO] [stdout] --> src/components.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Dialogue_Single_item { [INFO] [stdout] | -------------------- fields in this struct [INFO] [stdout] 37 | pub speaker_name: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 38 | pub dialogue_text: String, [INFO] [stdout] 39 | pub background_size: Size3, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Dialogue_Single_item` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `character` is never used [INFO] [stdout] --> src/components/interactable_objects.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn character (_obj: &Interactable, thegame: &mut Gamestate, dialogue: &mut Dialogue) -> std::io::Result<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/components.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | / match (*self).interaction_type { [INFO] [stdout] 119 | | InteractableType::Chest => (chest(&self)), [INFO] [stdout] 120 | | InteractableType::Pickup => (pickup(&self)), [INFO] [stdout] 121 | | InteractableType::DestroyedOnUse => (destroyed_on_use(&self)), [INFO] [stdout] ... | [INFO] [stdout] 126 | | InteractableType::Lever => (lever(&self)), [INFO] [stdout] 127 | | }; [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] 118 | let _ = match (*self).interaction_type { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `small_dialogue_sprite` [INFO] [stdout] --> src/main.rs:312:9 [INFO] [stdout] | [INFO] [stdout] 312 | let small_dialogue_sprite = Sprite { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_small_dialogue_sprite` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `medium_dialogue_sprite` [INFO] [stdout] --> src/main.rs:316:9 [INFO] [stdout] | [INFO] [stdout] 316 | let medium_dialogue_sprite = Sprite { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_medium_dialogue_sprite` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 31 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `large_dialogue_sprite` [INFO] [stdout] --> src/main.rs:320:9 [INFO] [stdout] | [INFO] [stdout] 320 | let large_dialogue_sprite = Sprite { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_large_dialogue_sprite` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `world` [INFO] [stdout] --> src/main.rs:310:22 [INFO] [stdout] | [INFO] [stdout] 310 | pub fn load_dialogue(world: &mut World) -> Result<(), String> { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_world` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:366:9 [INFO] [stdout] | [INFO] [stdout] 366 | let mut dialogue_list: VecDeque = VecDeque::new(); [INFO] [stdout] | ----^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:367:9 [INFO] [stdout] | [INFO] [stdout] 367 | let mut previous_dialogue_text = Dialogue_Helper{text: String::from(" "), width: 0, height: 0}; [INFO] [stdout] | ----^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Medium` and `Large` are never constructed [INFO] [stdout] --> src/components.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub enum Size3 { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] 15 | Small, [INFO] [stdout] 16 | Medium, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 17 | Large, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Size3` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `sprite` and `show` are never read [INFO] [stdout] --> src/components.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub struct Dialogue { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 30 | pub sprite: Sprite, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 31 | pub dialogue_file: String, [INFO] [stdout] 32 | pub show: bool, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Dialogue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `speaker_name` and `background_size` are never read [INFO] [stdout] --> src/components.rs:37:9 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct Dialogue_Single_item { [INFO] [stdout] | -------------------- fields in this struct [INFO] [stdout] 37 | pub speaker_name: String, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 38 | pub dialogue_text: String, [INFO] [stdout] 39 | pub background_size: Size3, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Dialogue_Single_item` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `character` is never used [INFO] [stdout] --> src/components/interactable_objects.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | pub fn character (_obj: &Interactable, thegame: &mut Gamestate, dialogue: &mut Dialogue) -> std::io::Result<()> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/components.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | / match (*self).interaction_type { [INFO] [stdout] 119 | | InteractableType::Chest => (chest(&self)), [INFO] [stdout] 120 | | InteractableType::Pickup => (pickup(&self)), [INFO] [stdout] 121 | | InteractableType::DestroyedOnUse => (destroyed_on_use(&self)), [INFO] [stdout] ... | [INFO] [stdout] 126 | | InteractableType::Lever => (lever(&self)), [INFO] [stdout] 127 | | }; [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] 118 | let _ = match (*self).interaction_type { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 31 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.18s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v5.1.2 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2` [INFO] running `Command { std: "docker" "inspect" "dc595e5c09a4334895a034be05f5eace95686a3dfa407f85329cbf1197e83986", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dc595e5c09a4334895a034be05f5eace95686a3dfa407f85329cbf1197e83986", kill_on_drop: false }` [INFO] [stdout] dc595e5c09a4334895a034be05f5eace95686a3dfa407f85329cbf1197e83986