[INFO] cloning repository https://github.com/surprisedpika/pmdm-sim-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/surprisedpika/pmdm-sim-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsurprisedpika%2Fpmdm-sim-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsurprisedpika%2Fpmdm-sim-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b0743805cfc39c8f0d5d54438fbef5c875138e5c
[INFO] checking surprisedpika/pmdm-sim-rust against dfbea5bc945a9d7ff017d3d4bfbd1af9295fe5b8 for pr-133502-26
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsurprisedpika%2Fpmdm-sim-rust" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/surprisedpika/pmdm-sim-rust
[INFO] finished tweaking git repo https://github.com/surprisedpika/pmdm-sim-rust
[INFO] tweaked toml for git repo https://github.com/surprisedpika/pmdm-sim-rust written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/surprisedpika/pmdm-sim-rust on toolchain dfbea5bc945a9d7ff017d3d4bfbd1af9295fe5b8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dfbea5bc945a9d7ff017d3d4bfbd1af9295fe5b8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/surprisedpika/pmdm-sim-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" "+dfbea5bc945a9d7ff017d3d4bfbd1af9295fe5b8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: the cargo feature `edition2024` has been stabilized in the 1.85 release and is no longer necessary to be listed in the manifest
[INFO] [stderr]   See https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-edition-field for more information about using this feature.
[INFO] [stderr] warning: `pmdm-sim-rust` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:1fa6594d87c8fa7b311925a7a77a16f539833322d9dfba4ce891f211db2f90b1" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 0bbca096d8d661a58cf7a24760e7e836e50e016e87ecde1477c845c5447505e5
[INFO] running `Command { std: "docker" "start" "0bbca096d8d661a58cf7a24760e7e836e50e016e87ecde1477c845c5447505e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0bbca096d8d661a58cf7a24760e7e836e50e016e87ecde1477c845c5447505e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0bbca096d8d661a58cf7a24760e7e836e50e016e87ecde1477c845c5447505e5" "/opt/rustwide/cargo-home/bin/cargo" "+dfbea5bc945a9d7ff017d3d4bfbd1af9295fe5b8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0bbca096d8d661a58cf7a24760e7e836e50e016e87ecde1477c845c5447505e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0bbca096d8d661a58cf7a24760e7e836e50e016e87ecde1477c845c5447505e5" "/opt/rustwide/cargo-home/bin/cargo" "+dfbea5bc945a9d7ff017d3d4bfbd1af9295fe5b8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: the cargo feature `edition2024` has been stabilized in the 1.85 release and is no longer necessary to be listed in the manifest
[INFO] [stderr]   See https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-edition-field for more information about using this feature.
[INFO] [stderr] warning: `pmdm-sim-rust` (manifest) generated 1 warning
[INFO] [stderr]    Compiling proc-macro2 v1.0.86
[INFO] [stderr]    Compiling serde v1.0.203
[INFO] [stderr]    Compiling serde_json v1.0.117
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling syn v2.0.68
[INFO] [stderr]    Compiling serde_derive v1.0.203
[INFO] [stderr]     Checking pmdm-sim-rust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the feature `offset_of_nested` has been stable since 1.82.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | #![feature(offset_of_nested)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `offset_of_nested` has been stable since 1.82.0 and no longer requires an attribute to enable
[INFO] [stdout]  --> src/main.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | #![feature(offset_of_nested)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `memory`
[INFO] [stdout]    --> src/pmdm.rs:112:37
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn update_inventory_info(&self, memory: &Memory, this: Pointer<Self>) {}
[INFO] [stdout]     |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `this`
[INFO] [stdout]    --> src/pmdm.rs:112:54
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn update_inventory_info(&self, memory: &Memory, this: Pointer<Self>) {}
[INFO] [stdout]     |                                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_this`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `memory`
[INFO] [stdout]    --> src/pmdm.rs:114:37
[INFO] [stdout]     |
[INFO] [stdout] 114 |     fn update_list_heads(&mut self, memory: &mut Memory, this: Pointer<Self>) {}
[INFO] [stdout]     |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `this`
[INFO] [stdout]    --> src/pmdm.rs:114:58
[INFO] [stdout]     |
[INFO] [stdout] 114 |     fn update_list_heads(&mut self, memory: &mut Memory, this: Pointer<Self>) {}
[INFO] [stdout]     |                                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_this`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `memory`
[INFO] [stdout]    --> src/pmdm.rs:133:23
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn sort_predicate(memory: &Memory, lhs: Pointer<PouchItem>, rhs: Pointer<PouchItem>) -> i32 {
[INFO] [stdout]     |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lhs`
[INFO] [stdout]    --> src/pmdm.rs:133:40
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn sort_predicate(memory: &Memory, lhs: Pointer<PouchItem>, rhs: Pointer<PouchItem>) -> i32 {
[INFO] [stdout]     |                                        ^^^ help: if this is intentional, prefix it with an underscore: `_lhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> src/pmdm.rs:133:65
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn sort_predicate(memory: &Memory, lhs: Pointer<PouchItem>, rhs: Pointer<PouchItem>) -> i32 {
[INFO] [stdout]     |                                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/pmdm.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |         value: i32, modifier: Pointer<WeaponModifierInfo>
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifier`
[INFO] [stdout]    --> src/pmdm.rs:174:21
[INFO] [stdout]     |
[INFO] [stdout] 174 |         value: i32, modifier: Pointer<WeaponModifierInfo>
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_modifier`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `memory`
[INFO] [stdout]    --> src/pmdm.rs:310:24
[INFO] [stdout]     |
[INFO] [stdout] 310 |     pub fn save(&self, memory: &Memory, this: Pointer<Self>) -> GameData {
[INFO] [stdout]     |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `this`
[INFO] [stdout]    --> src/pmdm.rs:310:41
[INFO] [stdout]     |
[INFO] [stdout] 310 |     pub fn save(&self, memory: &Memory, this: Pointer<Self>) -> GameData {
[INFO] [stdout]     |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_this`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file`
[INFO] [stdout]    --> src/pmdm.rs:315:70
[INFO] [stdout]     |
[INFO] [stdout] 315 |     pub fn load(&mut self, memory: &mut Memory, this: Pointer<Self>, file: GameData) {
[INFO] [stdout]     |                                                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `memory`
[INFO] [stdout]    --> src/types.rs:532:28
[INFO] [stdout]     |
[INFO] [stdout] 532 |     pub fn sort(&mut self, memory: &mut Memory, this: Pointer<Self>, cmp: fn(
[INFO] [stdout]     |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `this`
[INFO] [stdout]    --> src/types.rs:532:49
[INFO] [stdout]     |
[INFO] [stdout] 532 |     pub fn sort(&mut self, memory: &mut Memory, this: Pointer<Self>, cmp: fn(
[INFO] [stdout]     |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_this`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cmp`
[INFO] [stdout]    --> src/types.rs:532:70
[INFO] [stdout]     |
[INFO] [stdout] 532 |     pub fn sort(&mut self, memory: &mut Memory, this: Pointer<Self>, cmp: fn(
[INFO] [stdout]     |                                                                      ^^^ help: if this is intentional, prefix it with an underscore: `_cmp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let mut memory = Memory::init(pmdm_address, pmdm_data);
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut pmdm = pmdm_ptr.read(&memory).unwrap();
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `write` is never used
[INFO] [stdout]   --> src/mem.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Memory {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn write<T>(&mut self, address: u64, object: Box<T>) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `write`, `to_le`, and `NULLPTR` are never used
[INFO] [stdout]    --> src/mem.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl<T> Pointer<T> {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn write(&self, memory: &mut Memory, object: Box<T>) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn to_le(&self) -> Self { Self { address: self.address.to_le(), phantom: PhantomData } }
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub const NULLPTR: Self = Self { address: 0u64, phantom: PhantomData };
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MASTER_SWORD` is never used
[INFO] [stdout]  --> src/pmdm.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const MASTER_SWORD: &str = "Weapon_Sword_070";
[INFO] [stdout]   |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REPEATABLE_KEY_ITEMS` is never used
[INFO] [stdout]  --> src/pmdm.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const REPEATABLE_KEY_ITEMS: [&str; 10] = [
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/pmdm.rs:57:8
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl PauseMenuDataMgr {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout]  57 |     fn get_item_head(&self, memory: &Memory, category: PouchCategory) -> Pointer<PouchItem> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  64 |     fn reset_item(&mut self, memory: &mut Memory, this: Pointer<Self>) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     fn reset_item_and_pointers(&mut self, memory: &mut Memory, this: Pointer<Self>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     fn update_inventory_info(&self, memory: &Memory, this: Pointer<Self>) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 113 |
[INFO] [stdout] 114 |     fn update_list_heads(&mut self, memory: &mut Memory, this: Pointer<Self>) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 115 |
[INFO] [stdout] 116 |     fn update_after_adding_item(&mut self, memory: &mut Memory, this: Pointer<Self>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     fn sort_predicate(memory: &Memory, lhs: Pointer<PouchItem>, rhs: Pointer<PouchItem>) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     fn traverse_list1(&self, memory: &Memory, this: Pointer<Self>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     fn traverse_list2(&self, memory: &Memory, this: Pointer<Self>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn get(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     pub fn remove(&mut self, memory: &mut Memory, this: Pointer<Self>, item: Pointer<PouchItem>) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     pub fn drop(&mut self, memory: &mut Memory, this: Pointer<Self>, item: Pointer<PouchItem>) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |     pub fn set_value(
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     pub fn equip(&mut self, memory: &mut Memory, this: Pointer<Self>, item: Pointer<PouchItem>) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 293 |     pub fn unequip(&mut self, memory: &mut Memory, this: Pointer<Self>, item: Pointer<PouchItem>) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 302 |     pub fn pause(&self, memory: &Memory, this: Pointer<Self>) { self.traverse_list1(memory, this); }
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub fn sync(&mut self, memory: &mut Memory, this: Pointer<Self>) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     pub fn save(&self, memory: &Memory, this: Pointer<Self>) -> GameData {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 315 |     pub fn load(&mut self, memory: &mut Memory, this: Pointer<Self>, file: GameData) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 320 |     pub fn offset(&mut self, memory: &mut Memory, this: Pointer<Self>, num: u32) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Updatable` is never used
[INFO] [stdout]  --> src/traits.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait Updatable {
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Constructor` is never used
[INFO] [stdout]   --> src/traits.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub trait Constructor {
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/types.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum PouchItemType {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] 19 |     Sword,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 20 |     Bow,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 21 |     Arrow,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 22 |     Shield,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 23 |     ArmorHead,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 24 |     ArmorUpper,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 25 |     ArmorLower,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 26 |     Material,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 27 |     Food,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 28 |     KeyItem,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PouchItemType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/types.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub enum PouchCategory {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] 37 |     Sword,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 38 |     Bow,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 39 |     Shield,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 40 |     Armor,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 41 |     Material,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 42 |     Food,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 43 |     KeyItem,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PouchCategory` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/types.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub enum ItemUse {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 52 |     WeaponSmallSword,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 53 |     WeaponLargeSword,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 54 |     WeaponSpear,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 55 |     WeaponBow,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 56 |     WeaponShield,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 57 |     ArmorHead,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 58 |     ArmorLower,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 59 |     ArmorUpper,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 60 |     Item,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 61 |     ImportantItem,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 62 |     CureItem,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ItemUse` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WeaponModifier` is never used
[INFO] [stdout]   --> src/types.rs:70:10
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub enum WeaponModifier {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CookEffectId` is never used
[INFO] [stdout]   --> src/types.rs:88:10
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub enum CookEffectId {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `assure_termination_impl`, `is_equal`, `is_equal_str`, and `clear` are never used
[INFO] [stdout]    --> src/types.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 133 | impl<const L: usize> FixedSafeString<L> {
[INFO] [stdout]     | --------------------------------------- methods in this implementation
[INFO] [stdout] 134 |     pub fn assure_termination_impl(&mut self, memory: &mut Memory, this: Pointer<Self>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn is_equal(&mut self, memory: &mut Memory, this: Pointer<Self>, other: Self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn is_equal_str(&mut self, memory: &mut Memory, this: Pointer<Self>, other: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub fn clear(&mut self, memory: &mut Memory) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: union `ObjArrayNode` is never used
[INFO] [stdout]    --> src/types.rs:268:11
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub union ObjArrayNode<T> where T: Copy {
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/types.rs:471:8
[INFO] [stdout]     |
[INFO] [stdout] 470 | impl<T> OffsetList<T> {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] 471 |     fn obj_to_list_node(&self, obj: Pointer<T>) -> Pointer<ListNode> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 475 |     fn list_node_to_obj(&self, node: Pointer<ListNode>) -> Pointer<T> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 479 |     fn list_node_to_obj_with_null_check(&self, node: Pointer<ListNode>) -> Pointer<T> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 483 |     pub fn erase(&mut self, memory: &mut Memory, this: Pointer<Self>, item: Pointer<T>) where [
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 513 |     pub fn prev(&self, memory: &Memory, this: Pointer<Self>, obj: Pointer<T>) -> Pointer<T> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 519 |     pub fn next(&self, memory: &Memory, this: Pointer<Self>, obj: Pointer<T>) -> Pointer<T> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 525 |     pub fn nth(&self, memory: &Memory, n: i32) -> Pointer<T> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 532 |     pub fn sort(&mut self, memory: &mut Memory, this: Pointer<Self>, cmp: fn(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TypedBitFlag` is never constructed
[INFO] [stdout]    --> src/types.rs:573:12
[INFO] [stdout]     |
[INFO] [stdout] 573 | pub struct TypedBitFlag<Enum> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WeaponModifierInfo` is never constructed
[INFO] [stdout]    --> src/types.rs:581:12
[INFO] [stdout]     |
[INFO] [stdout] 581 | pub struct WeaponModifierInfo {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GameDataItem` is never constructed
[INFO] [stdout]    --> src/types.rs:589:12
[INFO] [stdout]     |
[INFO] [stdout] 589 | pub struct GameDataItem {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `GameData` is never used
[INFO] [stdout]    --> src/types.rs:596:10
[INFO] [stdout]     |
[INFO] [stdout] 596 | pub type GameData = Vec<GameDataItem>;
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `memory`
[INFO] [stdout]    --> src/pmdm.rs:112:37
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn update_inventory_info(&self, memory: &Memory, this: Pointer<Self>) {}
[INFO] [stdout]     |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `this`
[INFO] [stdout]    --> src/pmdm.rs:112:54
[INFO] [stdout]     |
[INFO] [stdout] 112 |     fn update_inventory_info(&self, memory: &Memory, this: Pointer<Self>) {}
[INFO] [stdout]     |                                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_this`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `memory`
[INFO] [stdout]    --> src/pmdm.rs:114:37
[INFO] [stdout]     |
[INFO] [stdout] 114 |     fn update_list_heads(&mut self, memory: &mut Memory, this: Pointer<Self>) {}
[INFO] [stdout]     |                                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `this`
[INFO] [stdout]    --> src/pmdm.rs:114:58
[INFO] [stdout]     |
[INFO] [stdout] 114 |     fn update_list_heads(&mut self, memory: &mut Memory, this: Pointer<Self>) {}
[INFO] [stdout]     |                                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_this`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `memory`
[INFO] [stdout]    --> src/pmdm.rs:133:23
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn sort_predicate(memory: &Memory, lhs: Pointer<PouchItem>, rhs: Pointer<PouchItem>) -> i32 {
[INFO] [stdout]     |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lhs`
[INFO] [stdout]    --> src/pmdm.rs:133:40
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn sort_predicate(memory: &Memory, lhs: Pointer<PouchItem>, rhs: Pointer<PouchItem>) -> i32 {
[INFO] [stdout]     |                                        ^^^ help: if this is intentional, prefix it with an underscore: `_lhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> src/pmdm.rs:133:65
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn sort_predicate(memory: &Memory, lhs: Pointer<PouchItem>, rhs: Pointer<PouchItem>) -> i32 {
[INFO] [stdout]     |                                                                 ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/pmdm.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 174 |         value: i32, modifier: Pointer<WeaponModifierInfo>
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `modifier`
[INFO] [stdout]    --> src/pmdm.rs:174:21
[INFO] [stdout]     |
[INFO] [stdout] 174 |         value: i32, modifier: Pointer<WeaponModifierInfo>
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_modifier`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `memory`
[INFO] [stdout]    --> src/pmdm.rs:310:24
[INFO] [stdout]     |
[INFO] [stdout] 310 |     pub fn save(&self, memory: &Memory, this: Pointer<Self>) -> GameData {
[INFO] [stdout]     |                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `this`
[INFO] [stdout]    --> src/pmdm.rs:310:41
[INFO] [stdout]     |
[INFO] [stdout] 310 |     pub fn save(&self, memory: &Memory, this: Pointer<Self>) -> GameData {
[INFO] [stdout]     |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_this`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file`
[INFO] [stdout]    --> src/pmdm.rs:315:70
[INFO] [stdout]     |
[INFO] [stdout] 315 |     pub fn load(&mut self, memory: &mut Memory, this: Pointer<Self>, file: GameData) {
[INFO] [stdout]     |                                                                      ^^^^ help: if this is intentional, prefix it with an underscore: `_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `memory`
[INFO] [stdout]    --> src/types.rs:532:28
[INFO] [stdout]     |
[INFO] [stdout] 532 |     pub fn sort(&mut self, memory: &mut Memory, this: Pointer<Self>, cmp: fn(
[INFO] [stdout]     |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `this`
[INFO] [stdout]    --> src/types.rs:532:49
[INFO] [stdout]     |
[INFO] [stdout] 532 |     pub fn sort(&mut self, memory: &mut Memory, this: Pointer<Self>, cmp: fn(
[INFO] [stdout]     |                                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_this`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cmp`
[INFO] [stdout]    --> src/types.rs:532:70
[INFO] [stdout]     |
[INFO] [stdout] 532 |     pub fn sort(&mut self, memory: &mut Memory, this: Pointer<Self>, cmp: fn(
[INFO] [stdout]     |                                                                      ^^^ help: if this is intentional, prefix it with an underscore: `_cmp`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let mut memory = Memory::init(pmdm_address, pmdm_data);
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let mut pmdm = pmdm_ptr.read(&memory).unwrap();
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `write` is never used
[INFO] [stdout]   --> src/mem.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Memory {
[INFO] [stdout]    | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn write<T>(&mut self, address: u64, object: Box<T>) -> Result<(), String> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `write`, `to_le`, and `NULLPTR` are never used
[INFO] [stdout]    --> src/mem.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | impl<T> Pointer<T> {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub fn write(&self, memory: &mut Memory, object: Box<T>) -> Result<(), String> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn to_le(&self) -> Self { Self { address: self.address.to_le(), phantom: PhantomData } }
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub const NULLPTR: Self = Self { address: 0u64, phantom: PhantomData };
[INFO] [stdout]     |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MASTER_SWORD` is never used
[INFO] [stdout]  --> src/pmdm.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const MASTER_SWORD: &str = "Weapon_Sword_070";
[INFO] [stdout]   |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `REPEATABLE_KEY_ITEMS` is never used
[INFO] [stdout]  --> src/pmdm.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const REPEATABLE_KEY_ITEMS: [&str; 10] = [
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/pmdm.rs:57:8
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl PauseMenuDataMgr {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout]  57 |     fn get_item_head(&self, memory: &Memory, category: PouchCategory) -> Pointer<PouchItem> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  64 |     fn reset_item(&mut self, memory: &mut Memory, this: Pointer<Self>) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     fn reset_item_and_pointers(&mut self, memory: &mut Memory, this: Pointer<Self>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     fn update_inventory_info(&self, memory: &Memory, this: Pointer<Self>) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 113 |
[INFO] [stdout] 114 |     fn update_list_heads(&mut self, memory: &mut Memory, this: Pointer<Self>) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 115 |
[INFO] [stdout] 116 |     fn update_after_adding_item(&mut self, memory: &mut Memory, this: Pointer<Self>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     fn sort_predicate(memory: &Memory, lhs: Pointer<PouchItem>, rhs: Pointer<PouchItem>) -> i32 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     fn traverse_list1(&self, memory: &Memory, this: Pointer<Self>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     fn traverse_list2(&self, memory: &Memory, this: Pointer<Self>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn get(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     pub fn remove(&mut self, memory: &mut Memory, this: Pointer<Self>, item: Pointer<PouchItem>) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 266 |     pub fn drop(&mut self, memory: &mut Memory, this: Pointer<Self>, item: Pointer<PouchItem>) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |     pub fn set_value(
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     pub fn equip(&mut self, memory: &mut Memory, this: Pointer<Self>, item: Pointer<PouchItem>) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 293 |     pub fn unequip(&mut self, memory: &mut Memory, this: Pointer<Self>, item: Pointer<PouchItem>) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 302 |     pub fn pause(&self, memory: &Memory, this: Pointer<Self>) { self.traverse_list1(memory, this); }
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub fn sync(&mut self, memory: &mut Memory, this: Pointer<Self>) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     pub fn save(&self, memory: &Memory, this: Pointer<Self>) -> GameData {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 315 |     pub fn load(&mut self, memory: &mut Memory, this: Pointer<Self>, file: GameData) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 320 |     pub fn offset(&mut self, memory: &mut Memory, this: Pointer<Self>, num: u32) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Updatable` is never used
[INFO] [stdout]  --> src/traits.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait Updatable {
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Constructor` is never used
[INFO] [stdout]   --> src/traits.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub trait Constructor {
[INFO] [stdout]    |           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/types.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum PouchItemType {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] 19 |     Sword,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 20 |     Bow,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 21 |     Arrow,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 22 |     Shield,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 23 |     ArmorHead,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 24 |     ArmorUpper,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 25 |     ArmorLower,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 26 |     Material,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 27 |     Food,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 28 |     KeyItem,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PouchItemType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/types.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub enum PouchCategory {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] 37 |     Sword,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 38 |     Bow,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 39 |     Shield,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 40 |     Armor,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 41 |     Material,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 42 |     Food,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 43 |     KeyItem,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PouchCategory` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/types.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub enum ItemUse {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 52 |     WeaponSmallSword,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 53 |     WeaponLargeSword,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 54 |     WeaponSpear,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 55 |     WeaponBow,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 56 |     WeaponShield,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 57 |     ArmorHead,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 58 |     ArmorLower,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 59 |     ArmorUpper,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 60 |     Item,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 61 |     ImportantItem,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 62 |     CureItem,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ItemUse` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WeaponModifier` is never used
[INFO] [stdout]   --> src/types.rs:70:10
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub enum WeaponModifier {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CookEffectId` is never used
[INFO] [stdout]   --> src/types.rs:88:10
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub enum CookEffectId {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `assure_termination_impl`, `is_equal`, `is_equal_str`, and `clear` are never used
[INFO] [stdout]    --> src/types.rs:134:12
[INFO] [stdout]     |
[INFO] [stdout] 133 | impl<const L: usize> FixedSafeString<L> {
[INFO] [stdout]     | --------------------------------------- methods in this implementation
[INFO] [stdout] 134 |     pub fn assure_termination_impl(&mut self, memory: &mut Memory, this: Pointer<Self>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub fn is_equal(&mut self, memory: &mut Memory, this: Pointer<Self>, other: Self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn is_equal_str(&mut self, memory: &mut Memory, this: Pointer<Self>, other: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub fn clear(&mut self, memory: &mut Memory) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: union `ObjArrayNode` is never used
[INFO] [stdout]    --> src/types.rs:268:11
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub union ObjArrayNode<T> where T: Copy {
[INFO] [stdout]     |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/types.rs:471:8
[INFO] [stdout]     |
[INFO] [stdout] 470 | impl<T> OffsetList<T> {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] 471 |     fn obj_to_list_node(&self, obj: Pointer<T>) -> Pointer<ListNode> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 475 |     fn list_node_to_obj(&self, node: Pointer<ListNode>) -> Pointer<T> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 479 |     fn list_node_to_obj_with_null_check(&self, node: Pointer<ListNode>) -> Pointer<T> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 483 |     pub fn erase(&mut self, memory: &mut Memory, this: Pointer<Self>, item: Pointer<T>) where [
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 513 |     pub fn prev(&self, memory: &Memory, this: Pointer<Self>, obj: Pointer<T>) -> Pointer<T> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 519 |     pub fn next(&self, memory: &Memory, this: Pointer<Self>, obj: Pointer<T>) -> Pointer<T> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 525 |     pub fn nth(&self, memory: &Memory, n: i32) -> Pointer<T> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 532 |     pub fn sort(&mut self, memory: &mut Memory, this: Pointer<Self>, cmp: fn(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TypedBitFlag` is never constructed
[INFO] [stdout]    --> src/types.rs:573:12
[INFO] [stdout]     |
[INFO] [stdout] 573 | pub struct TypedBitFlag<Enum> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WeaponModifierInfo` is never constructed
[INFO] [stdout]    --> src/types.rs:581:12
[INFO] [stdout]     |
[INFO] [stdout] 581 | pub struct WeaponModifierInfo {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GameDataItem` is never constructed
[INFO] [stdout]    --> src/types.rs:589:12
[INFO] [stdout]     |
[INFO] [stdout] 589 | pub struct GameDataItem {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `GameData` is never used
[INFO] [stdout]    --> src/types.rs:596:10
[INFO] [stdout]     |
[INFO] [stdout] 596 | pub type GameData = Vec<GameDataItem>;
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.13s
[INFO] running `Command { std: "docker" "inspect" "0bbca096d8d661a58cf7a24760e7e836e50e016e87ecde1477c845c5447505e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0bbca096d8d661a58cf7a24760e7e836e50e016e87ecde1477c845c5447505e5", kill_on_drop: false }`
[INFO] [stdout] 0bbca096d8d661a58cf7a24760e7e836e50e016e87ecde1477c845c5447505e5
