[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 master#42b384ec0dfcd528d99a4db0a337d9188a9eecaa for pr-133502-16 [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 42b384ec0dfcd528d99a4db0a337d9188a9eecaa [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+42b384ec0dfcd528d99a4db0a337d9188a9eecaa" "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" "+42b384ec0dfcd528d99a4db0a337d9188a9eecaa" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: 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] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+42b384ec0dfcd528d99a4db0a337d9188a9eecaa" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 604ba795b5df27d70db65eb8bc88932658795b995132747031afed95a7675490 [INFO] running `Command { std: "docker" "start" "-a" "604ba795b5df27d70db65eb8bc88932658795b995132747031afed95a7675490", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "604ba795b5df27d70db65eb8bc88932658795b995132747031afed95a7675490", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "604ba795b5df27d70db65eb8bc88932658795b995132747031afed95a7675490", kill_on_drop: false }` [INFO] [stdout] 604ba795b5df27d70db65eb8bc88932658795b995132747031afed95a7675490 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+42b384ec0dfcd528d99a4db0a337d9188a9eecaa" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] b6447d202e77e3e5c1df49ec7b3b2cd2d1e6a63af853b0447eb70dfe2b46d0b1 [INFO] running `Command { std: "docker" "start" "-a" "b6447d202e77e3e5c1df49ec7b3b2cd2d1e6a63af853b0447eb70dfe2b46d0b1", kill_on_drop: false }` [INFO] [stderr] warning: 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] 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) {} [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) {} [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) {} [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) {} [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, rhs: Pointer) -> 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, rhs: Pointer) -> 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, rhs: Pointer) -> 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 [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 174 | _value: i32, modifier: Pointer [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `NUM_GRABBABLE_ITEMS` [INFO] [stdout] | [INFO] [stdout] 174 - value: i32, modifier: Pointer [INFO] [stdout] 174 + types::NUM_GRABBABLE_ITEMS: i32, modifier: Pointer [INFO] [stdout] | [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 [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) -> 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) -> 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, 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, 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, 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, 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(&mut self, address: u64, object: Box) -> 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 Pointer { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn write(&self, memory: &mut Memory, object: Box) -> 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 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | fn reset_item(&mut self, memory: &mut Memory, this: Pointer) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | fn reset_item_and_pointers(&mut self, memory: &mut Memory, this: Pointer) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | fn update_inventory_info(&self, memory: &Memory, this: Pointer) {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 113 | [INFO] [stdout] 114 | fn update_list_heads(&mut self, memory: &mut Memory, this: Pointer) {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 115 | [INFO] [stdout] 116 | fn update_after_adding_item(&mut self, memory: &mut Memory, this: Pointer) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | fn sort_predicate(memory: &Memory, lhs: Pointer, rhs: Pointer) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | fn traverse_list1(&self, memory: &Memory, this: Pointer) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 155 | fn traverse_list2(&self, memory: &Memory, this: Pointer) { [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, item: Pointer) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | pub fn drop(&mut self, memory: &mut Memory, this: Pointer, item: Pointer) { [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, item: Pointer) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 293 | pub fn unequip(&mut self, memory: &mut Memory, this: Pointer, item: Pointer) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 302 | pub fn pause(&self, memory: &Memory, this: Pointer) { self.traverse_list1(memory, this); } [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | pub fn sync(&mut self, memory: &mut Memory, this: Pointer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 310 | pub fn save(&self, memory: &Memory, this: Pointer) -> GameData { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 315 | pub fn load(&mut self, memory: &mut Memory, this: Pointer, file: GameData) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 320 | pub fn offset(&mut self, memory: &mut Memory, this: Pointer, 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 FixedSafeString { [INFO] [stdout] | --------------------------------------- methods in this implementation [INFO] [stdout] 134 | pub fn assure_termination_impl(&mut self, memory: &mut Memory, this: Pointer) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | pub fn is_equal(&mut self, memory: &mut Memory, this: Pointer, other: Self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 158 | pub fn is_equal_str(&mut self, memory: &mut Memory, this: Pointer, 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 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 OffsetList { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] 471 | fn obj_to_list_node(&self, obj: Pointer) -> Pointer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 475 | fn list_node_to_obj(&self, node: Pointer) -> Pointer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 479 | fn list_node_to_obj_with_null_check(&self, node: Pointer) -> Pointer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 483 | pub fn erase(&mut self, memory: &mut Memory, this: Pointer, item: Pointer) where [ [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 513 | pub fn prev(&self, memory: &Memory, this: Pointer, obj: Pointer) -> Pointer { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 519 | pub fn next(&self, memory: &Memory, this: Pointer, obj: Pointer) -> Pointer { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 525 | pub fn nth(&self, memory: &Memory, n: i32) -> Pointer { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 532 | pub fn sort(&mut self, memory: &mut Memory, this: Pointer, 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 { [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; [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) {} [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) {} [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) {} [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) {} [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, rhs: Pointer) -> 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, rhs: Pointer) -> 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, rhs: Pointer) -> 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 [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is intentional, prefix it with an underscore [INFO] [stdout] | [INFO] [stdout] 174 | _value: i32, modifier: Pointer [INFO] [stdout] | + [INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `NUM_GRABBABLE_ITEMS` [INFO] [stdout] | [INFO] [stdout] 174 - value: i32, modifier: Pointer [INFO] [stdout] 174 + types::NUM_GRABBABLE_ITEMS: i32, modifier: Pointer [INFO] [stdout] | [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 [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) -> 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) -> 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, 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, 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, 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, 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(&mut self, address: u64, object: Box) -> 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 Pointer { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn write(&self, memory: &mut Memory, object: Box) -> 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 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | fn reset_item(&mut self, memory: &mut Memory, this: Pointer) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | fn reset_item_and_pointers(&mut self, memory: &mut Memory, this: Pointer) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | fn update_inventory_info(&self, memory: &Memory, this: Pointer) {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 113 | [INFO] [stdout] 114 | fn update_list_heads(&mut self, memory: &mut Memory, this: Pointer) {} [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 115 | [INFO] [stdout] 116 | fn update_after_adding_item(&mut self, memory: &mut Memory, this: Pointer) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 133 | fn sort_predicate(memory: &Memory, lhs: Pointer, rhs: Pointer) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | fn traverse_list1(&self, memory: &Memory, this: Pointer) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 155 | fn traverse_list2(&self, memory: &Memory, this: Pointer) { [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, item: Pointer) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | pub fn drop(&mut self, memory: &mut Memory, this: Pointer, item: Pointer) { [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, item: Pointer) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 293 | pub fn unequip(&mut self, memory: &mut Memory, this: Pointer, item: Pointer) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 302 | pub fn pause(&self, memory: &Memory, this: Pointer) { self.traverse_list1(memory, this); } [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 305 | pub fn sync(&mut self, memory: &mut Memory, this: Pointer) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 310 | pub fn save(&self, memory: &Memory, this: Pointer) -> GameData { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 315 | pub fn load(&mut self, memory: &mut Memory, this: Pointer, file: GameData) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 320 | pub fn offset(&mut self, memory: &mut Memory, this: Pointer, 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 FixedSafeString { [INFO] [stdout] | --------------------------------------- methods in this implementation [INFO] [stdout] 134 | pub fn assure_termination_impl(&mut self, memory: &mut Memory, this: Pointer) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 144 | pub fn is_equal(&mut self, memory: &mut Memory, this: Pointer, other: Self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 158 | pub fn is_equal_str(&mut self, memory: &mut Memory, this: Pointer, 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 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 OffsetList { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] 471 | fn obj_to_list_node(&self, obj: Pointer) -> Pointer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 475 | fn list_node_to_obj(&self, node: Pointer) -> Pointer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 479 | fn list_node_to_obj_with_null_check(&self, node: Pointer) -> Pointer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 483 | pub fn erase(&mut self, memory: &mut Memory, this: Pointer, item: Pointer) where [ [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 513 | pub fn prev(&self, memory: &Memory, this: Pointer, obj: Pointer) -> Pointer { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 519 | pub fn next(&self, memory: &Memory, this: Pointer, obj: Pointer) -> Pointer { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 525 | pub fn nth(&self, memory: &Memory, n: i32) -> Pointer { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 532 | pub fn sort(&mut self, memory: &mut Memory, this: Pointer, 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 { [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; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.97s [INFO] running `Command { std: "docker" "inspect" "b6447d202e77e3e5c1df49ec7b3b2cd2d1e6a63af853b0447eb70dfe2b46d0b1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b6447d202e77e3e5c1df49ec7b3b2cd2d1e6a63af853b0447eb70dfe2b46d0b1", kill_on_drop: false }` [INFO] [stdout] b6447d202e77e3e5c1df49ec7b3b2cd2d1e6a63af853b0447eb70dfe2b46d0b1