[INFO] cloning repository https://github.com/bloodfeast/rs_rpg
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/bloodfeast/rs_rpg" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbloodfeast%2Frs_rpg", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbloodfeast%2Frs_rpg'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 4ceae0cc4abdf500b190d0fd8efc2139d6a6cd3b
[INFO] checking bloodfeast/rs_rpg against master#f2c70877a7dbc51cd98e2d5d25209b24d4a586d5 for pr-150097
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbloodfeast%2Frs_rpg" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/bloodfeast/rs_rpg
[INFO] finished tweaking git repo https://github.com/bloodfeast/rs_rpg
[INFO] tweaked toml for git repo https://github.com/bloodfeast/rs_rpg written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/bloodfeast/rs_rpg on toolchain f2c70877a7dbc51cd98e2d5d25209b24d4a586d5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f2c70877a7dbc51cd98e2d5d25209b24d4a586d5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/bloodfeast/rs_rpg 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" "+f2c70877a7dbc51cd98e2d5d25209b24d4a586d5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: dependencies.common.name
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wayland-sys v0.31.2
[INFO] [stderr]   Downloaded wayland-cursor v0.31.3
[INFO] [stderr]   Downloaded wayland-client v0.31.3
[INFO] [stderr]   Downloaded wayland-scanner v0.31.2
[INFO] [stderr]   Downloaded imageproc v0.25.0
[INFO] [stderr]   Downloaded wide v0.7.24
[INFO] [stderr]   Downloaded wayland-backend v0.3.4
[INFO] [stderr]   Downloaded winit v0.30.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+f2c70877a7dbc51cd98e2d5d25209b24d4a586d5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f3020e21a598fd47c9d2b206767eb119a7ad77e2a75d3e185e8580bd288fffb0
[INFO] running `Command { std: "docker" "start" "-a" "f3020e21a598fd47c9d2b206767eb119a7ad77e2a75d3e185e8580bd288fffb0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f3020e21a598fd47c9d2b206767eb119a7ad77e2a75d3e185e8580bd288fffb0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f3020e21a598fd47c9d2b206767eb119a7ad77e2a75d3e185e8580bd288fffb0", kill_on_drop: false }`
[INFO] [stdout] f3020e21a598fd47c9d2b206767eb119a7ad77e2a75d3e185e8580bd288fffb0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+f2c70877a7dbc51cd98e2d5d25209b24d4a586d5" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 580cab8cbc593f1b8dd0d5a1de046e79231f5da4dbe40873b3bd939a36807e86
[INFO] running `Command { std: "docker" "start" "-a" "580cab8cbc593f1b8dd0d5a1de046e79231f5da4dbe40873b3bd939a36807e86", kill_on_drop: false }`
[INFO] [stderr] warning: unused manifest key: dependencies.common.name
[INFO] [stderr]    Compiling proc-macro2 v1.0.85
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]     Checking bitflags v2.5.0
[INFO] [stderr]     Checking libloading v0.8.3
[INFO] [stderr]    Compiling rustix v0.38.34
[INFO] [stderr]     Checking linux-raw-sys v0.4.14
[INFO] [stderr]     Checking bytemuck v1.16.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling wayland-sys v0.31.2
[INFO] [stderr]     Checking arrayvec v0.7.4
[INFO] [stderr]    Compiling cc v1.0.99
[INFO] [stderr]     Checking memchr v2.7.2
[INFO] [stderr]    Compiling ahash v0.8.11
[INFO] [stderr]    Compiling quick-xml v0.31.0
[INFO] [stderr]    Compiling wayland-client v0.31.3
[INFO] [stderr]     Checking zerocopy v0.7.34
[INFO] [stderr]     Checking tracing-core v0.1.32
[INFO] [stderr]     Checking dlib v0.5.2
[INFO] [stderr]     Checking allocator-api2 v0.2.18
[INFO] [stderr]     Checking miniz_oxide v0.7.3
[INFO] [stderr]    Compiling built v0.7.3
[INFO] [stderr]     Checking aligned-vec v0.5.0
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]    Compiling ash v0.37.3+1.3.251
[INFO] [stderr]     Checking unicode-width v0.1.13
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking owned_ttf_parser v0.21.0
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]     Checking codespan-reporting v0.11.1
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking bit-set v0.5.3
[INFO] [stderr]     Checking safe_arch v0.7.1
[INFO] [stderr]    Compiling syn v2.0.66
[INFO] [stderr]    Compiling rav1e v0.7.1
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking aho-corasick v1.1.3
[INFO] [stderr]    Compiling simd_helpers v0.1.0
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]     Checking flate2 v1.0.30
[INFO] [stderr]     Checking gpu-descriptor-types v0.2.0
[INFO] [stderr]     Checking spirv v0.3.0+sdk-1.3.268.0
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking gpu-alloc-types v0.3.0
[INFO] [stderr]    Compiling wgpu-hal v0.20.0
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-bigint v0.4.5
[INFO] [stderr]    Compiling wayland-scanner v0.31.2
[INFO] [stderr]     Checking v_frame v0.3.8
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]    Compiling matrixmultiply v0.3.8
[INFO] [stderr]    Compiling smithay-client-toolkit v0.18.1
[INFO] [stderr]     Checking bitstream-io v2.3.0
[INFO] [stderr]     Checking xcursor v0.3.5
[INFO] [stderr]     Checking weezl v0.1.8
[INFO] [stderr]     Checking imgref v1.10.1
[INFO] [stderr]     Checking tiny-skia-path v0.11.4
[INFO] [stderr]     Checking flume v0.11.0
[INFO] [stderr]    Compiling wayland-backend v0.3.4
[INFO] [stderr]     Checking ab_glyph v0.2.26
[INFO] [stderr]     Checking indexmap v2.2.6
[INFO] [stderr]     Checking gpu-descriptor v0.3.0
[INFO] [stderr]     Checking loop9 v0.1.5
[INFO] [stderr]     Checking wide v0.7.24
[INFO] [stderr]     Checking gpu-alloc v0.6.0
[INFO] [stderr]     Checking approx v0.5.1
[INFO] [stderr]     Checking khronos-egl v6.0.0
[INFO] [stderr]     Checking rgb v0.8.37
[INFO] [stderr]     Checking avif-serialize v0.8.1
[INFO] [stderr]     Checking wgpu-types v0.20.0
[INFO] [stderr]    Compiling wgpu-core v0.20.0
[INFO] [stderr]     Checking zune-inflate v0.2.54
[INFO] [stderr]     Checking fdeflate v0.3.4
[INFO] [stderr]     Checking regex-automata v0.4.7
[INFO] [stderr]     Checking memmap2 v0.9.4
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]     Checking half v2.4.1
[INFO] [stderr]     Checking lebe v0.5.2
[INFO] [stderr]     Checking glow v0.13.1
[INFO] [stderr]     Checking rawpointer v0.2.1
[INFO] [stderr]     Checking jpeg-decoder v0.3.1
[INFO] [stderr]    Compiling winit v0.30.1
[INFO] [stderr]     Checking zune-jpeg v0.4.11
[INFO] [stderr]     Checking exr v1.72.0
[INFO] [stderr]     Checking png v0.17.13
[INFO] [stderr]    Compiling document-features v0.2.8
[INFO] [stderr]     Checking tiff v0.9.1
[INFO] [stderr]     Checking num-rational v0.4.2
[INFO] [stderr]     Checking gif v0.13.1
[INFO] [stderr]     Checking maybe-rayon v0.1.1
[INFO] [stderr]     Checking tiny-skia v0.11.4
[INFO] [stderr]     Checking num-iter v0.1.45
[INFO] [stderr]     Checking qoi v0.4.1
[INFO] [stderr]     Checking simba v0.8.1
[INFO] [stderr]    Compiling wgpu v0.20.0
[INFO] [stderr]     Checking rand_distr v0.4.3
[INFO] [stderr]     Checking av1-grain v0.2.3
[INFO] [stderr]     Checking num v0.4.3
[INFO] [stderr]     Checking xkbcommon-dl v0.4.2
[INFO] [stderr]     Checking crossbeam-queue v0.3.11
[INFO] [stderr]     Checking crossbeam-channel v0.5.13
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking pollster v0.3.0
[INFO] [stderr]     Checking regex v1.10.5
[INFO] [stderr]     Checking env_filter v0.1.0
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]     Checking env_logger v0.11.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.61
[INFO] [stderr]    Compiling profiling-procmacros v1.0.15
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling arg_enum_proc_macro v0.3.4
[INFO] [stderr]    Compiling tokio-macros v2.3.0
[INFO] [stderr]    Compiling serde_derive v1.0.203
[INFO] [stderr]     Checking profiling v1.0.15
[INFO] [stderr]     Checking tokio v1.38.0
[INFO] [stderr]     Checking polling v3.7.1
[INFO] [stderr]     Checking x11rb v0.13.1
[INFO] [stderr]     Checking thiserror v1.0.61
[INFO] [stderr]     Checking calloop v0.12.4
[INFO] [stderr]     Checking naga v0.20.0
[INFO] [stderr]     Checking image-webp v0.1.2
[INFO] [stderr]     Checking wayland-csd-frame v0.3.0
[INFO] [stderr]     Checking serde v1.0.203
[INFO] [stderr]     Checking wayland-protocols v0.31.2
[INFO] [stderr]     Checking wayland-cursor v0.31.3
[INFO] [stderr]     Checking calloop-wayland-source v0.2.0
[INFO] [stderr]     Checking nalgebra v0.32.6
[INFO] [stderr]     Checking ravif v0.11.5
[INFO] [stderr]     Checking image v0.25.1
[INFO] [stderr]     Checking wayland-protocols-wlr v0.2.0
[INFO] [stderr]     Checking wayland-protocols-plasma v0.2.0
[INFO] [stderr]     Checking imageproc v0.25.0
[INFO] [stderr]     Checking sctk-adwaita v0.9.0
[INFO] [stderr]     Checking common v0.1.0 (/opt/rustwide/workdir/src/common)
[INFO] [stdout] warning: field `size` is never read
[INFO] [stdout]   --> src/common/src/viewport.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct ViewportDesc {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     size: winit::dpi::PhysicalSize<u32>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ViewportDesc` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking rpg_scratch v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: enum `TextureError` is never used
[INFO] [stdout]  --> src/textures/cobble_stone.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum TextureError {
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CobbleStone` is never constructed
[INFO] [stdout]   --> src/textures/cobble_stone.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct CobbleStone {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LightDirection` is never used
[INFO] [stdout]   --> src/textures/cobble_stone.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum LightDirection {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_cobble_stone_texture_tile` is never used
[INFO] [stdout]   --> src/textures/cobble_stone.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn create_cobble_stone_texture_tile(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_cobble_stone_brick` is never used
[INFO] [stdout]   --> src/textures/cobble_stone.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn create_cobble_stone_brick(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_color_based_on_light_direction` is never used
[INFO] [stdout]  --> src/textures/utils.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn update_color_based_on_light_direction(light_direction: LightDirection, base_color: [u8;3], x_pos: usize, y_pos: usize) -> [u8;...
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `StatsEnum` is never used
[INFO] [stdout]  --> src/actors/models.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum StatsEnum {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ComputedAttributeEnum` is never used
[INFO] [stdout]   --> src/actors/models.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum ComputedAttributeEnum {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StatBlock` is never constructed
[INFO] [stdout]   --> src/actors/models.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct StatBlock {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `StatValues` is never used
[INFO] [stdout]   --> src/actors/models.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub trait StatValues {
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_stat`, and `set_stat` are never used
[INFO] [stdout]   --> src/actors/models.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl StatBlock {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 40 |     pub fn new(custom_stat_block: StatBlock) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn get_stat(&self, stat: StatsEnum) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn set_stat(&mut self, stat: StatsEnum, value: i32) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ComputedAttributes` is never constructed
[INFO] [stdout]   --> src/actors/models.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct ComputedAttributes {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_computed_attribute`, and `set_computed_attribute` are never used
[INFO] [stdout]    --> src/actors/models.rs:94:12
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl ComputedAttributes {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout]  94 |     pub fn new(stat_block: StatBlock) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn get_computed_attribute(&self, attribute: ComputedAttributeEnum) -> i32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn set_computed_attribute(&mut self, attribute: ComputedAttributeEnum, value: i32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ComputedAttributeValues` is never used
[INFO] [stdout]    --> src/actors/models.rs:141:11
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub trait ComputedAttributeValues {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlayerStats` is never constructed
[INFO] [stdout]  --> src/actors/player.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct PlayerStats {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `level_up`, `set_passive_base_stat_increase`, `get_mut_computed_attributes`, `get_stats`, and `get_mut_base_stats` are never used
[INFO] [stdout]   --> src/actors/player.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl PlayerStats {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 44 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn level_up(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn set_passive_base_stat_increase(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn get_mut_computed_attributes(&mut self) -> &mut ComputedAttributes {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn get_stats(&self) -> (u32, Arc<Mutex<StatBlock>>, Arc<Mutex<ComputedAttributes>>) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn get_mut_base_stats(&mut self) -> &mut StatBlock {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BaseNpcStats` is never constructed
[INFO] [stdout]  --> src/actors/base_npc.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct BaseNpcStats {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `increase_stat` are never used
[INFO] [stdout]   --> src/actors/base_npc.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl BaseNpcStats {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 43 |     pub fn new(level: u32, stats: Option<StatBlock>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn increase_stat(&mut self, stat: StatsEnum, value: i32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SacrificialDagger` is never constructed
[INFO] [stdout]  --> src/equipment/weapons/dagger/sacrificial_dagger.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct SacrificialDagger {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `new_with_modifiers` are never used
[INFO] [stdout]   --> src/equipment/weapons/dagger/sacrificial_dagger.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl SacrificialDagger {
[INFO] [stdout]    | ---------------------- associated functions in this implementation
[INFO] [stdout] 15 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn new_with_modifiers(stat_modifiers: StatBlock, attribute_modifiers: ComputedAttributes) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SacrificialRobes` is never constructed
[INFO] [stdout]  --> src/equipment/armor/torso/sacrificial_robes.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct SacrificialRobes {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `new_with_modifiers` are never used
[INFO] [stdout]   --> src/equipment/armor/torso/sacrificial_robes.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl SacrificialRobes {
[INFO] [stdout]    | --------------------- associated functions in this implementation
[INFO] [stdout] 14 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn new_with_modifiers(stat_modifiers: StatBlock, attribute_modifiers: ComputedAttributes) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WeaponType` is never used
[INFO] [stdout]  --> src/equipment/equipment_manager.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum WeaponType {
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `EquipmentSlot` is never used
[INFO] [stdout]   --> src/equipment/equipment_manager.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum EquipmentSlot {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Equipment` is never constructed
[INFO] [stdout]   --> src/equipment/equipment_manager.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Equipment {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Weapon` is never constructed
[INFO] [stdout]   --> src/equipment/equipment_manager.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct Weapon {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EquipmentManager` is never constructed
[INFO] [stdout]   --> src/equipment/equipment_manager.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub struct EquipmentManager {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `equip`, `unequip`, and `get_equipment` are never used
[INFO] [stdout]   --> src/equipment/equipment_manager.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl EquipmentManager {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 57 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn equip(&mut self, equipment: Equipment) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn unequip(&mut self, slot: EquipmentSlot) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn get_equipment(&self, slot: EquipmentSlot) -> Option<&Equipment> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StoryOption` is never constructed
[INFO] [stdout]  --> src/story_tree/story_management.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct StoryOption {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StoryNode` is never constructed
[INFO] [stdout]   --> src/story_tree/story_management.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct StoryNode {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `set_previous_node_id`, and `set_next_node_id` are never used
[INFO] [stdout]   --> src/story_tree/story_management.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl StoryNode {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 23 |     pub fn new(id: u32, title: String, text: String, options: Vec<StoryOption>, is_end_node: bool, is_start_node: bool) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn set_previous_node_id(&mut self, previous_node_id: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn set_next_node_id(&mut self, next_node_id: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlayerStoryTree` is never constructed
[INFO] [stdout]   --> src/story_tree/story_management.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct PlayerStoryTree {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_story_node`, `get_last_story_node`, `get_story_node`, `add_past_node_choice`, and `get_past_node_choice` are never used
[INFO] [stdout]   --> src/story_tree/story_management.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 64 | impl PlayerStoryTree {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 65 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     fn add_story_node(&mut self, story_node: StoryNode) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn get_last_story_node(&self) -> Option<&StoryNode> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub fn get_story_node(&self, node_id: u32) -> Option<&StoryNode> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn add_past_node_choice(&mut self, node: StoryNode, option: StoryOption) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn get_past_node_choice(&self, node_id: u32) -> Option<&StoryOption> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlayerState` is never constructed
[INFO] [stdout]  --> src/state_management/player_state.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct PlayerState {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_experience_to_next_level` is never used
[INFO] [stdout]   --> src/state_management/player_state.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn calculate_experience_to_next_level(level: u32) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `level_up`, and `gain_experience` are never used
[INFO] [stdout]   --> src/state_management/player_state.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl PlayerState {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 25 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn level_up(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn gain_experience(&mut self, experience: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TextureError` is never used
[INFO] [stdout]  --> src/textures/cobble_stone.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum TextureError {
[INFO] [stdout]   |          ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CobbleStone` is never constructed
[INFO] [stdout]   --> src/textures/cobble_stone.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct CobbleStone {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LightDirection` is never used
[INFO] [stdout]   --> src/textures/cobble_stone.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum LightDirection {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_cobble_stone_texture_tile` is never used
[INFO] [stdout]   --> src/textures/cobble_stone.rs:29:4
[INFO] [stdout]    |
[INFO] [stdout] 29 | fn create_cobble_stone_texture_tile(
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_cobble_stone_brick` is never used
[INFO] [stdout]   --> src/textures/cobble_stone.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn create_cobble_stone_brick(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `update_color_based_on_light_direction` is never used
[INFO] [stdout]  --> src/textures/utils.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn update_color_based_on_light_direction(light_direction: LightDirection, base_color: [u8;3], x_pos: usize, y_pos: usize) -> [u8;...
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `StatsEnum` is never used
[INFO] [stdout]  --> src/actors/models.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum StatsEnum {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ComputedAttributeEnum` is never used
[INFO] [stdout]   --> src/actors/models.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum ComputedAttributeEnum {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StatBlock` is never constructed
[INFO] [stdout]   --> src/actors/models.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct StatBlock {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `StatValues` is never used
[INFO] [stdout]   --> src/actors/models.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub trait StatValues {
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_stat`, and `set_stat` are never used
[INFO] [stdout]   --> src/actors/models.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl StatBlock {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 40 |     pub fn new(custom_stat_block: StatBlock) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn get_stat(&self, stat: StatsEnum) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn set_stat(&mut self, stat: StatsEnum, value: i32) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ComputedAttributes` is never constructed
[INFO] [stdout]   --> src/actors/models.rs:84:12
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct ComputedAttributes {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_computed_attribute`, and `set_computed_attribute` are never used
[INFO] [stdout]    --> src/actors/models.rs:94:12
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl ComputedAttributes {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout]  94 |     pub fn new(stat_block: StatBlock) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn get_computed_attribute(&self, attribute: ComputedAttributeEnum) -> i32 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     pub fn set_computed_attribute(&mut self, attribute: ComputedAttributeEnum, value: i32) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ComputedAttributeValues` is never used
[INFO] [stdout]    --> src/actors/models.rs:141:11
[INFO] [stdout]     |
[INFO] [stdout] 141 | pub trait ComputedAttributeValues {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlayerStats` is never constructed
[INFO] [stdout]  --> src/actors/player.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct PlayerStats {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `level_up`, `set_passive_base_stat_increase`, `get_mut_computed_attributes`, `get_stats`, and `get_mut_base_stats` are never used
[INFO] [stdout]   --> src/actors/player.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | impl PlayerStats {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 44 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn level_up(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn set_passive_base_stat_increase(&mut self) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     pub fn get_mut_computed_attributes(&mut self) -> &mut ComputedAttributes {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn get_stats(&self) -> (u32, Arc<Mutex<StatBlock>>, Arc<Mutex<ComputedAttributes>>) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 79 |     pub fn get_mut_base_stats(&mut self) -> &mut StatBlock {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BaseNpcStats` is never constructed
[INFO] [stdout]  --> src/actors/base_npc.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct BaseNpcStats {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `increase_stat` are never used
[INFO] [stdout]   --> src/actors/base_npc.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl BaseNpcStats {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 43 |     pub fn new(level: u32, stats: Option<StatBlock>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     pub fn increase_stat(&mut self, stat: StatsEnum, value: i32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SacrificialDagger` is never constructed
[INFO] [stdout]  --> src/equipment/weapons/dagger/sacrificial_dagger.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct SacrificialDagger {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `new_with_modifiers` are never used
[INFO] [stdout]   --> src/equipment/weapons/dagger/sacrificial_dagger.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl SacrificialDagger {
[INFO] [stdout]    | ---------------------- associated functions in this implementation
[INFO] [stdout] 15 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 34 |     pub fn new_with_modifiers(stat_modifiers: StatBlock, attribute_modifiers: ComputedAttributes) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SacrificialRobes` is never constructed
[INFO] [stdout]  --> src/equipment/armor/torso/sacrificial_robes.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct SacrificialRobes {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `new_with_modifiers` are never used
[INFO] [stdout]   --> src/equipment/armor/torso/sacrificial_robes.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl SacrificialRobes {
[INFO] [stdout]    | --------------------- associated functions in this implementation
[INFO] [stdout] 14 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn new_with_modifiers(stat_modifiers: StatBlock, attribute_modifiers: ComputedAttributes) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WeaponType` is never used
[INFO] [stdout]  --> src/equipment/equipment_manager.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum WeaponType {
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `EquipmentSlot` is never used
[INFO] [stdout]   --> src/equipment/equipment_manager.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum EquipmentSlot {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Equipment` is never constructed
[INFO] [stdout]   --> src/equipment/equipment_manager.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct Equipment {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Weapon` is never constructed
[INFO] [stdout]   --> src/equipment/equipment_manager.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct Weapon {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EquipmentManager` is never constructed
[INFO] [stdout]   --> src/equipment/equipment_manager.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub struct EquipmentManager {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `equip`, `unequip`, and `get_equipment` are never used
[INFO] [stdout]   --> src/equipment/equipment_manager.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl EquipmentManager {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 57 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 63 |     pub fn equip(&mut self, equipment: Equipment) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn unequip(&mut self, slot: EquipmentSlot) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn get_equipment(&self, slot: EquipmentSlot) -> Option<&Equipment> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StoryOption` is never constructed
[INFO] [stdout]  --> src/story_tree/story_management.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct StoryOption {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StoryNode` is never constructed
[INFO] [stdout]   --> src/story_tree/story_management.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct StoryNode {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `set_previous_node_id`, and `set_next_node_id` are never used
[INFO] [stdout]   --> src/story_tree/story_management.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl StoryNode {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout] 23 |     pub fn new(id: u32, title: String, text: String, options: Vec<StoryOption>, is_end_node: bool, is_start_node: bool) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn set_previous_node_id(&mut self, previous_node_id: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn set_next_node_id(&mut self, next_node_id: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlayerStoryTree` is never constructed
[INFO] [stdout]   --> src/story_tree/story_management.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct PlayerStoryTree {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_story_node`, `get_last_story_node`, `get_story_node`, `add_past_node_choice`, and `get_past_node_choice` are never used
[INFO] [stdout]   --> src/story_tree/story_management.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 64 | impl PlayerStoryTree {
[INFO] [stdout]    | -------------------- associated items in this implementation
[INFO] [stdout] 65 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     fn add_story_node(&mut self, story_node: StoryNode) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn get_last_story_node(&self) -> Option<&StoryNode> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub fn get_story_node(&self, node_id: u32) -> Option<&StoryNode> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub fn add_past_node_choice(&mut self, node: StoryNode, option: StoryOption) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn get_past_node_choice(&self, node_id: u32) -> Option<&StoryOption> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PlayerState` is never constructed
[INFO] [stdout]  --> src/state_management/player_state.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct PlayerState {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `calculate_experience_to_next_level` is never used
[INFO] [stdout]   --> src/state_management/player_state.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn calculate_experience_to_next_level(level: u32) -> u32 {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `level_up`, and `gain_experience` are never used
[INFO] [stdout]   --> src/state_management/player_state.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl PlayerState {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 25 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn level_up(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub fn gain_experience(&mut self, experience: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 01s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: document-features v0.2.8
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4`
[INFO] running `Command { std: "docker" "inspect" "580cab8cbc593f1b8dd0d5a1de046e79231f5da4dbe40873b3bd939a36807e86", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "580cab8cbc593f1b8dd0d5a1de046e79231f5da4dbe40873b3bd939a36807e86", kill_on_drop: false }`
[INFO] [stdout] 580cab8cbc593f1b8dd0d5a1de046e79231f5da4dbe40873b3bd939a36807e86
