[INFO] cloning repository https://github.com/NamesMark/void_post_prologue
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/NamesMark/void_post_prologue" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNamesMark%2Fvoid_post_prologue", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNamesMark%2Fvoid_post_prologue'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f7302d81f95ae68d82113af2fbb979081ffac80f
[INFO] checking NamesMark/void_post_prologue against try#0611f7de057c584b8771102fde7aed6c70c71d3b for pr-146440
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNamesMark%2Fvoid_post_prologue" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-7-tc2/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/NamesMark/void_post_prologue
[INFO] finished tweaking git repo https://github.com/NamesMark/void_post_prologue
[INFO] tweaked toml for git repo https://github.com/NamesMark/void_post_prologue written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/NamesMark/void_post_prologue on toolchain 0611f7de057c584b8771102fde7aed6c70c71d3b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/NamesMark/void_post_prologue 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" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5128abe3123f40b553bd970eb103191c42e78d94668bbedf52f0c9f1326e8bba
[INFO] running `Command { std: "docker" "start" "-a" "5128abe3123f40b553bd970eb103191c42e78d94668bbedf52f0c9f1326e8bba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5128abe3123f40b553bd970eb103191c42e78d94668bbedf52f0c9f1326e8bba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5128abe3123f40b553bd970eb103191c42e78d94668bbedf52f0c9f1326e8bba", kill_on_drop: false }`
[INFO] [stdout] 5128abe3123f40b553bd970eb103191c42e78d94668bbedf52f0c9f1326e8bba
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0611f7de057c584b8771102fde7aed6c70c71d3b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e41a780730907171c9ce73ce3be228acc90be9f277cb81869cabb96cbc08bdae
[INFO] running `Command { std: "docker" "start" "-a" "e41a780730907171c9ce73ce3be228acc90be9f277cb81869cabb96cbc08bdae", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.89
[INFO] [stderr]    Compiling libc v0.2.161
[INFO] [stderr]    Compiling unicode-ident v1.0.13
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]    Compiling rustversion v1.0.18
[INFO] [stderr]     Checking bytes v1.8.0
[INFO] [stderr]     Checking pin-project-lite v0.2.15
[INFO] [stderr]     Checking strum v0.25.0
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling syn v2.0.85
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]     Checking signal-hook-registry v1.4.2
[INFO] [stderr]     Checking socket2 v0.5.7
[INFO] [stderr]     Checking mio v1.0.2
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]    Compiling tokio-macros v2.4.0
[INFO] [stderr]    Compiling strum_macros v0.25.3
[INFO] [stderr]    Compiling async-trait v0.1.83
[INFO] [stderr]     Checking tokio v1.41.0
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking voidlogue v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::cmp::max`
[INFO] [stdout]  --> src/engine/actions.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cmp::max;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/engine/actions.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/engine/actions.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::entity::{self, Entity, EntityId};
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::GameState`
[INFO] [stdout]  --> src/engine/shuttle.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::GameState;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entity`
[INFO] [stdout]  --> src/engine/state.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::entity::{Entity, EntityId};
[INFO] [stdout]   |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Access`
[INFO] [stdout]  --> src/engine/state.rs:8:26
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::world::room::{Access, Direction, PassageType, RoomIdentifier};
[INFO] [stdout]   |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Containable`, `ItemId`, and `Usable`
[INFO] [stdout]  --> src/entity/furniture/main_terminal.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::entity::item::{Containable, ItemId, Usable};
[INFO] [stdout]   |                           ^^^^^^^^^^^  ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `impl_entity_containable`
[INFO] [stdout]  --> src/entity/furniture/main_terminal.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{impl_entity, impl_entity_containable};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Containable` and `ItemId`
[INFO] [stdout]  --> src/entity/furniture/navigation_computer.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::entity::item::{Containable, ItemId, Usable};
[INFO] [stdout]   |                           ^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `impl_entity_containable` and `impl_entity`
[INFO] [stdout]  --> src/entity/furniture/navigation_computer.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{impl_entity, impl_entity_containable};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Containable` and `ItemId`
[INFO] [stdout]  --> src/entity/furniture/sink.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::entity::item::{Containable, ItemId};
[INFO] [stdout]   |                           ^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `impl_entity_containable`
[INFO] [stdout]  --> src/entity/furniture/sink.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{impl_entity, impl_entity_containable};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ItemId`
[INFO] [stdout]  --> src/entity/furniture/mod.rs:8:32
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::item::{Containable, ItemId};
[INFO] [stdout]   |                                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `impl_entity`
[INFO] [stdout]   --> src/entity/furniture/mod.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::{impl_entity, impl_entity_containable};
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `impl_entity`
[INFO] [stdout]  --> src/entity/item/container.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{impl_entity, impl_entity_containable};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::Size`
[INFO] [stdout]  --> src/entity/item/food.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::Size;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ItemId` and `Item`
[INFO] [stdout]  --> src/entity/item/food.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::{Entity, EntityId, Item, ItemId};
[INFO] [stdout]   |                               ^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::impl_entity`
[INFO] [stdout]  --> src/entity/item/food.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::impl_entity;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::Size`
[INFO] [stdout]  --> src/entity/item/text_item.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::Size;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ItemId` and `Item`
[INFO] [stdout]  --> src/entity/item/text_item.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::{Entity, EntityId, Item, ItemId};
[INFO] [stdout]   |                               ^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::impl_entity`
[INFO] [stdout]  --> src/entity/item/text_item.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::impl_entity;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/entity/item/text_item.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 |         Ok((&self.contents))
[INFO] [stdout]    |            ^              ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 38 -         Ok((&self.contents))
[INFO] [stdout] 38 +         Ok(&self.contents )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `impl_entity_containable`
[INFO] [stdout]  --> src/entity/item/mod.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{impl_entity, impl_entity_containable};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Cow`
[INFO] [stdout]  --> src/parser/command.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::Cow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `furniture::Furniture`
[INFO] [stdout]  --> src/world/room.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::entity::{furniture::Furniture, EntityId};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `world::room::RoomIdentifier`
[INFO] [stdout]   --> src/lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use world::room::RoomIdentifier;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::max`
[INFO] [stdout]  --> src/engine/actions.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cmp::max;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/engine/actions.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/engine/actions.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::entity::{self, Entity, EntityId};
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::GameState`
[INFO] [stdout]  --> src/engine/shuttle.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::GameState;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entity`
[INFO] [stdout]  --> src/engine/state.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::entity::{Entity, EntityId};
[INFO] [stdout]   |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Access`
[INFO] [stdout]  --> src/engine/state.rs:8:26
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::world::room::{Access, Direction, PassageType, RoomIdentifier};
[INFO] [stdout]   |                          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Containable`, `ItemId`, and `Usable`
[INFO] [stdout]  --> src/entity/furniture/main_terminal.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::entity::item::{Containable, ItemId, Usable};
[INFO] [stdout]   |                           ^^^^^^^^^^^  ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `impl_entity_containable`
[INFO] [stdout]  --> src/entity/furniture/main_terminal.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{impl_entity, impl_entity_containable};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Containable` and `ItemId`
[INFO] [stdout]  --> src/entity/furniture/navigation_computer.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::entity::item::{Containable, ItemId, Usable};
[INFO] [stdout]   |                           ^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `impl_entity_containable` and `impl_entity`
[INFO] [stdout]  --> src/entity/furniture/navigation_computer.rs:5:13
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{impl_entity, impl_entity_containable};
[INFO] [stdout]   |             ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Containable` and `ItemId`
[INFO] [stdout]  --> src/entity/furniture/sink.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::entity::item::{Containable, ItemId};
[INFO] [stdout]   |                           ^^^^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `impl_entity_containable`
[INFO] [stdout]  --> src/entity/furniture/sink.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::{impl_entity, impl_entity_containable};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ItemId`
[INFO] [stdout]  --> src/entity/furniture/mod.rs:8:32
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::item::{Containable, ItemId};
[INFO] [stdout]   |                                ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `impl_entity`
[INFO] [stdout]   --> src/entity/furniture/mod.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::{impl_entity, impl_entity_containable};
[INFO] [stdout]    |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `impl_entity`
[INFO] [stdout]  --> src/entity/item/container.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{impl_entity, impl_entity_containable};
[INFO] [stdout]   |             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::Size`
[INFO] [stdout]  --> src/entity/item/food.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::Size;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ItemId` and `Item`
[INFO] [stdout]  --> src/entity/item/food.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::{Entity, EntityId, Item, ItemId};
[INFO] [stdout]   |                               ^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::impl_entity`
[INFO] [stdout]  --> src/entity/item/food.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::impl_entity;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::Size`
[INFO] [stdout]  --> src/entity/item/text_item.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use super::Size;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ItemId` and `Item`
[INFO] [stdout]  --> src/entity/item/text_item.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use super::{Entity, EntityId, Item, ItemId};
[INFO] [stdout]   |                               ^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::impl_entity`
[INFO] [stdout]  --> src/entity/item/text_item.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::impl_entity;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/entity/item/text_item.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 |         Ok((&self.contents))
[INFO] [stdout]    |            ^              ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 38 -         Ok((&self.contents))
[INFO] [stdout] 38 +         Ok(&self.contents )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `impl_entity_containable`
[INFO] [stdout]  --> src/entity/item/mod.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{impl_entity, impl_entity_containable};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Cow`
[INFO] [stdout]  --> src/parser/command.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::borrow::Cow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `furniture::Furniture`
[INFO] [stdout]  --> src/world/room.rs:1:21
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::entity::{furniture::Furniture, EntityId};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `world::room::RoomIdentifier`
[INFO] [stdout]   --> src/lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use world::room::RoomIdentifier;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entity`
[INFO] [stdout]  --> src/engine/tui.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::entity::{Entity, EntityId};
[INFO] [stdout]   |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entity`
[INFO] [stdout]  --> src/entity/furniture/main_terminal.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{Entity, EntityId};
[INFO] [stdout]   |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entity`
[INFO] [stdout]  --> src/entity/furniture/sink.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{Entity, EntityId};
[INFO] [stdout]   |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_state`
[INFO] [stdout]    --> src/engine/actions.rs:171:13
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub fn open(game_state: &GameState, obj: &str) -> String {
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_state`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_state`
[INFO] [stdout]    --> src/engine/actions.rs:175:14
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub fn close(game_state: &GameState, obj: &str) -> String {
[INFO] [stdout]     |              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entity`
[INFO] [stdout]    --> src/engine/actions.rs:229:25
[INFO] [stdout]     |
[INFO] [stdout] 229 |             if let Some(entity) = game_state.world.entities.get(&entity_id) {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entity`
[INFO] [stdout]  --> src/engine/tui.rs:2:21
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::entity::{Entity, EntityId};
[INFO] [stdout]   |                     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entity`
[INFO] [stdout]  --> src/entity/furniture/main_terminal.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{Entity, EntityId};
[INFO] [stdout]   |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Entity`
[INFO] [stdout]  --> src/entity/furniture/sink.rs:3:13
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{Entity, EntityId};
[INFO] [stdout]   |             ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `article`
[INFO] [stdout]    --> src/engine/actions.rs:465:9
[INFO] [stdout]     |
[INFO] [stdout] 465 |     let article = get_article(&item_name);
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_article`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `article`
[INFO] [stdout]    --> src/engine/actions.rs:490:9
[INFO] [stdout]     |
[INFO] [stdout] 490 |     let article = get_article(&item_name);
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_article`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `article`
[INFO] [stdout]    --> src/engine/actions.rs:509:9
[INFO] [stdout]     |
[INFO] [stdout] 509 |     let article = get_article(&item_name);
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_article`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_state`
[INFO] [stdout]    --> src/engine/actions.rs:171:13
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub fn open(game_state: &GameState, obj: &str) -> String {
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_state`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `game_state`
[INFO] [stdout]    --> src/engine/actions.rs:175:14
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub fn close(game_state: &GameState, obj: &str) -> String {
[INFO] [stdout]     |              ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_game_state`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entity`
[INFO] [stdout]    --> src/engine/actions.rs:229:25
[INFO] [stdout]     |
[INFO] [stdout] 229 |             if let Some(entity) = game_state.world.entities.get(&entity_id) {
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `article`
[INFO] [stdout]    --> src/engine/actions.rs:465:9
[INFO] [stdout]     |
[INFO] [stdout] 465 |     let article = get_article(&item_name);
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_article`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `article`
[INFO] [stdout]    --> src/engine/actions.rs:490:9
[INFO] [stdout]     |
[INFO] [stdout] 490 |     let article = get_article(&item_name);
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_article`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `article`
[INFO] [stdout]    --> src/engine/actions.rs:509:9
[INFO] [stdout]     |
[INFO] [stdout] 509 |     let article = get_article(&item_name);
[INFO] [stdout]     |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_article`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/entity/item/container.rs:40:26
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn remove(&mut self, item: ItemId) -> Option<Item> {
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/entity/item/mod.rs:91:23
[INFO] [stdout]    |
[INFO] [stdout] 91 |     fn put(&mut self, item: ItemId) -> Result<(), &'static str> {
[INFO] [stdout]    |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/entity/item/container.rs:40:26
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn remove(&mut self, item: ItemId) -> Option<Item> {
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `item`
[INFO] [stdout]   --> src/entity/item/mod.rs:91:23
[INFO] [stdout]    |
[INFO] [stdout] 91 |     fn put(&mut self, item: ItemId) -> Result<(), &'static str> {
[INFO] [stdout]    |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_item`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Engine` is never constructed
[INFO] [stdout]  --> src/engine/mod.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Engine;
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `contains` is never read
[INFO] [stdout]   --> src/entity/furniture/main_terminal.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct MainTerminal {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     contains: Vec<EntityId>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `contains` is never read
[INFO] [stdout]   --> src/entity/furniture/navigation_computer.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct NavigationComputer {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     contains: Vec<EntityId>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `contains` and `tap_is_on` are never read
[INFO] [stdout]   --> src/entity/furniture/sink.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Sink {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     contains: Vec<EntityId>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 15 |     tap_is_on: bool,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `SecretBottle` is never constructed
[INFO] [stdout]   --> src/entity/item/mod.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct SecretBottle {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout]    = note: `#[deny(unused_unconstructable_pub_struct)]` (part of `#[deny(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `size` is never read
[INFO] [stdout]   --> src/entity/item/mod.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub struct Item {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 57 |     size: Size,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `contains` is never read
[INFO] [stdout]   --> src/entity/item/mod.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct SecretBottle {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 86 |     contains: Option<EntityId>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `put` and `remove` are never used
[INFO] [stdout]   --> src/entity/item/mod.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | impl SecretBottle {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 91 |     fn put(&mut self, item: ItemId) -> Result<(), &'static str> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |     fn remove(&mut self) -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `aliases`, and `description` are never read
[INFO] [stdout]    --> src/entity/item/mod.rs:172:5
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct LiquidContainer {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 172 |     id: EntityId,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 173 |     name: String,
[INFO] [stdout] 174 |     aliases: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 175 |     description: String,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `size` is never read
[INFO] [stdout]   --> src/entity/item/container.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Container {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     size: Size,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `remove` is never used
[INFO] [stdout]   --> src/entity/item/container.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Container {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 40 |     fn remove(&mut self, item: ItemId) -> Option<Item> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `strip_articles_and_join` is never used
[INFO] [stdout]    --> src/parser/command.rs:111:4
[INFO] [stdout]     |
[INFO] [stdout] 111 | fn strip_articles_and_join(words: &[&str]) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/engine/shuttle.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 194 |         if power < 0 || power > 7 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `passageType` should have a snake case name
[INFO] [stdout]    --> src/world/data.rs:759:23
[INFO] [stdout]     |
[INFO] [stdout] 759 |             for (dir, passageType, adjacent_room_id) in &room_attributes.connected_rooms {
[INFO] [stdout]     |                       ^^^^^^^^^^^ help: convert the identifier to snake case: `passage_type`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Engine` is never constructed
[INFO] [stdout]  --> src/engine/mod.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct Engine;
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `contains` is never read
[INFO] [stdout]   --> src/entity/furniture/main_terminal.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct MainTerminal {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     contains: Vec<EntityId>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `contains` is never read
[INFO] [stdout]   --> src/entity/furniture/navigation_computer.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct NavigationComputer {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     contains: Vec<EntityId>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `contains` and `tap_is_on` are never read
[INFO] [stdout]   --> src/entity/furniture/sink.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct Sink {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 14 |     contains: Vec<EntityId>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 15 |     tap_is_on: bool,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: struct `SecretBottle` is never constructed
[INFO] [stdout]   --> src/entity/item/mod.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct SecretBottle {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `pub` struct has private fields, no public constructor, and is not otherwise reachable through the external API, so consider providing a public constructor or removing it
[INFO] [stdout]    = note: `#[deny(unused_unconstructable_pub_struct)]` (part of `#[deny(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `size` is never read
[INFO] [stdout]   --> src/entity/item/mod.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub struct Item {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 57 |     size: Size,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `contains` is never read
[INFO] [stdout]   --> src/entity/item/mod.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct SecretBottle {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 86 |     contains: Option<EntityId>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `put` and `remove` are never used
[INFO] [stdout]   --> src/entity/item/mod.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | impl SecretBottle {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] 91 |     fn put(&mut self, item: ItemId) -> Result<(), &'static str> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |     fn remove(&mut self) -> Result<(), String> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `aliases`, and `description` are never read
[INFO] [stdout]    --> src/entity/item/mod.rs:172:5
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct LiquidContainer {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 172 |     id: EntityId,
[INFO] [stdout]     |     ^^
[INFO] [stdout] 173 |     name: String,
[INFO] [stdout] 174 |     aliases: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 175 |     description: String,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `size` is never read
[INFO] [stdout]   --> src/entity/item/container.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Container {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     size: Size,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `remove` is never used
[INFO] [stdout]   --> src/entity/item/container.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Container {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 40 |     fn remove(&mut self, item: ItemId) -> Option<Item> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `strip_articles_and_join` is never used
[INFO] [stdout]    --> src/parser/command.rs:111:4
[INFO] [stdout]     |
[INFO] [stdout] 111 | fn strip_articles_and_join(words: &[&str]) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/engine/shuttle.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 194 |         if power < 0 || power > 7 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `passageType` should have a snake case name
[INFO] [stdout]    --> src/world/data.rs:759:23
[INFO] [stdout]     |
[INFO] [stdout] 759 |             for (dir, passageType, adjacent_room_id) in &room_attributes.connected_rooms {
[INFO] [stdout]     |                       ^^^^^^^^^^^ help: convert the identifier to snake case: `passage_type`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `voidlogue` (lib test) due to 1 previous error; 50 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `voidlogue` (lib) due to 1 previous error; 50 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "e41a780730907171c9ce73ce3be228acc90be9f277cb81869cabb96cbc08bdae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e41a780730907171c9ce73ce3be228acc90be9f277cb81869cabb96cbc08bdae", kill_on_drop: false }`
[INFO] [stdout] e41a780730907171c9ce73ce3be228acc90be9f277cb81869cabb96cbc08bdae
