[INFO] cloning repository https://github.com/Zireael07/Rust-HTML-mudlike
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Zireael07/Rust-HTML-mudlike" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FZireael07%2FRust-HTML-mudlike", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FZireael07%2FRust-HTML-mudlike'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c9d68e3280cde408a5e015969ba77781e692b9f1
[INFO] testing Zireael07/Rust-HTML-mudlike against 1.85.0 for beta-1.86-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FZireael07%2FRust-HTML-mudlike" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Zireael07/Rust-HTML-mudlike on toolchain 1.85.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.85.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Zireael07/Rust-HTML-mudlike
[INFO] finished tweaking git repo https://github.com/Zireael07/Rust-HTML-mudlike
[INFO] tweaked toml for git repo https://github.com/Zireael07/Rust-HTML-mudlike written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/Zireael07/Rust-HTML-mudlike 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" "+1.85.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Found `debug_assertions` in `target.'cfg(...)'.dependencies`. This value is not supported for selecting dependencies and will not work as expected. To learn more visit https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#platform-specific-dependencies
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 23 packages to latest compatible versions
[INFO] [stderr]       Adding ahash v0.4.8
[INFO] [stderr]       Adding base64 v0.21.7
[INFO] [stderr]       Adding bitflags v2.9.0
[INFO] [stderr]       Adding byteorder v1.5.0
[INFO] [stderr]       Adding getrandom v0.1.16
[INFO] [stderr]       Adding hashbrown v0.9.1
[INFO] [stderr]       Adding hecs v0.3.2 (available: v0.10.5)
[INFO] [stderr]       Adding libc v0.2.170
[INFO] [stderr]       Adding ppv-lite86 v0.2.20
[INFO] [stderr]     Updating proc-macro2 v1.0.26 -> v1.0.93
[INFO] [stderr]     Updating quote v1.0.2 -> v1.0.38
[INFO] [stderr]       Adding rand v0.7.3 (available: v0.9.0)
[INFO] [stderr]       Adding rand_chacha v0.2.2
[INFO] [stderr]       Adding rand_core v0.5.1
[INFO] [stderr]       Adding rand_hc v0.2.0
[INFO] [stderr]       Adding rand_xoshiro v0.4.0 (available: v0.7.0)
[INFO] [stderr]       Adding ron v0.8.1
[INFO] [stderr]       Adding syn v2.0.98
[INFO] [stderr]       Adding unicode-ident v1.0.17
[INFO] [stderr]       Adding wasi v0.9.0+wasi-snapshot-preview1
[INFO] [stderr]       Adding wasm-bindgen-futures v0.4.23 (available: v0.4.50)
[INFO] [stderr]       Adding zerocopy v0.7.35
[INFO] [stderr]       Adding zerocopy-derive v0.7.35
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.73
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.73
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.73
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.73
[INFO] [stderr]   Downloaded unicode-xid v0.2.0
[INFO] [stderr]   Downloaded itoa v0.4.7
[INFO] [stderr]   Downloaded rand_xoshiro v0.4.0
[INFO] [stderr]   Downloaded byteorder v1.5.0
[INFO] [stderr]   Downloaded zerocopy-derive v0.7.35
[INFO] [stderr]   Downloaded ahash v0.4.8
[INFO] [stderr]   Downloaded base64 v0.21.7
[INFO] [stderr]   Downloaded ron v0.8.1
[INFO] [stderr]   Downloaded js-sys v0.3.50
[INFO] [stderr]   Downloaded ryu v1.0.5
[INFO] [stderr]   Downloaded zerocopy v0.7.35
[INFO] [stderr]   Downloaded serde_json v1.0.64
[INFO] [stderr]   Downloaded bumpalo v3.2.0
[INFO] [stderr]   Downloaded serde_derive v1.0.125
[INFO] [stderr]   Downloaded syn v1.0.69
[INFO] [stderr]   Downloaded serde v1.0.125
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.73
[INFO] [stderr]   Downloaded hecs v0.3.2
[INFO] [stderr]   Downloaded log v0.4.8
[INFO] [stderr]   Downloaded ppv-lite86 v0.2.20
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.23
[INFO] [stderr]   Downloaded console_error_panic_hook v0.1.6
[INFO] [stderr]   Downloaded web-sys v0.3.50
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+1.85.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f1b6d5175c2695194af6a25df24edee88246c32bd42743667ca2a7132fc3a8e3
[INFO] running `Command { std: "docker" "start" "-a" "f1b6d5175c2695194af6a25df24edee88246c32bd42743667ca2a7132fc3a8e3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f1b6d5175c2695194af6a25df24edee88246c32bd42743667ca2a7132fc3a8e3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f1b6d5175c2695194af6a25df24edee88246c32bd42743667ca2a7132fc3a8e3", kill_on_drop: false }`
[INFO] [stdout] f1b6d5175c2695194af6a25df24edee88246c32bd42743667ca2a7132fc3a8e3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+1.85.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9edd93dc90785dfb727f525542b3e83e0753fa3cdbbf40515ed8366a40e6f666
[INFO] running `Command { std: "docker" "start" "-a" "9edd93dc90785dfb727f525542b3e83e0753fa3cdbbf40515ed8366a40e6f666", kill_on_drop: false }`
[INFO] [stderr] warning: Found `debug_assertions` in `target.'cfg(...)'.dependencies`. This value is not supported for selecting dependencies and will not work as expected. To learn more visit https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#platform-specific-dependencies
[INFO] [stderr]    Compiling proc-macro2 v1.0.93
[INFO] [stderr]    Compiling unicode-ident v1.0.17
[INFO] [stderr]    Compiling syn v1.0.69
[INFO] [stderr]    Compiling unicode-xid v0.2.0
[INFO] [stderr]    Compiling serde_derive v1.0.125
[INFO] [stderr]    Compiling wasm-bindgen-shared v0.2.73
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]    Compiling serde v1.0.125
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling ryu v1.0.5
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling bumpalo v3.2.0
[INFO] [stderr]    Compiling libc v0.2.170
[INFO] [stderr]    Compiling serde_json v1.0.64
[INFO] [stderr]    Compiling wasm-bindgen v0.2.73
[INFO] [stderr]    Compiling itoa v0.4.7
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling ahash v0.4.8
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling hashbrown v0.9.1
[INFO] [stderr]    Compiling hecs v0.3.2
[INFO] [stderr]    Compiling quote v1.0.38
[INFO] [stderr]    Compiling syn v2.0.98
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling rand_xoshiro v0.4.0
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling wasm-bindgen-backend v0.2.73
[INFO] [stderr]    Compiling zerocopy v0.7.35
[INFO] [stderr]    Compiling wasm-bindgen-macro-support v0.2.73
[INFO] [stderr]    Compiling ppv-lite86 v0.2.20
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling wasm-bindgen-macro v0.2.73
[INFO] [stderr]    Compiling bitflags v2.9.0
[INFO] [stderr]    Compiling ron v0.8.1
[INFO] [stderr]    Compiling js-sys v0.3.50
[INFO] [stderr]    Compiling console_error_panic_hook v0.1.6
[INFO] [stderr]    Compiling wasm-bindgen-futures v0.4.23
[INFO] [stderr]    Compiling web-sys v0.3.50
[INFO] [stderr]    Compiling rust-web-text-based v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Ranged` and `Room`
[INFO] [stdout]  --> src/universe_private.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::{Universe, Room, Exit, Distance, DataMaster, ItemPrefab,
[INFO] [stdout]   |                       ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 7 |     Equippable, Equipped, EquipmentSlot, MeleeBonus, DefenseBonus, Ranged,
[INFO] [stdout]   |                                                                    ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/universe_private.rs:314:63
[INFO] [stdout]     |
[INFO] [stdout] 314 | ...ecs_world.spawn((EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build()));
[INFO] [stdout]     |                    ^                                                                                                   ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 314 -                             let pistol = self.ecs_world.spawn((EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build()));
[INFO] [stdout] 314 +                             let pistol = self.ecs_world.spawn(EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/universe_private.rs:336:65
[INFO] [stdout]     |
[INFO] [stdout] 336 | ...orld.insert(sp, (EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build())); },
[INFO] [stdout]     |                    ^                                                                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 336 -                         "Medkit" => { self.ecs_world.insert(sp, (EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build())); },
[INFO] [stdout] 336 +                         "Medkit" => { self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build()); },
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/universe_private.rs:339:65
[INFO] [stdout]     |
[INFO] [stdout] 339 | ...orld.insert(sp, (EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build())); },
[INFO] [stdout]     |                    ^                                                                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 339 -                         "Pistol" => { self.ecs_world.insert(sp, (EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build())); },
[INFO] [stdout] 339 +                         "Pistol" => { self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build()); },
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/universe_private.rs:428:18
[INFO] [stdout]     |
[INFO] [stdout] 428 |         for (id, (room_id)) in self.ecs_world.query::<(&usize)>()
[INFO] [stdout]     |                  ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 428 -         for (id, (room_id)) in self.ecs_world.query::<(&usize)>()
[INFO] [stdout] 428 +         for (id, room_id) in self.ecs_world.query::<(&usize)>()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/universe_private.rs:428:55
[INFO] [stdout]     |
[INFO] [stdout] 428 |         for (id, (room_id)) in self.ecs_world.query::<(&usize)>()
[INFO] [stdout]     |                                                       ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 428 -         for (id, (room_id)) in self.ecs_world.query::<(&usize)>()
[INFO] [stdout] 428 +         for (id, (room_id)) in self.ecs_world.query::<&usize>()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/universe_private.rs:493:18
[INFO] [stdout]     |
[INFO] [stdout] 493 |         for (id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout]     |                  ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 493 -         for (id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout] 493 +         for (id, player) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/universe_private.rs:493:54
[INFO] [stdout]     |
[INFO] [stdout] 493 |         for (id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout]     |                                                      ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 493 -         for (id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout] 493 +         for (id, (player)) in self.ecs_world.query::<&Player>().iter() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/universe_private.rs:583:22
[INFO] [stdout]     |
[INFO] [stdout] 583 |             for (id, (wantstodrop)) in self.ecs_world.query::<(&WantsToDropItem)>().iter(){
[INFO] [stdout]     |                      ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 583 -             for (id, (wantstodrop)) in self.ecs_world.query::<(&WantsToDropItem)>().iter(){
[INFO] [stdout] 583 +             for (id, wantstodrop) in self.ecs_world.query::<(&WantsToDropItem)>().iter(){
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/universe_private.rs:583:63
[INFO] [stdout]     |
[INFO] [stdout] 583 |             for (id, (wantstodrop)) in self.ecs_world.query::<(&WantsToDropItem)>().iter(){
[INFO] [stdout]     |                                                               ^                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 583 -             for (id, (wantstodrop)) in self.ecs_world.query::<(&WantsToDropItem)>().iter(){
[INFO] [stdout] 583 +             for (id, (wantstodrop)) in self.ecs_world.query::<&WantsToDropItem>().iter(){
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/universe_private.rs:603:18
[INFO] [stdout]     |
[INFO] [stdout] 603 |         for (id, (wantstouse)) in self.ecs_world.query::<(&WantsToUseItem)>().iter(){
[INFO] [stdout]     |                  ^          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 603 -         for (id, (wantstouse)) in self.ecs_world.query::<(&WantsToUseItem)>().iter(){
[INFO] [stdout] 603 +         for (id, wantstouse) in self.ecs_world.query::<(&WantsToUseItem)>().iter(){
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/universe_private.rs:603:58
[INFO] [stdout]     |
[INFO] [stdout] 603 |         for (id, (wantstouse)) in self.ecs_world.query::<(&WantsToUseItem)>().iter(){
[INFO] [stdout]     |                                                          ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 603 -         for (id, (wantstouse)) in self.ecs_world.query::<(&WantsToUseItem)>().iter(){
[INFO] [stdout] 603 +         for (id, (wantstouse)) in self.ecs_world.query::<&WantsToUseItem>().iter(){
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/universe_private.rs:653:34
[INFO] [stdout]     |
[INFO] [stdout] 653 |                     for (ent_id, (equipped)) in self.ecs_world.query::<(&Equipped)>()
[INFO] [stdout]     |                                  ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 653 -                     for (ent_id, (equipped)) in self.ecs_world.query::<(&Equipped)>()
[INFO] [stdout] 653 +                     for (ent_id, equipped) in self.ecs_world.query::<(&Equipped)>()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/universe_private.rs:653:72
[INFO] [stdout]     |
[INFO] [stdout] 653 |                     for (ent_id, (equipped)) in self.ecs_world.query::<(&Equipped)>()
[INFO] [stdout]     |                                                                        ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 653 -                     for (ent_id, (equipped)) in self.ecs_world.query::<(&Equipped)>()
[INFO] [stdout] 653 +                     for (ent_id, (equipped)) in self.ecs_world.query::<&Equipped>()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/universe_private.rs:782:28
[INFO] [stdout]     |
[INFO] [stdout] 782 |                 for (p_id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout]     |                            ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 782 -                 for (p_id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout] 782 +                 for (p_id, player) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/universe_private.rs:782:64
[INFO] [stdout]     |
[INFO] [stdout] 782 |                 for (p_id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout]     |                                                                ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 782 -                 for (p_id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout] 782 +                 for (p_id, (player)) in self.ecs_world.query::<&Player>().iter() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/universe_private.rs:801:31
[INFO] [stdout]     |
[INFO] [stdout] 801 |         let mut to_drop : Vec<(Entity)> = Vec::new();
[INFO] [stdout]     |                               ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 801 -         let mut to_drop : Vec<(Entity)> = Vec::new();
[INFO] [stdout] 801 +         let mut to_drop : Vec<Entity> = Vec::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/universe_private.rs:826:30
[INFO] [stdout]     |
[INFO] [stdout] 826 |                 for (ent_id, (equipped)) in self.ecs_world.query::<(&Equipped)>()
[INFO] [stdout]     |                              ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 826 -                 for (ent_id, (equipped)) in self.ecs_world.query::<(&Equipped)>()
[INFO] [stdout] 826 +                 for (ent_id, equipped) in self.ecs_world.query::<(&Equipped)>()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/universe_private.rs:826:68
[INFO] [stdout]     |
[INFO] [stdout] 826 |                 for (ent_id, (equipped)) in self.ecs_world.query::<(&Equipped)>()
[INFO] [stdout]     |                                                                    ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 826 -                 for (ent_id, (equipped)) in self.ecs_world.query::<(&Equipped)>()
[INFO] [stdout] 826 +                 for (ent_id, (equipped)) in self.ecs_world.query::<&Equipped>()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/universe_private.rs:832:38
[INFO] [stdout]     |
[INFO] [stdout] 832 |                         to_drop.push((ent_id));
[INFO] [stdout]     |                                      ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 832 -                         to_drop.push((ent_id));
[INFO] [stdout] 832 +                         to_drop.push(ent_id);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/universe_private.rs:859:18
[INFO] [stdout]     |
[INFO] [stdout] 859 |         for (id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout]     |                  ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 859 -         for (id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout] 859 +         for (id, player) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/universe_private.rs:859:54
[INFO] [stdout]     |
[INFO] [stdout] 859 |         for (id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout]     |                                                      ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 859 -         for (id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout] 859 +         for (id, (player)) in self.ecs_world.query::<&Player>().iter() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `universe_private::*`
[INFO] [stdout]   --> src/lib.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use universe_private::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/lispy.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 |       };
[INFO] [stdout]     |        ^ help: remove this semicolon
[INFO] [stdout] ...
[INFO] [stdout] 201 |     RispExp::Func(ensure_tonicity!(|a, b| a == b))
[INFO] [stdout]     |                   ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `ensure_tonicity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/lispy.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 |       };
[INFO] [stdout]     |        ^ help: remove this semicolon
[INFO] [stdout] ...
[INFO] [stdout] 205 |     RispExp::Func(ensure_tonicity!(|a, b| a > b))
[INFO] [stdout]     |                   ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `ensure_tonicity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/lispy.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 |       };
[INFO] [stdout]     |        ^ help: remove this semicolon
[INFO] [stdout] ...
[INFO] [stdout] 209 |     RispExp::Func(ensure_tonicity!(|a, b| a >= b))
[INFO] [stdout]     |                   ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `ensure_tonicity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/lispy.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 |       };
[INFO] [stdout]     |        ^ help: remove this semicolon
[INFO] [stdout] ...
[INFO] [stdout] 213 |     RispExp::Func(ensure_tonicity!(|a, b| a < b))
[INFO] [stdout]     |                   ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `ensure_tonicity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/lispy.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 |       };
[INFO] [stdout]     |        ^ help: remove this semicolon
[INFO] [stdout] ...
[INFO] [stdout] 217 |     RispExp::Func(ensure_tonicity!(|a, b| a <= b))
[INFO] [stdout]     |                   ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `ensure_tonicity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread_rng`
[INFO] [stdout]   --> src/language.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | use rand::{Rng, thread_rng};
[INFO] [stdout]    |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/language.rs:216:21
[INFO] [stdout]     |
[INFO] [stdout] 216 |                     ///p.nodes.push(key.to_string());
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |                     let new_nodes = [p.nodes.clone().as_slice(), &[key.to_string()]].concat();
[INFO] [stdout]     |                     -------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> src/language.rs:361:43
[INFO] [stdout]     |
[INFO] [stdout] 361 |                     let last_word = words[(word_count-1)];
[INFO] [stdout]     |                                           ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 361 -                     let last_word = words[(word_count-1)];
[INFO] [stdout] 361 +                     let last_word = words[word_count-1];
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/language.rs:459:5
[INFO] [stdout]     |
[INFO] [stdout] 459 |     ///valid_keys.retain(|v| v[0] == filter.as_str());
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 460 |     return valid_keys;
[INFO] [stdout]     |     ----------------- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::json`
[INFO] [stdout]  --> src/saveload.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use serde_json::json;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/lib.rs:826:34
[INFO] [stdout]     |
[INFO] [stdout] 826 |                         for (id, (room_id)) in &mut self.ecs_world.query::<&usize>() {
[INFO] [stdout]     |                                  ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 826 -                         for (id, (room_id)) in &mut self.ecs_world.query::<&usize>() {
[INFO] [stdout] 826 +                         for (id, room_id) in &mut self.ecs_world.query::<&usize>() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/lib.rs:857:67
[INFO] [stdout]     |
[INFO] [stdout] 857 | ...ecs_world.spawn((EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build()));
[INFO] [stdout]     |                    ^                                                                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 857 -                                 let pistol = self.ecs_world.spawn((EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build()));
[INFO] [stdout] 857 +                                 let pistol = self.ecs_world.spawn(EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nm`
[INFO] [stdout]    --> src/universe_private.rs:321:33
[INFO] [stdout]     |
[INFO] [stdout] 321 | ...                   let nm = self.ecs_world.insert_one(sp, NPCName{name: sel_name.to_string()});
[INFO] [stdout]     |                           ^^ help: if this is intentional, prefix it with an underscore: `_nm`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nm`
[INFO] [stdout]    --> src/universe_private.rs:327:33
[INFO] [stdout]     |
[INFO] [stdout] 327 | ...                   let nm = self.ecs_world.insert_one(sp, NPCName{name: sel_name.to_string()});
[INFO] [stdout]     |                           ^^ help: if this is intentional, prefix it with an underscore: `_nm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/universe_private.rs:119:13
[INFO] [stdout]     |
[INFO] [stdout] 119 |         let mut end = self.map.len();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/universe_private.rs:370:25
[INFO] [stdout]     |
[INFO] [stdout] 370 |                     let mut r = &mut self.map[id];
[INFO] [stdout]     |                         ----^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/universe_private.rs:379:25
[INFO] [stdout]     |
[INFO] [stdout] 379 |                     let mut r = &mut self.map[id];
[INFO] [stdout]     |                         ----^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/universe_private.rs:388:25
[INFO] [stdout]     |
[INFO] [stdout] 388 |                     let mut r = &mut self.map[id];
[INFO] [stdout]     |                         ----^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/universe_private.rs:396:25
[INFO] [stdout]     |
[INFO] [stdout] 396 |                     let mut r = &mut self.map[id];
[INFO] [stdout]     |                         ----^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `data` is never read
[INFO] [stdout]    --> src/universe_private.rs:464:17
[INFO] [stdout]     |
[INFO] [stdout] 464 |         let mut data = Vec::new();
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]    --> src/universe_private.rs:467:19
[INFO] [stdout]     |
[INFO] [stdout] 467 |         for (id, (item, backpack)) in &mut self.ecs_world.query::<(&Item, &InBackpack)>().iter(){
[INFO] [stdout]     |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `backpack`
[INFO] [stdout]    --> src/universe_private.rs:467:25
[INFO] [stdout]     |
[INFO] [stdout] 467 |         for (id, (item, backpack)) in &mut self.ecs_world.query::<(&Item, &InBackpack)>().iter(){
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_backpack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player`
[INFO] [stdout]    --> src/universe_private.rs:493:19
[INFO] [stdout]     |
[INFO] [stdout] 493 |         for (id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/universe_private.rs:583:18
[INFO] [stdout]     |
[INFO] [stdout] 583 |             for (id, (wantstodrop)) in self.ecs_world.query::<(&WantsToDropItem)>().iter(){
[INFO] [stdout]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/universe_private.rs:603:14
[INFO] [stdout]     |
[INFO] [stdout] 603 |         for (id, (wantstouse)) in self.ecs_world.query::<(&WantsToUseItem)>().iter(){
[INFO] [stdout]     |              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/universe_private.rs:745:18
[INFO] [stdout]     |
[INFO] [stdout] 745 |             for (id, (power_bonus, equipped_by)) in self.ecs_world.query::<(&MeleeBonus, &Equipped)>().iter() {
[INFO] [stdout]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `equipped_by`
[INFO] [stdout]    --> src/universe_private.rs:745:36
[INFO] [stdout]     |
[INFO] [stdout] 745 |             for (id, (power_bonus, equipped_by)) in self.ecs_world.query::<(&MeleeBonus, &Equipped)>().iter() {
[INFO] [stdout]     |                                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_equipped_by`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ai`
[INFO] [stdout]    --> src/universe_private.rs:774:19
[INFO] [stdout]     |
[INFO] [stdout] 774 |         for (id, (ai, room_id)) in &mut self.ecs_world.query::<(&AI, &usize)>()
[INFO] [stdout]     |                   ^^ help: if this is intentional, prefix it with an underscore: `_ai`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player`
[INFO] [stdout]    --> src/universe_private.rs:782:29
[INFO] [stdout]     |
[INFO] [stdout] 782 |                 for (p_id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout]     |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player`
[INFO] [stdout]    --> src/universe_private.rs:859:19
[INFO] [stdout]     |
[INFO] [stdout] 859 |         for (id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/lispy.rs:327:21
[INFO] [stdout]     |
[INFO] [stdout] 327 |     RispExp::Symbol(s) => { 
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expr` is never read
[INFO] [stdout]    --> src/lispy.rs:440:11
[INFO] [stdout]     |
[INFO] [stdout] 440 |   let mut expr = String::new();
[INFO] [stdout]     |           ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `step`
[INFO] [stdout]    --> src/language.rs:121:17
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let mut step = 0;
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_step`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `options` is never read
[INFO] [stdout]    --> src/language.rs:141:25
[INFO] [stdout]     |
[INFO] [stdout] 141 |                         options = valid_initial_keys(keys, nouns); 
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `options` is never read
[INFO] [stdout]    --> src/language.rs:142:21
[INFO] [stdout]     |
[INFO] [stdout] 142 |                     options = valid_initial_keys(keys, nouns); 
[INFO] [stdout]     |                     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `options` is never read
[INFO] [stdout]    --> src/language.rs:143:25
[INFO] [stdout]     |
[INFO] [stdout] 143 |                         options = valid_initial_keys(keys, nouns); 
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `options` is never read
[INFO] [stdout]    --> src/language.rs:144:21
[INFO] [stdout]     |
[INFO] [stdout] 144 |                     options = valid_initial_keys(keys, nouns); 
[INFO] [stdout]     |                     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `step` is never read
[INFO] [stdout]    --> src/language.rs:239:13
[INFO] [stdout]     |
[INFO] [stdout] 239 |             step = step +1;
[INFO] [stdout]     |             ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/language.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let mut step = 0;
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/language.rs:134:21
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 let mut filter = &[&given_topic];
[INFO] [stdout]     |                     ----^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/language.rs:215:25
[INFO] [stdout]     |
[INFO] [stdout] 215 |                     let mut p = &mut paths_so_far[i];
[INFO] [stdout]     |                         ----^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/language.rs:251:13
[INFO] [stdout]     |
[INFO] [stdout] 251 |         for i in 0..max-2 {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `key` is never read
[INFO] [stdout]    --> src/language.rs:284:21
[INFO] [stdout]     |
[INFO] [stdout] 284 |             let mut key = "".to_string();
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/language.rs:271:17
[INFO] [stdout]     |
[INFO] [stdout] 271 |             let mut key = initial_key(&keys, &self.nouns);
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/language.rs:277:17
[INFO] [stdout]     |
[INFO] [stdout] 277 |             let mut sentence = key.clone();
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/language.rs:300:17
[INFO] [stdout]     |
[INFO] [stdout] 300 |             let mut sentence = key.clone();
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/language.rs:398:13
[INFO] [stdout]     |
[INFO] [stdout] 398 |         for i in 0..max {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/language.rs:411:13
[INFO] [stdout]     |
[INFO] [stdout] 411 |         for i in 0..1667 {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `num` is never read
[INFO] [stdout]    --> src/lib.rs:447:25
[INFO] [stdout]     |
[INFO] [stdout] 447 |                 let mut num = 0;
[INFO] [stdout]     |                         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/lib.rs:533:16
[INFO] [stdout]     |
[INFO] [stdout] 533 |               |args: &[RispExp]| -> Result<RispExp, RispErr> {
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `sentences` is never read
[INFO] [stdout]    --> src/lib.rs:691:17
[INFO] [stdout]     |
[INFO] [stdout] 691 |         let mut sentences = String::new();
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `room_id`
[INFO] [stdout]    --> src/lib.rs:826:35
[INFO] [stdout]     |
[INFO] [stdout] 826 |                         for (id, (room_id)) in &mut self.ecs_world.query::<&usize>() {
[INFO] [stdout]     |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_room_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nm`
[INFO] [stdout]    --> src/lib.rs:864:37
[INFO] [stdout]     |
[INFO] [stdout] 864 | ...                   let nm = self.ecs_world.insert_one(sp, NPCName{name: sel_name.to_string()});
[INFO] [stdout]     |                           ^^ help: if this is intentional, prefix it with an underscore: `_nm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nm`
[INFO] [stdout]    --> src/lib.rs:870:37
[INFO] [stdout]     |
[INFO] [stdout] 870 | ...                   let nm = self.ecs_world.insert_one(sp, NPCName{name: sel_name.to_string()});
[INFO] [stdout]     |                           ^^ help: if this is intentional, prefix it with an underscore: `_nm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/lib.rs:808:9
[INFO] [stdout]     |
[INFO] [stdout] 808 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Weather` is never constructed
[INFO] [stdout]    --> src/lib.rs:232:8
[INFO] [stdout]     |
[INFO] [stdout] 232 | struct Weather {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `make_test_d2` is never used
[INFO] [stdout]    --> src/universe_private.rs:724:8
[INFO] [stdout]     |
[INFO] [stdout] 51  | impl Universe {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 724 |     fn make_test_d2(&self, skill: u32) -> Vec<bool> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slurp_expr` is never used
[INFO] [stdout]    --> src/lispy.rs:439:4
[INFO] [stdout]     |
[INFO] [stdout] 439 | fn slurp_expr() -> String {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slurp_eval` is never used
[INFO] [stdout]    --> src/lispy.rs:452:8
[INFO] [stdout]     |
[INFO] [stdout] 452 | pub fn slurp_eval(env: &mut RispEnv) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]    --> src/lispy.rs:478:4
[INFO] [stdout]     |
[INFO] [stdout] 478 | fn main() {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_lisp` is never used
[INFO] [stdout]    --> src/lispy.rs:486:8
[INFO] [stdout]     |
[INFO] [stdout] 486 | pub fn run_lisp(){
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SentenceState` is never constructed
[INFO] [stdout]   --> src/language.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct SentenceState {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Sentence` and `Question` are never constructed
[INFO] [stdout]   --> src/language.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub enum SentenceType {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 27 |     Sentence = 0,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 28 |     Question = 1,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SentenceType` 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: methods `display_block` and `display_novel` are never used
[INFO] [stdout]    --> src/language.rs:396:12
[INFO] [stdout]     |
[INFO] [stdout] 44  | impl Markov {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 396 |     pub fn display_block(&mut self, max: i32, max_s: i32) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 407 |     pub fn display_novel(&mut self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lib.rs:841:33
[INFO] [stdout]     |
[INFO] [stdout] 841 | ...   self.ecs_world.insert(sp, (AI{}, CombatStats{hp:10, max_hp:10, defense:1, power:1}, EncDistance{dist: Distance::Near}));
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 841 |                                 let _ = self.ecs_world.insert(sp, (AI{}, CombatStats{hp:10, max_hp:10, defense:1, power:1}, EncDistance{dist: Distance::Near}));
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lib.rs:845:33
[INFO] [stdout]     |
[INFO] [stdout] 845 | ...                   self.ecs_world.insert_one(l_jacket, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Torso});
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 845 |                                 let _ = self.ecs_world.insert_one(l_jacket, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Torso});
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lib.rs:846:33
[INFO] [stdout]     |
[INFO] [stdout] 846 | ...                   self.ecs_world.insert_one(boots, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Feet});
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 846 |                                 let _ = self.ecs_world.insert_one(boots, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Feet});
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lib.rs:847:33
[INFO] [stdout]     |
[INFO] [stdout] 847 | ...                   self.ecs_world.insert_one(jeans, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Legs});
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 847 |                                 let _ = self.ecs_world.insert_one(jeans, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Legs});
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lib.rs:850:33
[INFO] [stdout]     |
[INFO] [stdout] 850 | ...   self.ecs_world.insert(sp, (AI{}, CombatStats{hp:10, max_hp:10, defense:1, power:1}, EncDistance{dist: Distance::Far}));
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 850 |                                 let _ = self.ecs_world.insert(sp, (AI{}, CombatStats{hp:10, max_hp:10, defense:1, power:1}, EncDistance{dist: Distance::Far}));
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lib.rs:854:33
[INFO] [stdout]     |
[INFO] [stdout] 854 | ...                   self.ecs_world.insert_one(l_jacket, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Torso});
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 854 |                                 let _ = self.ecs_world.insert_one(l_jacket, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Torso});
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lib.rs:855:33
[INFO] [stdout]     |
[INFO] [stdout] 855 | ...                   self.ecs_world.insert_one(boots, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Feet});
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 855 |                                 let _ = self.ecs_world.insert_one(boots, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Feet});
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lib.rs:856:33
[INFO] [stdout]     |
[INFO] [stdout] 856 | ...                   self.ecs_world.insert_one(jeans, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Legs});
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 856 |                                 let _ = self.ecs_world.insert_one(jeans, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Legs});
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lib.rs:858:33
[INFO] [stdout]     |
[INFO] [stdout] 858 | ...                   self.ecs_world.insert_one(pistol, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Melee});
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 858 |                                 let _ = self.ecs_world.insert_one(pistol, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Melee});
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lib.rs:861:33
[INFO] [stdout]     |
[INFO] [stdout] 861 | ...                   self.ecs_world.insert_one(sp, Vendor{});
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 861 |                                 let _ = self.ecs_world.insert_one(sp, Vendor{});
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:296:29
[INFO] [stdout]     |
[INFO] [stdout] 296 | ...   self.ecs_world.insert(sp, (AI{}, CombatStats{hp:10, max_hp:10, defense:1, power:1}, EncDistance{dist: Distance::Near}));
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 296 |                             let _ = self.ecs_world.insert(sp, (AI{}, CombatStats{hp:10, max_hp:10, defense:1, power:1}, EncDistance{dist: Distance::Near}));
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:302:29
[INFO] [stdout]     |
[INFO] [stdout] 302 | ...                   self.ecs_world.insert_one(l_jacket, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Torso});
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 302 |                             let _ = self.ecs_world.insert_one(l_jacket, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Torso});
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:303:29
[INFO] [stdout]     |
[INFO] [stdout] 303 | ...                   self.ecs_world.insert_one(boots, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Feet});
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 303 |                             let _ = self.ecs_world.insert_one(boots, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Feet});
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:304:29
[INFO] [stdout]     |
[INFO] [stdout] 304 | ...                   self.ecs_world.insert_one(jeans, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Legs});
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 304 |                             let _ = self.ecs_world.insert_one(jeans, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Legs});
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:307:29
[INFO] [stdout]     |
[INFO] [stdout] 307 | ...   self.ecs_world.insert(sp, (AI{}, CombatStats{hp:10, max_hp:10, defense:1, power:1}, EncDistance{dist: Distance::Far}));
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 307 |                             let _ = self.ecs_world.insert(sp, (AI{}, CombatStats{hp:10, max_hp:10, defense:1, power:1}, EncDistance{dist: Distance::Far}));
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:311:29
[INFO] [stdout]     |
[INFO] [stdout] 311 | ...                   self.ecs_world.insert_one(l_jacket, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Torso});
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 311 |                             let _ = self.ecs_world.insert_one(l_jacket, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Torso});
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:312:29
[INFO] [stdout]     |
[INFO] [stdout] 312 | ...                   self.ecs_world.insert_one(boots, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Feet});
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 312 |                             let _ = self.ecs_world.insert_one(boots, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Feet});
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:313:29
[INFO] [stdout]     |
[INFO] [stdout] 313 | ...                   self.ecs_world.insert_one(jeans, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Legs});
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 313 |                             let _ = self.ecs_world.insert_one(jeans, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Legs});
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:315:29
[INFO] [stdout]     |
[INFO] [stdout] 315 | ...                   self.ecs_world.insert_one(pistol, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Melee});
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 315 |                             let _ = self.ecs_world.insert_one(pistol, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Melee});
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:318:29
[INFO] [stdout]     |
[INFO] [stdout] 318 | ...                   self.ecs_world.insert_one(sp, Vendor{});
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 318 |                             let _ = self.ecs_world.insert_one(sp, Vendor{});
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:336:39
[INFO] [stdout]     |
[INFO] [stdout] 336 | ... { self.ecs_world.insert(sp, (EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build())); },
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 336 |                         "Medkit" => { let _ = self.ecs_world.insert(sp, (EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build())); },
[INFO] [stdout]     |                                       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:337:45
[INFO] [stdout]     |
[INFO] [stdout] 337 | ... { self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Combat knife"]]).build());...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 337 |                         "Combat_knife" => { let _ = self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Combat knife"]]).build()); },
[INFO] [stdout]     |                                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:338:38
[INFO] [stdout]     |
[INFO] [stdout] 338 | ...> { self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Baton"]]).build()); },
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 338 |                         "Baton" => { let _ = self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Baton"]]).build()); },
[INFO] [stdout]     |                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:339:39
[INFO] [stdout]     |
[INFO] [stdout] 339 | ... { self.ecs_world.insert(sp, (EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build())); },
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 339 |                         "Pistol" => { let _ = self.ecs_world.insert(sp, (EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build())); },
[INFO] [stdout]     |                                       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:340:47
[INFO] [stdout]     |
[INFO] [stdout] 340 | ... { self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Leather jacket"]]).build()); }...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 340 |                         "Leather_jacket" => { let _ = self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Leather jacket"]]).build()); }, //ToRemove{yes:false}
[INFO] [stdout]     |                                               +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:341:37
[INFO] [stdout]     |
[INFO] [stdout] 341 | ...=> { self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Camo"]]).build()); },
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 341 |                         "Camo" => { let _ = self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Camo"]]).build()); },
[INFO] [stdout]     |                                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:342:38
[INFO] [stdout]     |
[INFO] [stdout] 342 | ...> { self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Boots"]]).build()); },
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 342 |                         "Boots" => { let _ = self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Boots"]]).build()); },
[INFO] [stdout]     |                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:343:38
[INFO] [stdout]     |
[INFO] [stdout] 343 | ...> { self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Jeans"]]).build()); },
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 343 |                         "Jeans" => { let _ = self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Jeans"]]).build()); },
[INFO] [stdout]     |                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:572:9
[INFO] [stdout]     |
[INFO] [stdout] 572 |         self.ecs_world.insert_one(*item, InBackpack{});
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 572 |         let _ = self.ecs_world.insert_one(*item, InBackpack{});
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:579:9
[INFO] [stdout]     |
[INFO] [stdout] 579 |         self.ecs_world.insert_one(*user, WantsToDropItem{item:*it});
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 579 |         let _ = self.ecs_world.insert_one(*user, WantsToDropItem{item:*it});
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:589:9
[INFO] [stdout]     |
[INFO] [stdout] 589 |         self.ecs_world.remove_one::<InBackpack>(*it);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 589 |         let _ = self.ecs_world.remove_one::<InBackpack>(*it);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:596:9
[INFO] [stdout]     |
[INFO] [stdout] 596 |         self.ecs_world.insert_one(*user, WantsToUseItem{item:*it});
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 596 |         let _ = self.ecs_world.insert_one(*user, WantsToUseItem{item:*it});
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:683:13
[INFO] [stdout]     |
[INFO] [stdout] 683 |             self.ecs_world.remove_one::<Equipped>(*item);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 683 |             let _ = self.ecs_world.remove_one::<Equipped>(*item);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:692:13
[INFO] [stdout]     |
[INFO] [stdout] 692 |             self.ecs_world.insert_one(*item, Equipped{owner:user.to_bits(), slot:eq.slot});
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 692 |             let _ = self.ecs_world.insert_one(*item, Equipped{owner:user.to_bits(), slot:eq.slot});
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_AI` should have a snake case name
[INFO] [stdout]    --> src/universe_private.rs:773:8
[INFO] [stdout]     |
[INFO] [stdout] 773 |     fn get_AI(&mut self) {
[INFO] [stdout]     |        ^^^^^^ help: convert the identifier to snake case: `get_ai`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:847:13
[INFO] [stdout]     |
[INFO] [stdout] 847 |             self.ecs_world.remove_one::<Equipped>(*it);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 847 |             let _ = self.ecs_world.remove_one::<Equipped>(*it);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:849:13
[INFO] [stdout]     |
[INFO] [stdout] 849 |             self.ecs_world.insert_one(*it, self.current_room);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 849 |             let _ = self.ecs_world.insert_one(*it, self.current_room);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `randomized_NPC_name` should have a snake case name
[INFO] [stdout]    --> src/universe_private.rs:872:12
[INFO] [stdout]     |
[INFO] [stdout] 872 |     pub fn randomized_NPC_name(male: bool, names: &HashMap<String, Vec<String>>) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `randomized_npc_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `SPANISH_MALE` should have a snake case name
[INFO] [stdout]    --> src/universe_private.rs:876:13
[INFO] [stdout]     |
[INFO] [stdout] 876 |         let SPANISH_MALE = &names["spanish_male"];
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `spanish_male`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `SPANISH_FEMALE` should have a snake case name
[INFO] [stdout]    --> src/universe_private.rs:877:13
[INFO] [stdout]     |
[INFO] [stdout] 877 |         let SPANISH_FEMALE = &names["spanish_female"];
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `spanish_female`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `SPANISH_LAST` should have a snake case name
[INFO] [stdout]    --> src/universe_private.rs:878:13
[INFO] [stdout]     |
[INFO] [stdout] 878 |         let SPANISH_LAST = &names["spanish_last"];
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `spanish_last`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lispy.rs:300:9
[INFO] [stdout]     |
[INFO] [stdout] 300 |         eval(&arg.clone(), env);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 300 |         let _ = eval(&arg.clone(), env);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lispy.rs:355:7
[INFO] [stdout]     |
[INFO] [stdout] 355 |       eval(third_form, env);
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 355 |       let _ = eval(third_form, env);
[INFO] [stdout]     |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 31.71s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: wasm-bindgen v0.2.73
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "9edd93dc90785dfb727f525542b3e83e0753fa3cdbbf40515ed8366a40e6f666", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9edd93dc90785dfb727f525542b3e83e0753fa3cdbbf40515ed8366a40e6f666", kill_on_drop: false }`
[INFO] [stdout] 9edd93dc90785dfb727f525542b3e83e0753fa3cdbbf40515ed8366a40e6f666
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+1.85.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7ee1d33301aacb4ce08994a2a8a4769686a4cc33b9561219fa1d541e4a5603c8
[INFO] running `Command { std: "docker" "start" "-a" "7ee1d33301aacb4ce08994a2a8a4769686a4cc33b9561219fa1d541e4a5603c8", kill_on_drop: false }`
[INFO] [stderr] warning: Found `debug_assertions` in `target.'cfg(...)'.dependencies`. This value is not supported for selecting dependencies and will not work as expected. To learn more visit https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#platform-specific-dependencies
[INFO] [stderr]    Compiling rust-web-text-based v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Ranged` and `Room`
[INFO] [stdout]  --> src/universe_private.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::{Universe, Room, Exit, Distance, DataMaster, ItemPrefab,
[INFO] [stdout]   |                       ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 7 |     Equippable, Equipped, EquipmentSlot, MeleeBonus, DefenseBonus, Ranged,
[INFO] [stdout]   |                                                                    ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/universe_private.rs:314:63
[INFO] [stdout]     |
[INFO] [stdout] 314 | ...ecs_world.spawn((EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build()));
[INFO] [stdout]     |                    ^                                                                                                   ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 314 -                             let pistol = self.ecs_world.spawn((EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build()));
[INFO] [stdout] 314 +                             let pistol = self.ecs_world.spawn(EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/universe_private.rs:336:65
[INFO] [stdout]     |
[INFO] [stdout] 336 | ...orld.insert(sp, (EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build())); },
[INFO] [stdout]     |                    ^                                                                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 336 -                         "Medkit" => { self.ecs_world.insert(sp, (EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build())); },
[INFO] [stdout] 336 +                         "Medkit" => { self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build()); },
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/universe_private.rs:339:65
[INFO] [stdout]     |
[INFO] [stdout] 339 | ...orld.insert(sp, (EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build())); },
[INFO] [stdout]     |                    ^                                                                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 339 -                         "Pistol" => { self.ecs_world.insert(sp, (EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build())); },
[INFO] [stdout] 339 +                         "Pistol" => { self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build()); },
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/universe_private.rs:428:18
[INFO] [stdout]     |
[INFO] [stdout] 428 |         for (id, (room_id)) in self.ecs_world.query::<(&usize)>()
[INFO] [stdout]     |                  ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 428 -         for (id, (room_id)) in self.ecs_world.query::<(&usize)>()
[INFO] [stdout] 428 +         for (id, room_id) in self.ecs_world.query::<(&usize)>()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/universe_private.rs:428:55
[INFO] [stdout]     |
[INFO] [stdout] 428 |         for (id, (room_id)) in self.ecs_world.query::<(&usize)>()
[INFO] [stdout]     |                                                       ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 428 -         for (id, (room_id)) in self.ecs_world.query::<(&usize)>()
[INFO] [stdout] 428 +         for (id, (room_id)) in self.ecs_world.query::<&usize>()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/universe_private.rs:493:18
[INFO] [stdout]     |
[INFO] [stdout] 493 |         for (id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout]     |                  ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 493 -         for (id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout] 493 +         for (id, player) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/universe_private.rs:493:54
[INFO] [stdout]     |
[INFO] [stdout] 493 |         for (id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout]     |                                                      ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 493 -         for (id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout] 493 +         for (id, (player)) in self.ecs_world.query::<&Player>().iter() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/universe_private.rs:583:22
[INFO] [stdout]     |
[INFO] [stdout] 583 |             for (id, (wantstodrop)) in self.ecs_world.query::<(&WantsToDropItem)>().iter(){
[INFO] [stdout]     |                      ^           ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 583 -             for (id, (wantstodrop)) in self.ecs_world.query::<(&WantsToDropItem)>().iter(){
[INFO] [stdout] 583 +             for (id, wantstodrop) in self.ecs_world.query::<(&WantsToDropItem)>().iter(){
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/universe_private.rs:583:63
[INFO] [stdout]     |
[INFO] [stdout] 583 |             for (id, (wantstodrop)) in self.ecs_world.query::<(&WantsToDropItem)>().iter(){
[INFO] [stdout]     |                                                               ^                ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 583 -             for (id, (wantstodrop)) in self.ecs_world.query::<(&WantsToDropItem)>().iter(){
[INFO] [stdout] 583 +             for (id, (wantstodrop)) in self.ecs_world.query::<&WantsToDropItem>().iter(){
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/universe_private.rs:603:18
[INFO] [stdout]     |
[INFO] [stdout] 603 |         for (id, (wantstouse)) in self.ecs_world.query::<(&WantsToUseItem)>().iter(){
[INFO] [stdout]     |                  ^          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 603 -         for (id, (wantstouse)) in self.ecs_world.query::<(&WantsToUseItem)>().iter(){
[INFO] [stdout] 603 +         for (id, wantstouse) in self.ecs_world.query::<(&WantsToUseItem)>().iter(){
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/universe_private.rs:603:58
[INFO] [stdout]     |
[INFO] [stdout] 603 |         for (id, (wantstouse)) in self.ecs_world.query::<(&WantsToUseItem)>().iter(){
[INFO] [stdout]     |                                                          ^               ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 603 -         for (id, (wantstouse)) in self.ecs_world.query::<(&WantsToUseItem)>().iter(){
[INFO] [stdout] 603 +         for (id, (wantstouse)) in self.ecs_world.query::<&WantsToUseItem>().iter(){
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/universe_private.rs:653:34
[INFO] [stdout]     |
[INFO] [stdout] 653 |                     for (ent_id, (equipped)) in self.ecs_world.query::<(&Equipped)>()
[INFO] [stdout]     |                                  ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 653 -                     for (ent_id, (equipped)) in self.ecs_world.query::<(&Equipped)>()
[INFO] [stdout] 653 +                     for (ent_id, equipped) in self.ecs_world.query::<(&Equipped)>()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/universe_private.rs:653:72
[INFO] [stdout]     |
[INFO] [stdout] 653 |                     for (ent_id, (equipped)) in self.ecs_world.query::<(&Equipped)>()
[INFO] [stdout]     |                                                                        ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 653 -                     for (ent_id, (equipped)) in self.ecs_world.query::<(&Equipped)>()
[INFO] [stdout] 653 +                     for (ent_id, (equipped)) in self.ecs_world.query::<&Equipped>()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/universe_private.rs:782:28
[INFO] [stdout]     |
[INFO] [stdout] 782 |                 for (p_id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout]     |                            ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 782 -                 for (p_id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout] 782 +                 for (p_id, player) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/universe_private.rs:782:64
[INFO] [stdout]     |
[INFO] [stdout] 782 |                 for (p_id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout]     |                                                                ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 782 -                 for (p_id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout] 782 +                 for (p_id, (player)) in self.ecs_world.query::<&Player>().iter() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/universe_private.rs:801:31
[INFO] [stdout]     |
[INFO] [stdout] 801 |         let mut to_drop : Vec<(Entity)> = Vec::new();
[INFO] [stdout]     |                               ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 801 -         let mut to_drop : Vec<(Entity)> = Vec::new();
[INFO] [stdout] 801 +         let mut to_drop : Vec<Entity> = Vec::new();
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/universe_private.rs:826:30
[INFO] [stdout]     |
[INFO] [stdout] 826 |                 for (ent_id, (equipped)) in self.ecs_world.query::<(&Equipped)>()
[INFO] [stdout]     |                              ^        ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 826 -                 for (ent_id, (equipped)) in self.ecs_world.query::<(&Equipped)>()
[INFO] [stdout] 826 +                 for (ent_id, equipped) in self.ecs_world.query::<(&Equipped)>()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/universe_private.rs:826:68
[INFO] [stdout]     |
[INFO] [stdout] 826 |                 for (ent_id, (equipped)) in self.ecs_world.query::<(&Equipped)>()
[INFO] [stdout]     |                                                                    ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 826 -                 for (ent_id, (equipped)) in self.ecs_world.query::<(&Equipped)>()
[INFO] [stdout] 826 +                 for (ent_id, (equipped)) in self.ecs_world.query::<&Equipped>()
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/universe_private.rs:832:38
[INFO] [stdout]     |
[INFO] [stdout] 832 |                         to_drop.push((ent_id));
[INFO] [stdout]     |                                      ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 832 -                         to_drop.push((ent_id));
[INFO] [stdout] 832 +                         to_drop.push(ent_id);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/universe_private.rs:859:18
[INFO] [stdout]     |
[INFO] [stdout] 859 |         for (id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout]     |                  ^      ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 859 -         for (id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout] 859 +         for (id, player) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/universe_private.rs:859:54
[INFO] [stdout]     |
[INFO] [stdout] 859 |         for (id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout]     |                                                      ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 859 -         for (id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout] 859 +         for (id, (player)) in self.ecs_world.query::<&Player>().iter() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `universe_private::*`
[INFO] [stdout]   --> src/lib.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | use universe_private::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/lispy.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 |       };
[INFO] [stdout]     |        ^ help: remove this semicolon
[INFO] [stdout] ...
[INFO] [stdout] 201 |     RispExp::Func(ensure_tonicity!(|a, b| a == b))
[INFO] [stdout]     |                   ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `ensure_tonicity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/lispy.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 |       };
[INFO] [stdout]     |        ^ help: remove this semicolon
[INFO] [stdout] ...
[INFO] [stdout] 205 |     RispExp::Func(ensure_tonicity!(|a, b| a > b))
[INFO] [stdout]     |                   ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `ensure_tonicity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/lispy.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 |       };
[INFO] [stdout]     |        ^ help: remove this semicolon
[INFO] [stdout] ...
[INFO] [stdout] 209 |     RispExp::Func(ensure_tonicity!(|a, b| a >= b))
[INFO] [stdout]     |                   ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `ensure_tonicity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/lispy.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 |       };
[INFO] [stdout]     |        ^ help: remove this semicolon
[INFO] [stdout] ...
[INFO] [stdout] 213 |     RispExp::Func(ensure_tonicity!(|a, b| a < b))
[INFO] [stdout]     |                   ------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `ensure_tonicity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/lispy.rs:141:8
[INFO] [stdout]     |
[INFO] [stdout] 141 |       };
[INFO] [stdout]     |        ^ help: remove this semicolon
[INFO] [stdout] ...
[INFO] [stdout] 217 |     RispExp::Func(ensure_tonicity!(|a, b| a <= b))
[INFO] [stdout]     |                   ------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `ensure_tonicity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread_rng`
[INFO] [stdout]   --> src/language.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | use rand::{Rng, thread_rng};
[INFO] [stdout]    |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/language.rs:216:21
[INFO] [stdout]     |
[INFO] [stdout] 216 |                     ///p.nodes.push(key.to_string());
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |                     let new_nodes = [p.nodes.clone().as_slice(), &[key.to_string()]].concat();
[INFO] [stdout]     |                     -------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around index expression
[INFO] [stdout]    --> src/language.rs:361:43
[INFO] [stdout]     |
[INFO] [stdout] 361 |                     let last_word = words[(word_count-1)];
[INFO] [stdout]     |                                           ^            ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 361 -                     let last_word = words[(word_count-1)];
[INFO] [stdout] 361 +                     let last_word = words[word_count-1];
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/language.rs:459:5
[INFO] [stdout]     |
[INFO] [stdout] 459 |     ///valid_keys.retain(|v| v[0] == filter.as_str());
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 460 |     return valid_keys;
[INFO] [stdout]     |     ----------------- rustdoc does not generate documentation for expressions
[INFO] [stdout]     |
[INFO] [stdout]     = help: use `//` for a plain comment
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::json`
[INFO] [stdout]  --> src/saveload.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use serde_json::json;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around pattern
[INFO] [stdout]    --> src/lib.rs:826:34
[INFO] [stdout]     |
[INFO] [stdout] 826 |                         for (id, (room_id)) in &mut self.ecs_world.query::<&usize>() {
[INFO] [stdout]     |                                  ^       ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 826 -                         for (id, (room_id)) in &mut self.ecs_world.query::<&usize>() {
[INFO] [stdout] 826 +                         for (id, room_id) in &mut self.ecs_world.query::<&usize>() {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/lib.rs:857:67
[INFO] [stdout]     |
[INFO] [stdout] 857 | ...ecs_world.spawn((EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build()));
[INFO] [stdout]     |                    ^                                                                                                   ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 857 -                                 let pistol = self.ecs_world.spawn((EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build()));
[INFO] [stdout] 857 +                                 let pistol = self.ecs_world.spawn(EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nm`
[INFO] [stdout]    --> src/universe_private.rs:321:33
[INFO] [stdout]     |
[INFO] [stdout] 321 | ...                   let nm = self.ecs_world.insert_one(sp, NPCName{name: sel_name.to_string()});
[INFO] [stdout]     |                           ^^ help: if this is intentional, prefix it with an underscore: `_nm`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nm`
[INFO] [stdout]    --> src/universe_private.rs:327:33
[INFO] [stdout]     |
[INFO] [stdout] 327 | ...                   let nm = self.ecs_world.insert_one(sp, NPCName{name: sel_name.to_string()});
[INFO] [stdout]     |                           ^^ help: if this is intentional, prefix it with an underscore: `_nm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/universe_private.rs:119:13
[INFO] [stdout]     |
[INFO] [stdout] 119 |         let mut end = self.map.len();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/universe_private.rs:370:25
[INFO] [stdout]     |
[INFO] [stdout] 370 |                     let mut r = &mut self.map[id];
[INFO] [stdout]     |                         ----^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/universe_private.rs:379:25
[INFO] [stdout]     |
[INFO] [stdout] 379 |                     let mut r = &mut self.map[id];
[INFO] [stdout]     |                         ----^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/universe_private.rs:388:25
[INFO] [stdout]     |
[INFO] [stdout] 388 |                     let mut r = &mut self.map[id];
[INFO] [stdout]     |                         ----^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/universe_private.rs:396:25
[INFO] [stdout]     |
[INFO] [stdout] 396 |                     let mut r = &mut self.map[id];
[INFO] [stdout]     |                         ----^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `data` is never read
[INFO] [stdout]    --> src/universe_private.rs:464:17
[INFO] [stdout]     |
[INFO] [stdout] 464 |         let mut data = Vec::new();
[INFO] [stdout]     |                 ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]    --> src/universe_private.rs:467:19
[INFO] [stdout]     |
[INFO] [stdout] 467 |         for (id, (item, backpack)) in &mut self.ecs_world.query::<(&Item, &InBackpack)>().iter(){
[INFO] [stdout]     |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `backpack`
[INFO] [stdout]    --> src/universe_private.rs:467:25
[INFO] [stdout]     |
[INFO] [stdout] 467 |         for (id, (item, backpack)) in &mut self.ecs_world.query::<(&Item, &InBackpack)>().iter(){
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_backpack`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player`
[INFO] [stdout]    --> src/universe_private.rs:493:19
[INFO] [stdout]     |
[INFO] [stdout] 493 |         for (id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/universe_private.rs:583:18
[INFO] [stdout]     |
[INFO] [stdout] 583 |             for (id, (wantstodrop)) in self.ecs_world.query::<(&WantsToDropItem)>().iter(){
[INFO] [stdout]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/universe_private.rs:603:14
[INFO] [stdout]     |
[INFO] [stdout] 603 |         for (id, (wantstouse)) in self.ecs_world.query::<(&WantsToUseItem)>().iter(){
[INFO] [stdout]     |              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `id`
[INFO] [stdout]    --> src/universe_private.rs:745:18
[INFO] [stdout]     |
[INFO] [stdout] 745 |             for (id, (power_bonus, equipped_by)) in self.ecs_world.query::<(&MeleeBonus, &Equipped)>().iter() {
[INFO] [stdout]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `equipped_by`
[INFO] [stdout]    --> src/universe_private.rs:745:36
[INFO] [stdout]     |
[INFO] [stdout] 745 |             for (id, (power_bonus, equipped_by)) in self.ecs_world.query::<(&MeleeBonus, &Equipped)>().iter() {
[INFO] [stdout]     |                                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_equipped_by`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ai`
[INFO] [stdout]    --> src/universe_private.rs:774:19
[INFO] [stdout]     |
[INFO] [stdout] 774 |         for (id, (ai, room_id)) in &mut self.ecs_world.query::<(&AI, &usize)>()
[INFO] [stdout]     |                   ^^ help: if this is intentional, prefix it with an underscore: `_ai`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player`
[INFO] [stdout]    --> src/universe_private.rs:782:29
[INFO] [stdout]     |
[INFO] [stdout] 782 |                 for (p_id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout]     |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `player`
[INFO] [stdout]    --> src/universe_private.rs:859:19
[INFO] [stdout]     |
[INFO] [stdout] 859 |         for (id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stdout]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/lispy.rs:327:21
[INFO] [stdout]     |
[INFO] [stdout] 327 |     RispExp::Symbol(s) => { 
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expr` is never read
[INFO] [stdout]    --> src/lispy.rs:440:11
[INFO] [stdout]     |
[INFO] [stdout] 440 |   let mut expr = String::new();
[INFO] [stdout]     |           ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `step`
[INFO] [stdout]    --> src/language.rs:121:17
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let mut step = 0;
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_step`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `options` is never read
[INFO] [stdout]    --> src/language.rs:141:25
[INFO] [stdout]     |
[INFO] [stdout] 141 |                         options = valid_initial_keys(keys, nouns); 
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `options` is never read
[INFO] [stdout]    --> src/language.rs:142:21
[INFO] [stdout]     |
[INFO] [stdout] 142 |                     options = valid_initial_keys(keys, nouns); 
[INFO] [stdout]     |                     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `options` is never read
[INFO] [stdout]    --> src/language.rs:143:25
[INFO] [stdout]     |
[INFO] [stdout] 143 |                         options = valid_initial_keys(keys, nouns); 
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `options` is never read
[INFO] [stdout]    --> src/language.rs:144:21
[INFO] [stdout]     |
[INFO] [stdout] 144 |                     options = valid_initial_keys(keys, nouns); 
[INFO] [stdout]     |                     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `step` is never read
[INFO] [stdout]    --> src/language.rs:239:13
[INFO] [stdout]     |
[INFO] [stdout] 239 |             step = step +1;
[INFO] [stdout]     |             ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/language.rs:121:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |         let mut step = 0;
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/language.rs:134:21
[INFO] [stdout]     |
[INFO] [stdout] 134 |                 let mut filter = &[&given_topic];
[INFO] [stdout]     |                     ----^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/language.rs:215:25
[INFO] [stdout]     |
[INFO] [stdout] 215 |                     let mut p = &mut paths_so_far[i];
[INFO] [stdout]     |                         ----^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/language.rs:251:13
[INFO] [stdout]     |
[INFO] [stdout] 251 |         for i in 0..max-2 {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `key` is never read
[INFO] [stdout]    --> src/language.rs:284:21
[INFO] [stdout]     |
[INFO] [stdout] 284 |             let mut key = "".to_string();
[INFO] [stdout]     |                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/language.rs:271:17
[INFO] [stdout]     |
[INFO] [stdout] 271 |             let mut key = initial_key(&keys, &self.nouns);
[INFO] [stdout]     |                 ----^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/language.rs:277:17
[INFO] [stdout]     |
[INFO] [stdout] 277 |             let mut sentence = key.clone();
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/language.rs:300:17
[INFO] [stdout]     |
[INFO] [stdout] 300 |             let mut sentence = key.clone();
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/language.rs:398:13
[INFO] [stdout]     |
[INFO] [stdout] 398 |         for i in 0..max {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/language.rs:411:13
[INFO] [stdout]     |
[INFO] [stdout] 411 |         for i in 0..1667 {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `num` is never read
[INFO] [stdout]    --> src/lib.rs:447:25
[INFO] [stdout]     |
[INFO] [stdout] 447 |                 let mut num = 0;
[INFO] [stdout]     |                         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/lib.rs:533:16
[INFO] [stdout]     |
[INFO] [stdout] 533 |               |args: &[RispExp]| -> Result<RispExp, RispErr> {
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `sentences` is never read
[INFO] [stdout]    --> src/lib.rs:691:17
[INFO] [stdout]     |
[INFO] [stdout] 691 |         let mut sentences = String::new();
[INFO] [stdout]     |                 ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `room_id`
[INFO] [stdout]    --> src/lib.rs:826:35
[INFO] [stdout]     |
[INFO] [stdout] 826 |                         for (id, (room_id)) in &mut self.ecs_world.query::<&usize>() {
[INFO] [stdout]     |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_room_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nm`
[INFO] [stdout]    --> src/lib.rs:864:37
[INFO] [stdout]     |
[INFO] [stdout] 864 | ...                   let nm = self.ecs_world.insert_one(sp, NPCName{name: sel_name.to_string()});
[INFO] [stdout]     |                           ^^ help: if this is intentional, prefix it with an underscore: `_nm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `nm`
[INFO] [stdout]    --> src/lib.rs:870:37
[INFO] [stdout]     |
[INFO] [stdout] 870 | ...                   let nm = self.ecs_world.insert_one(sp, NPCName{name: sel_name.to_string()});
[INFO] [stdout]     |                           ^^ help: if this is intentional, prefix it with an underscore: `_nm`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/lib.rs:808:9
[INFO] [stdout]     |
[INFO] [stdout] 808 |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Weather` is never constructed
[INFO] [stdout]    --> src/lib.rs:232:8
[INFO] [stdout]     |
[INFO] [stdout] 232 | struct Weather {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `make_test_d2` is never used
[INFO] [stdout]    --> src/universe_private.rs:724:8
[INFO] [stdout]     |
[INFO] [stdout] 51  | impl Universe {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 724 |     fn make_test_d2(&self, skill: u32) -> Vec<bool> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slurp_expr` is never used
[INFO] [stdout]    --> src/lispy.rs:439:4
[INFO] [stdout]     |
[INFO] [stdout] 439 | fn slurp_expr() -> String {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slurp_eval` is never used
[INFO] [stdout]    --> src/lispy.rs:452:8
[INFO] [stdout]     |
[INFO] [stdout] 452 | pub fn slurp_eval(env: &mut RispEnv) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]    --> src/lispy.rs:478:4
[INFO] [stdout]     |
[INFO] [stdout] 478 | fn main() {
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_lisp` is never used
[INFO] [stdout]    --> src/lispy.rs:486:8
[INFO] [stdout]     |
[INFO] [stdout] 486 | pub fn run_lisp(){
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SentenceState` is never constructed
[INFO] [stdout]   --> src/language.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct SentenceState {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Sentence` and `Question` are never constructed
[INFO] [stdout]   --> src/language.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub enum SentenceType {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 27 |     Sentence = 0,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 28 |     Question = 1,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SentenceType` 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: methods `display_block` and `display_novel` are never used
[INFO] [stdout]    --> src/language.rs:396:12
[INFO] [stdout]     |
[INFO] [stdout] 44  | impl Markov {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 396 |     pub fn display_block(&mut self, max: i32, max_s: i32) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 407 |     pub fn display_novel(&mut self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lib.rs:841:33
[INFO] [stdout]     |
[INFO] [stdout] 841 | ...   self.ecs_world.insert(sp, (AI{}, CombatStats{hp:10, max_hp:10, defense:1, power:1}, EncDistance{dist: Distance::Near}));
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 841 |                                 let _ = self.ecs_world.insert(sp, (AI{}, CombatStats{hp:10, max_hp:10, defense:1, power:1}, EncDistance{dist: Distance::Near}));
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lib.rs:845:33
[INFO] [stdout]     |
[INFO] [stdout] 845 | ...                   self.ecs_world.insert_one(l_jacket, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Torso});
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 845 |                                 let _ = self.ecs_world.insert_one(l_jacket, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Torso});
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lib.rs:846:33
[INFO] [stdout]     |
[INFO] [stdout] 846 | ...                   self.ecs_world.insert_one(boots, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Feet});
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 846 |                                 let _ = self.ecs_world.insert_one(boots, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Feet});
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lib.rs:847:33
[INFO] [stdout]     |
[INFO] [stdout] 847 | ...                   self.ecs_world.insert_one(jeans, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Legs});
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 847 |                                 let _ = self.ecs_world.insert_one(jeans, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Legs});
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lib.rs:850:33
[INFO] [stdout]     |
[INFO] [stdout] 850 | ...   self.ecs_world.insert(sp, (AI{}, CombatStats{hp:10, max_hp:10, defense:1, power:1}, EncDistance{dist: Distance::Far}));
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 850 |                                 let _ = self.ecs_world.insert(sp, (AI{}, CombatStats{hp:10, max_hp:10, defense:1, power:1}, EncDistance{dist: Distance::Far}));
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lib.rs:854:33
[INFO] [stdout]     |
[INFO] [stdout] 854 | ...                   self.ecs_world.insert_one(l_jacket, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Torso});
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 854 |                                 let _ = self.ecs_world.insert_one(l_jacket, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Torso});
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lib.rs:855:33
[INFO] [stdout]     |
[INFO] [stdout] 855 | ...                   self.ecs_world.insert_one(boots, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Feet});
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 855 |                                 let _ = self.ecs_world.insert_one(boots, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Feet});
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lib.rs:856:33
[INFO] [stdout]     |
[INFO] [stdout] 856 | ...                   self.ecs_world.insert_one(jeans, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Legs});
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 856 |                                 let _ = self.ecs_world.insert_one(jeans, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Legs});
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lib.rs:858:33
[INFO] [stdout]     |
[INFO] [stdout] 858 | ...                   self.ecs_world.insert_one(pistol, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Melee});
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 858 |                                 let _ = self.ecs_world.insert_one(pistol, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Melee});
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lib.rs:861:33
[INFO] [stdout]     |
[INFO] [stdout] 861 | ...                   self.ecs_world.insert_one(sp, Vendor{});
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 861 |                                 let _ = self.ecs_world.insert_one(sp, Vendor{});
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:296:29
[INFO] [stdout]     |
[INFO] [stdout] 296 | ...   self.ecs_world.insert(sp, (AI{}, CombatStats{hp:10, max_hp:10, defense:1, power:1}, EncDistance{dist: Distance::Near}));
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 296 |                             let _ = self.ecs_world.insert(sp, (AI{}, CombatStats{hp:10, max_hp:10, defense:1, power:1}, EncDistance{dist: Distance::Near}));
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:302:29
[INFO] [stdout]     |
[INFO] [stdout] 302 | ...                   self.ecs_world.insert_one(l_jacket, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Torso});
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 302 |                             let _ = self.ecs_world.insert_one(l_jacket, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Torso});
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:303:29
[INFO] [stdout]     |
[INFO] [stdout] 303 | ...                   self.ecs_world.insert_one(boots, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Feet});
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 303 |                             let _ = self.ecs_world.insert_one(boots, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Feet});
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:304:29
[INFO] [stdout]     |
[INFO] [stdout] 304 | ...                   self.ecs_world.insert_one(jeans, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Legs});
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 304 |                             let _ = self.ecs_world.insert_one(jeans, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Legs});
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:307:29
[INFO] [stdout]     |
[INFO] [stdout] 307 | ...   self.ecs_world.insert(sp, (AI{}, CombatStats{hp:10, max_hp:10, defense:1, power:1}, EncDistance{dist: Distance::Far}));
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 307 |                             let _ = self.ecs_world.insert(sp, (AI{}, CombatStats{hp:10, max_hp:10, defense:1, power:1}, EncDistance{dist: Distance::Far}));
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:311:29
[INFO] [stdout]     |
[INFO] [stdout] 311 | ...                   self.ecs_world.insert_one(l_jacket, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Torso});
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 311 |                             let _ = self.ecs_world.insert_one(l_jacket, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Torso});
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:312:29
[INFO] [stdout]     |
[INFO] [stdout] 312 | ...                   self.ecs_world.insert_one(boots, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Feet});
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 312 |                             let _ = self.ecs_world.insert_one(boots, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Feet});
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:313:29
[INFO] [stdout]     |
[INFO] [stdout] 313 | ...                   self.ecs_world.insert_one(jeans, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Legs});
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 313 |                             let _ = self.ecs_world.insert_one(jeans, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Legs});
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:315:29
[INFO] [stdout]     |
[INFO] [stdout] 315 | ...                   self.ecs_world.insert_one(pistol, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Melee});
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 315 |                             let _ = self.ecs_world.insert_one(pistol, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Melee});
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:318:29
[INFO] [stdout]     |
[INFO] [stdout] 318 | ...                   self.ecs_world.insert_one(sp, Vendor{});
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 318 |                             let _ = self.ecs_world.insert_one(sp, Vendor{});
[INFO] [stdout]     |                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:336:39
[INFO] [stdout]     |
[INFO] [stdout] 336 | ... { self.ecs_world.insert(sp, (EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build())); },
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 336 |                         "Medkit" => { let _ = self.ecs_world.insert(sp, (EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build())); },
[INFO] [stdout]     |                                       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:337:45
[INFO] [stdout]     |
[INFO] [stdout] 337 | ... { self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Combat knife"]]).build());...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 337 |                         "Combat_knife" => { let _ = self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Combat knife"]]).build()); },
[INFO] [stdout]     |                                             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:338:38
[INFO] [stdout]     |
[INFO] [stdout] 338 | ...> { self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Baton"]]).build()); },
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 338 |                         "Baton" => { let _ = self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Baton"]]).build()); },
[INFO] [stdout]     |                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:339:39
[INFO] [stdout]     |
[INFO] [stdout] 339 | ... { self.ecs_world.insert(sp, (EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build())); },
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 339 |                         "Pistol" => { let _ = self.ecs_world.insert(sp, (EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build())); },
[INFO] [stdout]     |                                       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:340:47
[INFO] [stdout]     |
[INFO] [stdout] 340 | ... { self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Leather jacket"]]).build()); }...
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 340 |                         "Leather_jacket" => { let _ = self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Leather jacket"]]).build()); }, //ToRemove{yes:false}
[INFO] [stdout]     |                                               +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:341:37
[INFO] [stdout]     |
[INFO] [stdout] 341 | ...=> { self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Camo"]]).build()); },
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 341 |                         "Camo" => { let _ = self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Camo"]]).build()); },
[INFO] [stdout]     |                                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:342:38
[INFO] [stdout]     |
[INFO] [stdout] 342 | ...> { self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Boots"]]).build()); },
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 342 |                         "Boots" => { let _ = self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Boots"]]).build()); },
[INFO] [stdout]     |                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:343:38
[INFO] [stdout]     |
[INFO] [stdout] 343 | ...> { self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Jeans"]]).build()); },
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 343 |                         "Jeans" => { let _ = self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Jeans"]]).build()); },
[INFO] [stdout]     |                                      +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:572:9
[INFO] [stdout]     |
[INFO] [stdout] 572 |         self.ecs_world.insert_one(*item, InBackpack{});
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 572 |         let _ = self.ecs_world.insert_one(*item, InBackpack{});
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:579:9
[INFO] [stdout]     |
[INFO] [stdout] 579 |         self.ecs_world.insert_one(*user, WantsToDropItem{item:*it});
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 579 |         let _ = self.ecs_world.insert_one(*user, WantsToDropItem{item:*it});
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:589:9
[INFO] [stdout]     |
[INFO] [stdout] 589 |         self.ecs_world.remove_one::<InBackpack>(*it);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 589 |         let _ = self.ecs_world.remove_one::<InBackpack>(*it);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:596:9
[INFO] [stdout]     |
[INFO] [stdout] 596 |         self.ecs_world.insert_one(*user, WantsToUseItem{item:*it});
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 596 |         let _ = self.ecs_world.insert_one(*user, WantsToUseItem{item:*it});
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:683:13
[INFO] [stdout]     |
[INFO] [stdout] 683 |             self.ecs_world.remove_one::<Equipped>(*item);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 683 |             let _ = self.ecs_world.remove_one::<Equipped>(*item);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:692:13
[INFO] [stdout]     |
[INFO] [stdout] 692 |             self.ecs_world.insert_one(*item, Equipped{owner:user.to_bits(), slot:eq.slot});
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 692 |             let _ = self.ecs_world.insert_one(*item, Equipped{owner:user.to_bits(), slot:eq.slot});
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_AI` should have a snake case name
[INFO] [stdout]    --> src/universe_private.rs:773:8
[INFO] [stdout]     |
[INFO] [stdout] 773 |     fn get_AI(&mut self) {
[INFO] [stdout]     |        ^^^^^^ help: convert the identifier to snake case: `get_ai`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:847:13
[INFO] [stdout]     |
[INFO] [stdout] 847 |             self.ecs_world.remove_one::<Equipped>(*it);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 847 |             let _ = self.ecs_world.remove_one::<Equipped>(*it);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/universe_private.rs:849:13
[INFO] [stdout]     |
[INFO] [stdout] 849 |             self.ecs_world.insert_one(*it, self.current_room);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 849 |             let _ = self.ecs_world.insert_one(*it, self.current_room);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `randomized_NPC_name` should have a snake case name
[INFO] [stdout]    --> src/universe_private.rs:872:12
[INFO] [stdout]     |
[INFO] [stdout] 872 |     pub fn randomized_NPC_name(male: bool, names: &HashMap<String, Vec<String>>) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `randomized_npc_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `SPANISH_MALE` should have a snake case name
[INFO] [stdout]    --> src/universe_private.rs:876:13
[INFO] [stdout]     |
[INFO] [stdout] 876 |         let SPANISH_MALE = &names["spanish_male"];
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `spanish_male`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `SPANISH_FEMALE` should have a snake case name
[INFO] [stdout]    --> src/universe_private.rs:877:13
[INFO] [stdout]     |
[INFO] [stdout] 877 |         let SPANISH_FEMALE = &names["spanish_female"];
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `spanish_female`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `SPANISH_LAST` should have a snake case name
[INFO] [stdout]    --> src/universe_private.rs:878:13
[INFO] [stdout]     |
[INFO] [stdout] 878 |         let SPANISH_LAST = &names["spanish_last"];
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `spanish_last`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lispy.rs:300:9
[INFO] [stdout]     |
[INFO] [stdout] 300 |         eval(&arg.clone(), env);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 300 |         let _ = eval(&arg.clone(), env);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/lispy.rs:355:7
[INFO] [stdout]     |
[INFO] [stdout] 355 |       eval(third_form, env);
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 355 |       let _ = eval(third_form, env);
[INFO] [stdout]     |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.95s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: wasm-bindgen v0.2.73
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "7ee1d33301aacb4ce08994a2a8a4769686a4cc33b9561219fa1d541e4a5603c8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7ee1d33301aacb4ce08994a2a8a4769686a4cc33b9561219fa1d541e4a5603c8", kill_on_drop: false }`
[INFO] [stdout] 7ee1d33301aacb4ce08994a2a8a4769686a4cc33b9561219fa1d541e4a5603c8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:3959728d45483eb673ba100a951a6b9f5012970368db2a9e08e0ac9b67c8a5ad" "/opt/rustwide/cargo-home/bin/cargo" "+1.85.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] b4de878b44adb7ffb8f1284d971ea39ac5ec3fad651f25cb09d85af502d46166
[INFO] running `Command { std: "docker" "start" "-a" "b4de878b44adb7ffb8f1284d971ea39ac5ec3fad651f25cb09d85af502d46166", kill_on_drop: false }`
[INFO] [stderr] warning: Found `debug_assertions` in `target.'cfg(...)'.dependencies`. This value is not supported for selecting dependencies and will not work as expected. To learn more visit https://doc.rust-lang.org/cargo/reference/specifying-dependencies.html#platform-specific-dependencies
[INFO] [stderr] warning: unused imports: `Ranged` and `Room`
[INFO] [stderr]  --> src/universe_private.rs:2:23
[INFO] [stderr]   |
[INFO] [stderr] 2 | use super::{Universe, Room, Exit, Distance, DataMaster, ItemPrefab,
[INFO] [stderr]   |                       ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 7 |     Equippable, Equipped, EquipmentSlot, MeleeBonus, DefenseBonus, Ranged,
[INFO] [stderr]   |                                                                    ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around method argument
[INFO] [stderr]    --> src/universe_private.rs:314:63
[INFO] [stderr]     |
[INFO] [stderr] 314 | ...ecs_world.spawn((EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build()));
[INFO] [stderr]     |                    ^                                                                                                   ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 314 -                             let pistol = self.ecs_world.spawn((EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build()));
[INFO] [stderr] 314 +                             let pistol = self.ecs_world.spawn(EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build());
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around method argument
[INFO] [stderr]    --> src/universe_private.rs:336:65
[INFO] [stderr]     |
[INFO] [stderr] 336 | ...orld.insert(sp, (EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build())); },
[INFO] [stderr]     |                    ^                                                                                                   ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 336 -                         "Medkit" => { self.ecs_world.insert(sp, (EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build())); },
[INFO] [stderr] 336 +                         "Medkit" => { self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build()); },
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around method argument
[INFO] [stderr]    --> src/universe_private.rs:339:65
[INFO] [stderr]     |
[INFO] [stderr] 339 | ...orld.insert(sp, (EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build())); },
[INFO] [stderr]     |                    ^                                                                                                   ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 339 -                         "Pistol" => { self.ecs_world.insert(sp, (EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build())); },
[INFO] [stderr] 339 +                         "Pistol" => { self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build()); },
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around pattern
[INFO] [stderr]    --> src/universe_private.rs:428:18
[INFO] [stderr]     |
[INFO] [stderr] 428 |         for (id, (room_id)) in self.ecs_world.query::<(&usize)>()
[INFO] [stderr]     |                  ^       ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 428 -         for (id, (room_id)) in self.ecs_world.query::<(&usize)>()
[INFO] [stderr] 428 +         for (id, room_id) in self.ecs_world.query::<(&usize)>()
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/universe_private.rs:428:55
[INFO] [stderr]     |
[INFO] [stderr] 428 |         for (id, (room_id)) in self.ecs_world.query::<(&usize)>()
[INFO] [stderr]     |                                                       ^      ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 428 -         for (id, (room_id)) in self.ecs_world.query::<(&usize)>()
[INFO] [stderr] 428 +         for (id, (room_id)) in self.ecs_world.query::<&usize>()
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around pattern
[INFO] [stderr]    --> src/universe_private.rs:493:18
[INFO] [stderr]     |
[INFO] [stderr] 493 |         for (id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stderr]     |                  ^      ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 493 -         for (id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stderr] 493 +         for (id, player) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/universe_private.rs:493:54
[INFO] [stderr]     |
[INFO] [stderr] 493 |         for (id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stderr]     |                                                      ^       ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 493 -         for (id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stderr] 493 +         for (id, (player)) in self.ecs_world.query::<&Player>().iter() {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around pattern
[INFO] [stderr]    --> src/universe_private.rs:583:22
[INFO] [stderr]     |
[INFO] [stderr] 583 |             for (id, (wantstodrop)) in self.ecs_world.query::<(&WantsToDropItem)>().iter(){
[INFO] [stderr]     |                      ^           ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 583 -             for (id, (wantstodrop)) in self.ecs_world.query::<(&WantsToDropItem)>().iter(){
[INFO] [stderr] 583 +             for (id, wantstodrop) in self.ecs_world.query::<(&WantsToDropItem)>().iter(){
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/universe_private.rs:583:63
[INFO] [stderr]     |
[INFO] [stderr] 583 |             for (id, (wantstodrop)) in self.ecs_world.query::<(&WantsToDropItem)>().iter(){
[INFO] [stderr]     |                                                               ^                ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 583 -             for (id, (wantstodrop)) in self.ecs_world.query::<(&WantsToDropItem)>().iter(){
[INFO] [stderr] 583 +             for (id, (wantstodrop)) in self.ecs_world.query::<&WantsToDropItem>().iter(){
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around pattern
[INFO] [stderr]    --> src/universe_private.rs:603:18
[INFO] [stderr]     |
[INFO] [stderr] 603 |         for (id, (wantstouse)) in self.ecs_world.query::<(&WantsToUseItem)>().iter(){
[INFO] [stderr]     |                  ^          ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 603 -         for (id, (wantstouse)) in self.ecs_world.query::<(&WantsToUseItem)>().iter(){
[INFO] [stderr] 603 +         for (id, wantstouse) in self.ecs_world.query::<(&WantsToUseItem)>().iter(){
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/universe_private.rs:603:58
[INFO] [stderr]     |
[INFO] [stderr] 603 |         for (id, (wantstouse)) in self.ecs_world.query::<(&WantsToUseItem)>().iter(){
[INFO] [stderr]     |                                                          ^               ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 603 -         for (id, (wantstouse)) in self.ecs_world.query::<(&WantsToUseItem)>().iter(){
[INFO] [stderr] 603 +         for (id, (wantstouse)) in self.ecs_world.query::<&WantsToUseItem>().iter(){
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around pattern
[INFO] [stderr]    --> src/universe_private.rs:653:34
[INFO] [stderr]     |
[INFO] [stderr] 653 |                     for (ent_id, (equipped)) in self.ecs_world.query::<(&Equipped)>()
[INFO] [stderr]     |                                  ^        ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 653 -                     for (ent_id, (equipped)) in self.ecs_world.query::<(&Equipped)>()
[INFO] [stderr] 653 +                     for (ent_id, equipped) in self.ecs_world.query::<(&Equipped)>()
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/universe_private.rs:653:72
[INFO] [stderr]     |
[INFO] [stderr] 653 |                     for (ent_id, (equipped)) in self.ecs_world.query::<(&Equipped)>()
[INFO] [stderr]     |                                                                        ^         ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 653 -                     for (ent_id, (equipped)) in self.ecs_world.query::<(&Equipped)>()
[INFO] [stderr] 653 +                     for (ent_id, (equipped)) in self.ecs_world.query::<&Equipped>()
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around pattern
[INFO] [stderr]    --> src/universe_private.rs:782:28
[INFO] [stderr]     |
[INFO] [stderr] 782 |                 for (p_id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stderr]     |                            ^      ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 782 -                 for (p_id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stderr] 782 +                 for (p_id, player) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/universe_private.rs:782:64
[INFO] [stderr]     |
[INFO] [stderr] 782 |                 for (p_id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stderr]     |                                                                ^       ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 782 -                 for (p_id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stderr] 782 +                 for (p_id, (player)) in self.ecs_world.query::<&Player>().iter() {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/universe_private.rs:801:31
[INFO] [stderr]     |
[INFO] [stderr] 801 |         let mut to_drop : Vec<(Entity)> = Vec::new();
[INFO] [stderr]     |                               ^      ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 801 -         let mut to_drop : Vec<(Entity)> = Vec::new();
[INFO] [stderr] 801 +         let mut to_drop : Vec<Entity> = Vec::new();
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around pattern
[INFO] [stderr]    --> src/universe_private.rs:826:30
[INFO] [stderr]     |
[INFO] [stderr] 826 |                 for (ent_id, (equipped)) in self.ecs_world.query::<(&Equipped)>()
[INFO] [stderr]     |                              ^        ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 826 -                 for (ent_id, (equipped)) in self.ecs_world.query::<(&Equipped)>()
[INFO] [stderr] 826 +                 for (ent_id, equipped) in self.ecs_world.query::<(&Equipped)>()
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/universe_private.rs:826:68
[INFO] [stderr]     |
[INFO] [stderr] 826 |                 for (ent_id, (equipped)) in self.ecs_world.query::<(&Equipped)>()
[INFO] [stderr]     |                                                                    ^         ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 826 -                 for (ent_id, (equipped)) in self.ecs_world.query::<(&Equipped)>()
[INFO] [stderr] 826 +                 for (ent_id, (equipped)) in self.ecs_world.query::<&Equipped>()
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around method argument
[INFO] [stderr]    --> src/universe_private.rs:832:38
[INFO] [stderr]     |
[INFO] [stderr] 832 |                         to_drop.push((ent_id));
[INFO] [stderr]     |                                      ^      ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 832 -                         to_drop.push((ent_id));
[INFO] [stderr] 832 +                         to_drop.push(ent_id);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around pattern
[INFO] [stderr]    --> src/universe_private.rs:859:18
[INFO] [stderr]     |
[INFO] [stderr] 859 |         for (id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stderr]     |                  ^      ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 859 -         for (id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stderr] 859 +         for (id, player) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/universe_private.rs:859:54
[INFO] [stderr]     |
[INFO] [stderr] 859 |         for (id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stderr]     |                                                      ^       ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 859 -         for (id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stderr] 859 +         for (id, (player)) in self.ecs_world.query::<&Player>().iter() {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `universe_private::*`
[INFO] [stderr]   --> src/lib.rs:36:5
[INFO] [stderr]    |
[INFO] [stderr] 36 | use universe_private::*;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/lispy.rs:141:8
[INFO] [stderr]     |
[INFO] [stderr] 141 |       };
[INFO] [stderr]     |        ^ help: remove this semicolon
[INFO] [stderr] ...
[INFO] [stderr] 201 |     RispExp::Func(ensure_tonicity!(|a, b| a == b))
[INFO] [stderr]     |                   ------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stderr]     = note: this warning originates in the macro `ensure_tonicity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/lispy.rs:141:8
[INFO] [stderr]     |
[INFO] [stderr] 141 |       };
[INFO] [stderr]     |        ^ help: remove this semicolon
[INFO] [stderr] ...
[INFO] [stderr] 205 |     RispExp::Func(ensure_tonicity!(|a, b| a > b))
[INFO] [stderr]     |                   ------------------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `ensure_tonicity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/lispy.rs:141:8
[INFO] [stderr]     |
[INFO] [stderr] 141 |       };
[INFO] [stderr]     |        ^ help: remove this semicolon
[INFO] [stderr] ...
[INFO] [stderr] 209 |     RispExp::Func(ensure_tonicity!(|a, b| a >= b))
[INFO] [stderr]     |                   ------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `ensure_tonicity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/lispy.rs:141:8
[INFO] [stderr]     |
[INFO] [stderr] 141 |       };
[INFO] [stderr]     |        ^ help: remove this semicolon
[INFO] [stderr] ...
[INFO] [stderr] 213 |     RispExp::Func(ensure_tonicity!(|a, b| a < b))
[INFO] [stderr]     |                   ------------------------------ in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `ensure_tonicity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary trailing semicolon
[INFO] [stderr]    --> src/lispy.rs:141:8
[INFO] [stderr]     |
[INFO] [stderr] 141 |       };
[INFO] [stderr]     |        ^ help: remove this semicolon
[INFO] [stderr] ...
[INFO] [stderr] 217 |     RispExp::Func(ensure_tonicity!(|a, b| a <= b))
[INFO] [stderr]     |                   ------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in the macro `ensure_tonicity` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `thread_rng`
[INFO] [stderr]   --> src/language.rs:15:17
[INFO] [stderr]    |
[INFO] [stderr] 15 | use rand::{Rng, thread_rng};
[INFO] [stderr]    |                 ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/language.rs:216:21
[INFO] [stderr]     |
[INFO] [stderr] 216 |                     ///p.nodes.push(key.to_string());
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 220 |                     let new_nodes = [p.nodes.clone().as_slice(), &[key.to_string()]].concat();
[INFO] [stderr]     |                     -------------------------------------------------------------------------- rustdoc does not generate documentation for statements
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around index expression
[INFO] [stderr]    --> src/language.rs:361:43
[INFO] [stderr]     |
[INFO] [stderr] 361 |                     let last_word = words[(word_count-1)];
[INFO] [stderr]     |                                           ^            ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 361 -                     let last_word = words[(word_count-1)];
[INFO] [stderr] 361 +                     let last_word = words[word_count-1];
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]    --> src/language.rs:459:5
[INFO] [stderr]     |
[INFO] [stderr] 459 |     ///valid_keys.retain(|v| v[0] == filter.as_str());
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 460 |     return valid_keys;
[INFO] [stderr]     |     ----------------- rustdoc does not generate documentation for expressions
[INFO] [stderr]     |
[INFO] [stderr]     = help: use `//` for a plain comment
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde_json::json`
[INFO] [stderr]  --> src/saveload.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use serde_json::json;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around pattern
[INFO] [stderr]    --> src/lib.rs:826:34
[INFO] [stderr]     |
[INFO] [stderr] 826 |                         for (id, (room_id)) in &mut self.ecs_world.query::<&usize>() {
[INFO] [stderr]     |                                  ^       ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 826 -                         for (id, (room_id)) in &mut self.ecs_world.query::<&usize>() {
[INFO] [stderr] 826 +                         for (id, room_id) in &mut self.ecs_world.query::<&usize>() {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around method argument
[INFO] [stderr]    --> src/lib.rs:857:67
[INFO] [stderr]     |
[INFO] [stderr] 857 | ...ecs_world.spawn((EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build()));
[INFO] [stderr]     |                    ^                                                                                                   ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 857 -                                 let pistol = self.ecs_world.spawn((EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build()));
[INFO] [stderr] 857 +                                 let pistol = self.ecs_world.spawn(EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build());
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `nm`
[INFO] [stderr]    --> src/universe_private.rs:321:33
[INFO] [stderr]     |
[INFO] [stderr] 321 | ...                   let nm = self.ecs_world.insert_one(sp, NPCName{name: sel_name.to_string()});
[INFO] [stderr]     |                           ^^ help: if this is intentional, prefix it with an underscore: `_nm`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `nm`
[INFO] [stderr]    --> src/universe_private.rs:327:33
[INFO] [stderr]     |
[INFO] [stderr] 327 | ...                   let nm = self.ecs_world.insert_one(sp, NPCName{name: sel_name.to_string()});
[INFO] [stderr]     |                           ^^ help: if this is intentional, prefix it with an underscore: `_nm`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/universe_private.rs:119:13
[INFO] [stderr]     |
[INFO] [stderr] 119 |         let mut end = self.map.len();
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/universe_private.rs:370:25
[INFO] [stderr]     |
[INFO] [stderr] 370 |                     let mut r = &mut self.map[id];
[INFO] [stderr]     |                         ----^
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/universe_private.rs:379:25
[INFO] [stderr]     |
[INFO] [stderr] 379 |                     let mut r = &mut self.map[id];
[INFO] [stderr]     |                         ----^
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/universe_private.rs:388:25
[INFO] [stderr]     |
[INFO] [stderr] 388 |                     let mut r = &mut self.map[id];
[INFO] [stderr]     |                         ----^
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/universe_private.rs:396:25
[INFO] [stderr]     |
[INFO] [stderr] 396 |                     let mut r = &mut self.map[id];
[INFO] [stderr]     |                         ----^
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `data` is never read
[INFO] [stderr]    --> src/universe_private.rs:464:17
[INFO] [stderr]     |
[INFO] [stderr] 464 |         let mut data = Vec::new();
[INFO] [stderr]     |                 ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr]     = note: `#[warn(unused_assignments)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `item`
[INFO] [stderr]    --> src/universe_private.rs:467:19
[INFO] [stderr]     |
[INFO] [stderr] 467 |         for (id, (item, backpack)) in &mut self.ecs_world.query::<(&Item, &InBackpack)>().iter(){
[INFO] [stderr]     |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `backpack`
[INFO] [stderr]    --> src/universe_private.rs:467:25
[INFO] [stderr]     |
[INFO] [stderr] 467 |         for (id, (item, backpack)) in &mut self.ecs_world.query::<(&Item, &InBackpack)>().iter(){
[INFO] [stderr]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_backpack`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `player`
[INFO] [stderr]    --> src/universe_private.rs:493:19
[INFO] [stderr]     |
[INFO] [stderr] 493 |         for (id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stderr]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]    --> src/universe_private.rs:583:18
[INFO] [stderr]     |
[INFO] [stderr] 583 |             for (id, (wantstodrop)) in self.ecs_world.query::<(&WantsToDropItem)>().iter(){
[INFO] [stderr]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]    --> src/universe_private.rs:603:14
[INFO] [stderr]     |
[INFO] [stderr] 603 |         for (id, (wantstouse)) in self.ecs_world.query::<(&WantsToUseItem)>().iter(){
[INFO] [stderr]     |              ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `id`
[INFO] [stderr]    --> src/universe_private.rs:745:18
[INFO] [stderr]     |
[INFO] [stderr] 745 |             for (id, (power_bonus, equipped_by)) in self.ecs_world.query::<(&MeleeBonus, &Equipped)>().iter() {
[INFO] [stderr]     |                  ^^ help: if this is intentional, prefix it with an underscore: `_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `equipped_by`
[INFO] [stderr]    --> src/universe_private.rs:745:36
[INFO] [stderr]     |
[INFO] [stderr] 745 |             for (id, (power_bonus, equipped_by)) in self.ecs_world.query::<(&MeleeBonus, &Equipped)>().iter() {
[INFO] [stderr]     |                                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_equipped_by`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ai`
[INFO] [stderr]    --> src/universe_private.rs:774:19
[INFO] [stderr]     |
[INFO] [stderr] 774 |         for (id, (ai, room_id)) in &mut self.ecs_world.query::<(&AI, &usize)>()
[INFO] [stderr]     |                   ^^ help: if this is intentional, prefix it with an underscore: `_ai`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `player`
[INFO] [stderr]    --> src/universe_private.rs:782:29
[INFO] [stderr]     |
[INFO] [stderr] 782 |                 for (p_id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stderr]     |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `player`
[INFO] [stderr]    --> src/universe_private.rs:859:19
[INFO] [stderr]     |
[INFO] [stderr] 859 |         for (id, (player)) in self.ecs_world.query::<(&Player)>().iter() {
[INFO] [stderr]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_player`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `s`
[INFO] [stderr]    --> src/lispy.rs:327:21
[INFO] [stderr]     |
[INFO] [stderr] 327 |     RispExp::Symbol(s) => { 
[INFO] [stderr]     |                     ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `expr` is never read
[INFO] [stderr]    --> src/lispy.rs:440:11
[INFO] [stderr]     |
[INFO] [stderr] 440 |   let mut expr = String::new();
[INFO] [stderr]     |           ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `step`
[INFO] [stderr]    --> src/language.rs:121:17
[INFO] [stderr]     |
[INFO] [stderr] 121 |         let mut step = 0;
[INFO] [stderr]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_step`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `options` is never read
[INFO] [stderr]    --> src/language.rs:141:25
[INFO] [stderr]     |
[INFO] [stderr] 141 |                         options = valid_initial_keys(keys, nouns); 
[INFO] [stderr]     |                         ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `options` is never read
[INFO] [stderr]    --> src/language.rs:142:21
[INFO] [stderr]     |
[INFO] [stderr] 142 |                     options = valid_initial_keys(keys, nouns); 
[INFO] [stderr]     |                     ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `options` is never read
[INFO] [stderr]    --> src/language.rs:143:25
[INFO] [stderr]     |
[INFO] [stderr] 143 |                         options = valid_initial_keys(keys, nouns); 
[INFO] [stderr]     |                         ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `options` is never read
[INFO] [stderr]    --> src/language.rs:144:21
[INFO] [stderr]     |
[INFO] [stderr] 144 |                     options = valid_initial_keys(keys, nouns); 
[INFO] [stderr]     |                     ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `step` is never read
[INFO] [stderr]    --> src/language.rs:239:13
[INFO] [stderr]     |
[INFO] [stderr] 239 |             step = step +1;
[INFO] [stderr]     |             ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/language.rs:121:13
[INFO] [stderr]     |
[INFO] [stderr] 121 |         let mut step = 0;
[INFO] [stderr]     |             ----^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/language.rs:134:21
[INFO] [stderr]     |
[INFO] [stderr] 134 |                 let mut filter = &[&given_topic];
[INFO] [stderr]     |                     ----^^^^^^
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/language.rs:215:25
[INFO] [stderr]     |
[INFO] [stderr] 215 |                     let mut p = &mut paths_so_far[i];
[INFO] [stderr]     |                         ----^
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/language.rs:251:13
[INFO] [stderr]     |
[INFO] [stderr] 251 |         for i in 0..max-2 {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `key` is never read
[INFO] [stderr]    --> src/language.rs:284:21
[INFO] [stderr]     |
[INFO] [stderr] 284 |             let mut key = "".to_string();
[INFO] [stderr]     |                     ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/language.rs:271:17
[INFO] [stderr]     |
[INFO] [stderr] 271 |             let mut key = initial_key(&keys, &self.nouns);
[INFO] [stderr]     |                 ----^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/language.rs:277:17
[INFO] [stderr]     |
[INFO] [stderr] 277 |             let mut sentence = key.clone();
[INFO] [stderr]     |                 ----^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/language.rs:300:17
[INFO] [stderr]     |
[INFO] [stderr] 300 |             let mut sentence = key.clone();
[INFO] [stderr]     |                 ----^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/language.rs:398:13
[INFO] [stderr]     |
[INFO] [stderr] 398 |         for i in 0..max {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/language.rs:411:13
[INFO] [stderr]     |
[INFO] [stderr] 411 |         for i in 0..1667 {
[INFO] [stderr]     |             ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `num` is never read
[INFO] [stderr]    --> src/lib.rs:447:25
[INFO] [stderr]     |
[INFO] [stderr] 447 |                 let mut num = 0;
[INFO] [stderr]     |                         ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `args`
[INFO] [stderr]    --> src/lib.rs:533:16
[INFO] [stderr]     |
[INFO] [stderr] 533 |               |args: &[RispExp]| -> Result<RispExp, RispErr> {
[INFO] [stderr]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stderr] 
[INFO] [stderr] warning: value assigned to `sentences` is never read
[INFO] [stderr]    --> src/lib.rs:691:17
[INFO] [stderr]     |
[INFO] [stderr] 691 |         let mut sentences = String::new();
[INFO] [stderr]     |                 ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: maybe it is overwritten before being read?
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `room_id`
[INFO] [stderr]    --> src/lib.rs:826:35
[INFO] [stderr]     |
[INFO] [stderr] 826 |                         for (id, (room_id)) in &mut self.ecs_world.query::<&usize>() {
[INFO] [stderr]     |                                   ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_room_id`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `nm`
[INFO] [stderr]    --> src/lib.rs:864:37
[INFO] [stderr]     |
[INFO] [stderr] 864 | ...                   let nm = self.ecs_world.insert_one(sp, NPCName{name: sel_name.to_string()});
[INFO] [stderr]     |                           ^^ help: if this is intentional, prefix it with an underscore: `_nm`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `nm`
[INFO] [stderr]    --> src/lib.rs:870:37
[INFO] [stderr]     |
[INFO] [stderr] 870 | ...                   let nm = self.ecs_world.insert_one(sp, NPCName{name: sel_name.to_string()});
[INFO] [stderr]     |                           ^^ help: if this is intentional, prefix it with an underscore: `_nm`
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/lib.rs:808:9
[INFO] [stderr]     |
[INFO] [stderr] 808 |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_unsafe)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Weather` is never constructed
[INFO] [stderr]    --> src/lib.rs:232:8
[INFO] [stderr]     |
[INFO] [stderr] 232 | struct Weather {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `make_test_d2` is never used
[INFO] [stderr]    --> src/universe_private.rs:724:8
[INFO] [stderr]     |
[INFO] [stderr] 51  | impl Universe {
[INFO] [stderr]     | ------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 724 |     fn make_test_d2(&self, skill: u32) -> Vec<bool> {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `slurp_expr` is never used
[INFO] [stderr]    --> src/lispy.rs:439:4
[INFO] [stderr]     |
[INFO] [stderr] 439 | fn slurp_expr() -> String {
[INFO] [stderr]     |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `slurp_eval` is never used
[INFO] [stderr]    --> src/lispy.rs:452:8
[INFO] [stderr]     |
[INFO] [stderr] 452 | pub fn slurp_eval(env: &mut RispEnv) {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `main` is never used
[INFO] [stderr]    --> src/lispy.rs:478:4
[INFO] [stderr]     |
[INFO] [stderr] 478 | fn main() {
[INFO] [stderr]     |    ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `run_lisp` is never used
[INFO] [stderr]    --> src/lispy.rs:486:8
[INFO] [stderr]     |
[INFO] [stderr] 486 | pub fn run_lisp(){
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SentenceState` is never constructed
[INFO] [stderr]   --> src/language.rs:20:8
[INFO] [stderr]    |
[INFO] [stderr] 20 | struct SentenceState {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Sentence` and `Question` are never constructed
[INFO] [stderr]   --> src/language.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub enum SentenceType {
[INFO] [stderr]    |          ------------ variants in this enum
[INFO] [stderr] 27 |     Sentence = 0,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 28 |     Question = 1,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SentenceType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `display_block` and `display_novel` are never used
[INFO] [stderr]    --> src/language.rs:396:12
[INFO] [stderr]     |
[INFO] [stderr] 44  | impl Markov {
[INFO] [stderr]     | ----------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 396 |     pub fn display_block(&mut self, max: i32, max_s: i32) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 407 |     pub fn display_novel(&mut self) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/lib.rs:841:33
[INFO] [stderr]     |
[INFO] [stderr] 841 | ...   self.ecs_world.insert(sp, (AI{}, CombatStats{hp:10, max_hp:10, defense:1, power:1}, EncDistance{dist: Distance::Near}));
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 841 |                                 let _ = self.ecs_world.insert(sp, (AI{}, CombatStats{hp:10, max_hp:10, defense:1, power:1}, EncDistance{dist: Distance::Near}));
[INFO] [stderr]     |                                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/lib.rs:845:33
[INFO] [stderr]     |
[INFO] [stderr] 845 | ...                   self.ecs_world.insert_one(l_jacket, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Torso});
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 845 |                                 let _ = self.ecs_world.insert_one(l_jacket, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Torso});
[INFO] [stderr]     |                                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/lib.rs:846:33
[INFO] [stderr]     |
[INFO] [stderr] 846 | ...                   self.ecs_world.insert_one(boots, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Feet});
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 846 |                                 let _ = self.ecs_world.insert_one(boots, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Feet});
[INFO] [stderr]     |                                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/lib.rs:847:33
[INFO] [stderr]     |
[INFO] [stderr] 847 | ...                   self.ecs_world.insert_one(jeans, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Legs});
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 847 |                                 let _ = self.ecs_world.insert_one(jeans, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Legs});
[INFO] [stderr]     |                                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/lib.rs:850:33
[INFO] [stderr]     |
[INFO] [stderr] 850 | ...   self.ecs_world.insert(sp, (AI{}, CombatStats{hp:10, max_hp:10, defense:1, power:1}, EncDistance{dist: Distance::Far}));
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 850 |                                 let _ = self.ecs_world.insert(sp, (AI{}, CombatStats{hp:10, max_hp:10, defense:1, power:1}, EncDistance{dist: Distance::Far}));
[INFO] [stderr]     |                                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/lib.rs:854:33
[INFO] [stderr]     |
[INFO] [stderr] 854 | ...                   self.ecs_world.insert_one(l_jacket, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Torso});
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 854 |                                 let _ = self.ecs_world.insert_one(l_jacket, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Torso});
[INFO] [stderr]     |                                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/lib.rs:855:33
[INFO] [stderr]     |
[INFO] [stderr] 855 | ...                   self.ecs_world.insert_one(boots, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Feet});
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 855 |                                 let _ = self.ecs_world.insert_one(boots, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Feet});
[INFO] [stderr]     |                                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/lib.rs:856:33
[INFO] [stderr]     |
[INFO] [stderr] 856 | ...                   self.ecs_world.insert_one(jeans, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Legs});
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 856 |                                 let _ = self.ecs_world.insert_one(jeans, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Legs});
[INFO] [stderr]     |                                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/lib.rs:858:33
[INFO] [stderr]     |
[INFO] [stderr] 858 | ...                   self.ecs_world.insert_one(pistol, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Melee});
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 858 |                                 let _ = self.ecs_world.insert_one(pistol, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Melee});
[INFO] [stderr]     |                                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/lib.rs:861:33
[INFO] [stderr]     |
[INFO] [stderr] 861 | ...                   self.ecs_world.insert_one(sp, Vendor{});
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 861 |                                 let _ = self.ecs_world.insert_one(sp, Vendor{});
[INFO] [stderr]     |                                 +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/universe_private.rs:296:29
[INFO] [stderr]     |
[INFO] [stderr] 296 | ...   self.ecs_world.insert(sp, (AI{}, CombatStats{hp:10, max_hp:10, defense:1, power:1}, EncDistance{dist: Distance::Near}));
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 296 |                             let _ = self.ecs_world.insert(sp, (AI{}, CombatStats{hp:10, max_hp:10, defense:1, power:1}, EncDistance{dist: Distance::Near}));
[INFO] [stderr]     |                             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/universe_private.rs:302:29
[INFO] [stderr]     |
[INFO] [stderr] 302 | ...                   self.ecs_world.insert_one(l_jacket, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Torso});
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 302 |                             let _ = self.ecs_world.insert_one(l_jacket, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Torso});
[INFO] [stderr]     |                             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/universe_private.rs:303:29
[INFO] [stderr]     |
[INFO] [stderr] 303 | ...                   self.ecs_world.insert_one(boots, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Feet});
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 303 |                             let _ = self.ecs_world.insert_one(boots, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Feet});
[INFO] [stderr]     |                             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/universe_private.rs:304:29
[INFO] [stderr]     |
[INFO] [stderr] 304 | ...                   self.ecs_world.insert_one(jeans, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Legs});
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 304 |                             let _ = self.ecs_world.insert_one(jeans, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Legs});
[INFO] [stderr]     |                             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/universe_private.rs:307:29
[INFO] [stderr]     |
[INFO] [stderr] 307 | ...   self.ecs_world.insert(sp, (AI{}, CombatStats{hp:10, max_hp:10, defense:1, power:1}, EncDistance{dist: Distance::Far}));
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 307 |                             let _ = self.ecs_world.insert(sp, (AI{}, CombatStats{hp:10, max_hp:10, defense:1, power:1}, EncDistance{dist: Distance::Far}));
[INFO] [stderr]     |                             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/universe_private.rs:311:29
[INFO] [stderr]     |
[INFO] [stderr] 311 | ...                   self.ecs_world.insert_one(l_jacket, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Torso});
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 311 |                             let _ = self.ecs_world.insert_one(l_jacket, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Torso});
[INFO] [stderr]     |                             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/universe_private.rs:312:29
[INFO] [stderr]     |
[INFO] [stderr] 312 | ...                   self.ecs_world.insert_one(boots, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Feet});
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 312 |                             let _ = self.ecs_world.insert_one(boots, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Feet});
[INFO] [stderr]     |                             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/universe_private.rs:313:29
[INFO] [stderr]     |
[INFO] [stderr] 313 | ...                   self.ecs_world.insert_one(jeans, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Legs});
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 313 |                             let _ = self.ecs_world.insert_one(jeans, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Legs});
[INFO] [stderr]     |                             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/universe_private.rs:315:29
[INFO] [stderr]     |
[INFO] [stderr] 315 | ...                   self.ecs_world.insert_one(pistol, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Melee});
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 315 |                             let _ = self.ecs_world.insert_one(pistol, Equipped{ owner: sp.to_bits(), slot: EquipmentSlot::Melee});
[INFO] [stderr]     |                             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/universe_private.rs:318:29
[INFO] [stderr]     |
[INFO] [stderr] 318 | ...                   self.ecs_world.insert_one(sp, Vendor{});
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 318 |                             let _ = self.ecs_world.insert_one(sp, Vendor{});
[INFO] [stderr]     |                             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/universe_private.rs:336:39
[INFO] [stderr]     |
[INFO] [stderr] 336 | ... { self.ecs_world.insert(sp, (EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build())); },
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 336 |                         "Medkit" => { let _ = self.ecs_world.insert(sp, (EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build())); },
[INFO] [stderr]     |                                       +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/universe_private.rs:337:45
[INFO] [stderr]     |
[INFO] [stderr] 337 | ... { self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Combat knife"]]).build());...
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 337 |                         "Combat_knife" => { let _ = self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Combat knife"]]).build()); },
[INFO] [stderr]     |                                             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/universe_private.rs:338:38
[INFO] [stderr]     |
[INFO] [stderr] 338 | ...> { self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Baton"]]).build()); },
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 338 |                         "Baton" => { let _ = self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Baton"]]).build()); },
[INFO] [stderr]     |                                      +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/universe_private.rs:339:39
[INFO] [stderr]     |
[INFO] [stderr] 339 | ... { self.ecs_world.insert(sp, (EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build())); },
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 339 |                         "Pistol" => { let _ = self.ecs_world.insert(sp, (EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Pistol"]]).build())); },
[INFO] [stderr]     |                                       +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/universe_private.rs:340:47
[INFO] [stderr]     |
[INFO] [stderr] 340 | ... { self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Leather jacket"]]).build()); }...
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 340 |                         "Leather_jacket" => { let _ = self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Leather jacket"]]).build()); }, //ToRemove{yes:false}
[INFO] [stderr]     |                                               +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/universe_private.rs:341:37
[INFO] [stderr]     |
[INFO] [stderr] 341 | ...=> { self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Camo"]]).build()); },
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 341 |                         "Camo" => { let _ = self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Camo"]]).build()); },
[INFO] [stderr]     |                                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/universe_private.rs:342:38
[INFO] [stderr]     |
[INFO] [stderr] 342 | ...> { self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Boots"]]).build()); },
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 342 |                         "Boots" => { let _ = self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Boots"]]).build()); },
[INFO] [stderr]     |                                      +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/universe_private.rs:343:38
[INFO] [stderr]     |
[INFO] [stderr] 343 | ...> { self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Jeans"]]).build()); },
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 343 |                         "Jeans" => { let _ = self.ecs_world.insert(sp, EntityBuilder::from(&DATA.read().unwrap().items[DATA.read().unwrap().item_index["Jeans"]]).build()); },
[INFO] [stderr]     |                                      +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/universe_private.rs:572:9
[INFO] [stderr]     |
[INFO] [stderr] 572 |         self.ecs_world.insert_one(*item, InBackpack{});
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 572 |         let _ = self.ecs_world.insert_one(*item, InBackpack{});
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/universe_private.rs:579:9
[INFO] [stderr]     |
[INFO] [stderr] 579 |         self.ecs_world.insert_one(*user, WantsToDropItem{item:*it});
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 579 |         let _ = self.ecs_world.insert_one(*user, WantsToDropItem{item:*it});
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/universe_private.rs:589:9
[INFO] [stderr]     |
[INFO] [stderr] 589 |         self.ecs_world.remove_one::<InBackpack>(*it);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 589 |         let _ = self.ecs_world.remove_one::<InBackpack>(*it);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/universe_private.rs:596:9
[INFO] [stderr]     |
[INFO] [stderr] 596 |         self.ecs_world.insert_one(*user, WantsToUseItem{item:*it});
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 596 |         let _ = self.ecs_world.insert_one(*user, WantsToUseItem{item:*it});
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/universe_private.rs:683:13
[INFO] [stderr]     |
[INFO] [stderr] 683 |             self.ecs_world.remove_one::<Equipped>(*item);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 683 |             let _ = self.ecs_world.remove_one::<Equipped>(*item);
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/universe_private.rs:692:13
[INFO] [stderr]     |
[INFO] [stderr] 692 |             self.ecs_world.insert_one(*item, Equipped{owner:user.to_bits(), slot:eq.slot});
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 692 |             let _ = self.ecs_world.insert_one(*item, Equipped{owner:user.to_bits(), slot:eq.slot});
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_AI` should have a snake case name
[INFO] [stderr]    --> src/universe_private.rs:773:8
[INFO] [stderr]     |
[INFO] [stderr] 773 |     fn get_AI(&mut self) {
[INFO] [stderr]     |        ^^^^^^ help: convert the identifier to snake case: `get_ai`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/universe_private.rs:847:13
[INFO] [stderr]     |
[INFO] [stderr] 847 |             self.ecs_world.remove_one::<Equipped>(*it);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 847 |             let _ = self.ecs_world.remove_one::<Equipped>(*it);
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/universe_private.rs:849:13
[INFO] [stderr]     |
[INFO] [stderr] 849 |             self.ecs_world.insert_one(*it, self.current_room);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 849 |             let _ = self.ecs_world.insert_one(*it, self.current_room);
[INFO] [stderr]     |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: method `randomized_NPC_name` should have a snake case name
[INFO] [stderr]    --> src/universe_private.rs:872:12
[INFO] [stderr]     |
[INFO] [stderr] 872 |     pub fn randomized_NPC_name(male: bool, names: &HashMap<String, Vec<String>>) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `randomized_npc_name`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `SPANISH_MALE` should have a snake case name
[INFO] [stderr]    --> src/universe_private.rs:876:13
[INFO] [stderr]     |
[INFO] [stderr] 876 |         let SPANISH_MALE = &names["spanish_male"];
[INFO] [stderr]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `spanish_male`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `SPANISH_FEMALE` should have a snake case name
[INFO] [stderr]    --> src/universe_private.rs:877:13
[INFO] [stderr]     |
[INFO] [stderr] 877 |         let SPANISH_FEMALE = &names["spanish_female"];
[INFO] [stderr]     |             ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `spanish_female`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `SPANISH_LAST` should have a snake case name
[INFO] [stderr]    --> src/universe_private.rs:878:13
[INFO] [stderr]     |
[INFO] [stderr] 878 |         let SPANISH_LAST = &names["spanish_last"];
[INFO] [stderr]     |             ^^^^^^^^^^^^ help: convert the identifier to snake case: `spanish_last`
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/lispy.rs:300:9
[INFO] [stderr]     |
[INFO] [stderr] 300 |         eval(&arg.clone(), env);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 300 |         let _ = eval(&arg.clone(), env);
[INFO] [stderr]     |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]    --> src/lispy.rs:355:7
[INFO] [stderr]     |
[INFO] [stderr] 355 |       eval(third_form, env);
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]     |
[INFO] [stderr] 355 |       let _ = eval(third_form, env);
[INFO] [stderr]     |       +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `rust-web-text-based` (lib test) generated 130 warnings (run `cargo fix --lib -p rust-web-text-based --tests` to apply 39 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.11s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: wasm-bindgen v0.2.73
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rust_web_text_based-3264e5d5b52ed9eb)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "b4de878b44adb7ffb8f1284d971ea39ac5ec3fad651f25cb09d85af502d46166", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b4de878b44adb7ffb8f1284d971ea39ac5ec3fad651f25cb09d85af502d46166", kill_on_drop: false }`
[INFO] [stdout] b4de878b44adb7ffb8f1284d971ea39ac5ec3fad651f25cb09d85af502d46166
