[INFO] cloning repository https://github.com/TrialByTile/rs2sim [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/TrialByTile/rs2sim" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTrialByTile%2Frs2sim", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTrialByTile%2Frs2sim'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 747131f567cbffaf2e0a1ee55393e2f5bd06d3a7 [INFO] checking TrialByTile/rs2sim against try#04ea1e1f1a12cfa912c228ca278237d92d0bb6df for pr-148477-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTrialByTile%2Frs2sim" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/TrialByTile/rs2sim [INFO] finished tweaking git repo https://github.com/TrialByTile/rs2sim [INFO] tweaked toml for git repo https://github.com/TrialByTile/rs2sim written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/TrialByTile/rs2sim on toolchain 04ea1e1f1a12cfa912c228ca278237d92d0bb6df [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+04ea1e1f1a12cfa912c228ca278237d92d0bb6df" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/TrialByTile/rs2sim 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" "+04ea1e1f1a12cfa912c228ca278237d92d0bb6df" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [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-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+04ea1e1f1a12cfa912c228ca278237d92d0bb6df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a77e0d204bd3b6bfd1cd34560f7b66977e90adc989ae96bd250c0688eca6d47b [INFO] running `Command { std: "docker" "start" "-a" "a77e0d204bd3b6bfd1cd34560f7b66977e90adc989ae96bd250c0688eca6d47b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a77e0d204bd3b6bfd1cd34560f7b66977e90adc989ae96bd250c0688eca6d47b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a77e0d204bd3b6bfd1cd34560f7b66977e90adc989ae96bd250c0688eca6d47b", kill_on_drop: false }` [INFO] [stdout] a77e0d204bd3b6bfd1cd34560f7b66977e90adc989ae96bd250c0688eca6d47b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+04ea1e1f1a12cfa912c228ca278237d92d0bb6df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 804eb5188139ea996d24efe5d2b641c97567a268fa0f28a3d77c01966b7cb2fe [INFO] running `Command { std: "docker" "start" "-a" "804eb5188139ea996d24efe5d2b641c97567a268fa0f28a3d77c01966b7cb2fe", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.171 [INFO] [stderr] Compiling getrandom v0.3.2 [INFO] [stderr] Compiling zerocopy v0.8.24 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking rand v0.9.0 [INFO] [stderr] Checking rs2sim v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `rng` [INFO] [stdout] --> src/main.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | use rand::{rng, rngs::ThreadRng, Rng}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/main.rs:389:20 [INFO] [stdout] | [INFO] [stdout] 389 | max_hit *= (attacker.equipment_strength() + 64); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 389 - max_hit *= (attacker.equipment_strength() + 64); [INFO] [stdout] 389 + max_hit *= attacker.equipment_strength() + 64 ; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rng` [INFO] [stdout] --> src/main.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | use rand::{rng, rngs::ThreadRng, Rng}; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/main.rs:389:20 [INFO] [stdout] | [INFO] [stdout] 389 | max_hit *= (attacker.equipment_strength() + 64); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 389 - max_hit *= (attacker.equipment_strength() + 64); [INFO] [stdout] 389 + max_hit *= attacker.equipment_strength() + 64 ; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `elt` [INFO] [stdout] --> src/main.rs:126:42 [INFO] [stdout] | [INFO] [stdout] 126 | items: core::array::from_fn(|elt| None), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_elt` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> src/main.rs:234:19 [INFO] [stdout] | [INFO] [stdout] 234 | fn megarare_table(context: &GameContext, rng: &mut ThreadRng) -> Option { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> src/main.rs:839:42 [INFO] [stdout] | [INFO] [stdout] 839 | fn summarize_search(mob: &RollsGemtable, context: &GameContext, trial_ticks: Vec>) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `trial` [INFO] [stdout] --> src/main.rs:861:9 [INFO] [stdout] | [INFO] [stdout] 861 | for trial in 0..trials { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_trial` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `slots_needed` is never used [INFO] [stdout] --> src/main.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 10 | impl Item { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 18 | fn slots_needed(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `indices` is never read [INFO] [stdout] --> src/main.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 28 | struct Inventory { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 29 | pub items: [Option; 28], [INFO] [stdout] 30 | pub indices: HashMap [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Inventory` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Bank` is never constructed [INFO] [stdout] --> src/main.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | struct Bank { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `store` is never used [INFO] [stdout] --> src/main.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 38 | impl Bank { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] 39 | pub fn store(&mut self, item: &Item) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `index_of`, `first_available`, `can_loot`, `add_item`, `clear`, and `bank` are never used [INFO] [stdout] --> src/main.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 49 | impl Inventory { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn index_of(&self, item_name: &str) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn first_available(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn can_loot(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn add_item(&mut self, item: Item) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn bank(&mut self, bank: &mut Bank) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `x` and `y` are never read [INFO] [stdout] --> src/main.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 135 | struct PlayerCoords { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 136 | x: i32, // east/west [INFO] [stdout] | ^ [INFO] [stdout] 137 | y: i32, // vertical aka dungeons [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `PlayerCoords` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ultrarare_table` is never used [INFO] [stdout] --> src/main.rs:169:4 [INFO] [stdout] | [INFO] [stdout] 169 | fn ultrarare_table(context: &GameContext, rng: &mut ThreadRng) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Accurate`, `Controlled`, and `Defensive` are never constructed [INFO] [stdout] --> src/main.rs:339:5 [INFO] [stdout] | [INFO] [stdout] 338 | enum MeleeStyle { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 339 | Accurate, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 340 | Aggressive, [INFO] [stdout] 341 | Controlled, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 342 | Defensive [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MeleeStyle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `style` is never read [INFO] [stdout] --> src/main.rs:348:5 [INFO] [stdout] | [INFO] [stdout] 346 | struct MeleeDps { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 347 | str_bonus: u32, [INFO] [stdout] 348 | style: MeleeStyle, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MeleeDps` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_player` is never used [INFO] [stdout] --> src/main.rs:375:8 [INFO] [stdout] | [INFO] [stdout] 354 | trait HasCombatStats { [INFO] [stdout] | -------------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 375 | fn is_player(&self) -> bool; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Accurate`, `Rapid`, and `Longrange` are never constructed [INFO] [stdout] --> src/main.rs:424:5 [INFO] [stdout] | [INFO] [stdout] 423 | enum RangedStyle { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 424 | Accurate, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 425 | Rapid, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 426 | Longrange [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RangedStyle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `ammo_str`, `accuracy`, `style`, and `rate` are never read [INFO] [stdout] --> src/main.rs:431:5 [INFO] [stdout] | [INFO] [stdout] 430 | struct RangedDps { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 431 | ammo_str: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 432 | accuracy: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 433 | style: RangedStyle, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 434 | rate: u32, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RangedDps` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Ranged` and `Magic` are never constructed [INFO] [stdout] --> src/main.rs:443:5 [INFO] [stdout] | [INFO] [stdout] 441 | enum Loadout { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 442 | Melee(MeleeDps), [INFO] [stdout] 443 | Ranged(RangedDps), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 444 | Magic(MagicDps), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Loadout` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `elt` [INFO] [stdout] --> src/main.rs:126:42 [INFO] [stdout] | [INFO] [stdout] 126 | items: core::array::from_fn(|elt| None), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_elt` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> src/main.rs:234:19 [INFO] [stdout] | [INFO] [stdout] 234 | fn megarare_table(context: &GameContext, rng: &mut ThreadRng) -> Option { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `context` [INFO] [stdout] --> src/main.rs:839:42 [INFO] [stdout] | [INFO] [stdout] 839 | fn summarize_search(mob: &RollsGemtable, context: &GameContext, trial_ticks: Vec>) { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `trial` [INFO] [stdout] --> src/main.rs:861:9 [INFO] [stdout] | [INFO] [stdout] 861 | for trial in 0..trials { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_trial` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `slots_needed` is never used [INFO] [stdout] --> src/main.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 10 | impl Item { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 18 | fn slots_needed(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `indices` is never read [INFO] [stdout] --> src/main.rs:30:9 [INFO] [stdout] | [INFO] [stdout] 28 | struct Inventory { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 29 | pub items: [Option; 28], [INFO] [stdout] 30 | pub indices: HashMap [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Inventory` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Bank` is never constructed [INFO] [stdout] --> src/main.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | struct Bank { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `store` is never used [INFO] [stdout] --> src/main.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 38 | impl Bank { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] 39 | pub fn store(&mut self, item: &Item) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `index_of`, `first_available`, `can_loot`, `add_item`, `clear`, and `bank` are never used [INFO] [stdout] --> src/main.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 49 | impl Inventory { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn index_of(&self, item_name: &str) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn first_available(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn can_loot(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn add_item(&mut self, item: Item) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn bank(&mut self, bank: &mut Bank) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `x` and `y` are never read [INFO] [stdout] --> src/main.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 135 | struct PlayerCoords { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 136 | x: i32, // east/west [INFO] [stdout] | ^ [INFO] [stdout] 137 | y: i32, // vertical aka dungeons [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] = note: `PlayerCoords` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ultrarare_table` is never used [INFO] [stdout] --> src/main.rs:169:4 [INFO] [stdout] | [INFO] [stdout] 169 | fn ultrarare_table(context: &GameContext, rng: &mut ThreadRng) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Accurate`, `Controlled`, and `Defensive` are never constructed [INFO] [stdout] --> src/main.rs:339:5 [INFO] [stdout] | [INFO] [stdout] 338 | enum MeleeStyle { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 339 | Accurate, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 340 | Aggressive, [INFO] [stdout] 341 | Controlled, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 342 | Defensive [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MeleeStyle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `style` is never read [INFO] [stdout] --> src/main.rs:348:5 [INFO] [stdout] | [INFO] [stdout] 346 | struct MeleeDps { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] 347 | str_bonus: u32, [INFO] [stdout] 348 | style: MeleeStyle, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MeleeDps` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_player` is never used [INFO] [stdout] --> src/main.rs:375:8 [INFO] [stdout] | [INFO] [stdout] 354 | trait HasCombatStats { [INFO] [stdout] | -------------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 375 | fn is_player(&self) -> bool; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Accurate`, `Rapid`, and `Longrange` are never constructed [INFO] [stdout] --> src/main.rs:424:5 [INFO] [stdout] | [INFO] [stdout] 423 | enum RangedStyle { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 424 | Accurate, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 425 | Rapid, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 426 | Longrange [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RangedStyle` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `ammo_str`, `accuracy`, `style`, and `rate` are never read [INFO] [stdout] --> src/main.rs:431:5 [INFO] [stdout] | [INFO] [stdout] 430 | struct RangedDps { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 431 | ammo_str: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 432 | accuracy: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 433 | style: RangedStyle, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 434 | rate: u32, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RangedDps` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Ranged` and `Magic` are never constructed [INFO] [stdout] --> src/main.rs:443:5 [INFO] [stdout] | [INFO] [stdout] 441 | enum Loadout { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 442 | Melee(MeleeDps), [INFO] [stdout] 443 | Ranged(RangedDps), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 444 | Magic(MagicDps), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Loadout` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.79s [INFO] running `Command { std: "docker" "inspect" "804eb5188139ea996d24efe5d2b641c97567a268fa0f28a3d77c01966b7cb2fe", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "804eb5188139ea996d24efe5d2b641c97567a268fa0f28a3d77c01966b7cb2fe", kill_on_drop: false }` [INFO] [stdout] 804eb5188139ea996d24efe5d2b641c97567a268fa0f28a3d77c01966b7cb2fe