[INFO] cloning repository https://github.com/Technologenesis/rust-wfc
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Technologenesis/rust-wfc" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTechnologenesis%2Frust-wfc", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTechnologenesis%2Frust-wfc'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c5fa788ef0eea72149c6a6e470bc87b37c2cf307
[INFO] checking Technologenesis/rust-wfc against master#cf79d034aa3d8f396d407aafce6f1ccd818e710e for pr-155657
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTechnologenesis%2Frust-wfc" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-5-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/Technologenesis/rust-wfc
[INFO] finished tweaking git repo https://github.com/Technologenesis/rust-wfc
[INFO] tweaked toml for git repo https://github.com/Technologenesis/rust-wfc written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Technologenesis/rust-wfc on toolchain cf79d034aa3d8f396d407aafce6f1ccd818e710e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cf79d034aa3d8f396d407aafce6f1ccd818e710e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Technologenesis/rust-wfc 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" "+cf79d034aa3d8f396d407aafce6f1ccd818e710e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cf79d034aa3d8f396d407aafce6f1ccd818e710e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 41e79946fd479caf63f67479b03ab581bbcc91c91940ccb1f49f76dc459a3df9
[INFO] running `Command { std: "docker" "start" "-a" "41e79946fd479caf63f67479b03ab581bbcc91c91940ccb1f49f76dc459a3df9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "41e79946fd479caf63f67479b03ab581bbcc91c91940ccb1f49f76dc459a3df9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "41e79946fd479caf63f67479b03ab581bbcc91c91940ccb1f49f76dc459a3df9", kill_on_drop: false }`
[INFO] [stdout] 41e79946fd479caf63f67479b03ab581bbcc91c91940ccb1f49f76dc459a3df9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cf79d034aa3d8f396d407aafce6f1ccd818e710e" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 25259be401a3bd8d28ceca149d011ebd7d4b932910c52d1d429982b548c73068
[INFO] running `Command { std: "docker" "start" "-a" "25259be401a3bd8d28ceca149d011ebd7d4b932910c52d1d429982b548c73068", kill_on_drop: false }`
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]     Checking getrandom v0.3.3
[INFO] [stderr]     Checking socket2 v0.6.1
[INFO] [stderr]     Checking mio v1.1.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.7
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.2
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]     Checking tokio v1.48.0
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking uuid v1.18.1
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking tokio-util v0.7.17
[INFO] [stderr]     Checking rust-wfc v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/worldobject/components/body/torso/arm/hand.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::{Serialize, Deserialize};
[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: `Deserialize`
[INFO] [stdout]  --> src/worldobject/components/body/torso/arm/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     Deserialize
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `grams`, `newtons`, and `self`
[INFO] [stdout]   --> src/worldobject/components/body/torso/arm/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |         self, Quantity, distance::{
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |             newtons
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |             grams
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TransitiveVerbPhrase`
[INFO] [stdout]  --> src/world/mod.rs:9:60
[INFO] [stdout]   |
[INFO] [stdout] 9 |     lang::{GrammaticalPerson, TransitiveVerb, verbs::ToDo, TransitiveVerbPhrase, VerbPhrase},
[INFO] [stdout]   |                                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize`
[INFO] [stdout]  --> src/worldobject/components/body/torso/arm/hand.rs:2:13
[INFO] [stdout]   |
[INFO] [stdout] 2 | use serde::{Serialize, Deserialize};
[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: `Deserialize`
[INFO] [stdout]  --> src/worldobject/components/body/torso/arm/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     Deserialize
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `grams`, `newtons`, and `self`
[INFO] [stdout]   --> src/worldobject/components/body/torso/arm/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |         self, Quantity, distance::{
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |             newtons
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |             grams
[INFO] [stdout]    |             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TransitiveVerbPhrase`
[INFO] [stdout]  --> src/world/mod.rs:9:60
[INFO] [stdout]   |
[INFO] [stdout] 9 |     lang::{GrammaticalPerson, TransitiveVerb, verbs::ToDo, TransitiveVerbPhrase, VerbPhrase},
[INFO] [stdout]   |                                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> src/worldobject/none.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |         NoWorldObject(self.0)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ ------ any code following this expression is unreachable
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unreachable call
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> src/worldobject/none.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout] 139 |         Ok(NoInventoryItem(self.0))
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^ ------ any code following this expression is unreachable
[INFO] [stdout]     |            |
[INFO] [stdout]     |            unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> src/worldobject/none.rs:131:9
[INFO] [stdout]     |
[INFO] [stdout] 131 |         NoWorldObject(self.0)
[INFO] [stdout]     |         ^^^^^^^^^^^^^ ------ any code following this expression is unreachable
[INFO] [stdout]     |         |
[INFO] [stdout]     |         unreachable call
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable call
[INFO] [stdout]    --> src/worldobject/none.rs:139:12
[INFO] [stdout]     |
[INFO] [stdout] 139 |         Ok(NoInventoryItem(self.0))
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^ ------ any code following this expression is unreachable
[INFO] [stdout]     |            |
[INFO] [stdout]     |            unreachable call
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_handle`
[INFO] [stdout]   --> src/worldobject/rat.rs:95:32
[INFO] [stdout]    |
[INFO] [stdout] 95 |     async fn update(&mut self, my_handle: WorldObjectHandle, world: &World) -> Result<Action, WorldObjectError> {
[INFO] [stdout]    |                                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_handle`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]   --> src/worldobject/rat.rs:95:62
[INFO] [stdout]    |
[INFO] [stdout] 95 |     async fn update(&mut self, my_handle: WorldObjectHandle, world: &World) -> Result<Action, WorldObjectError> {
[INFO] [stdout]    |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> src/worldobject/rat.rs:168:38
[INFO] [stdout]     |
[INFO] [stdout] 168 |     async fn send_message(&mut self, message: String) -> Result<(), WorldObjectError> {
[INFO] [stdout]     |                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_handle`
[INFO] [stdout]    --> src/worldobject/none.rs:134:32
[INFO] [stdout]     |
[INFO] [stdout] 134 |     async fn update(&mut self, my_handle: WorldObjectHandle, world: &World) -> Result<Action, Error> {
[INFO] [stdout]     |                                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]    --> src/worldobject/none.rs:134:62
[INFO] [stdout]     |
[INFO] [stdout] 134 |     async fn update(&mut self, my_handle: WorldObjectHandle, world: &World) -> Result<Action, Error> {
[INFO] [stdout]     |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `force`
[INFO] [stdout]    --> src/worldobject/none.rs:154:37
[INFO] [stdout]     |
[INFO] [stdout] 154 |     async fn apply_force(&mut self, force: &Quantity<Force>) -> Result<String, Error> {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_force`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> src/worldobject/none.rs:158:38
[INFO] [stdout]     |
[INFO] [stdout] 158 |     async fn send_message(&mut self, message: String) -> Result<(), Error> {
[INFO] [stdout]     |                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_handle`
[INFO] [stdout]   --> src/worldobject/rat.rs:95:32
[INFO] [stdout]    |
[INFO] [stdout] 95 |     async fn update(&mut self, my_handle: WorldObjectHandle, world: &World) -> Result<Action, WorldObjectError> {
[INFO] [stdout]    |                                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_handle`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]   --> src/worldobject/rat.rs:95:62
[INFO] [stdout]    |
[INFO] [stdout] 95 |     async fn update(&mut self, my_handle: WorldObjectHandle, world: &World) -> Result<Action, WorldObjectError> {
[INFO] [stdout]    |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> src/worldobject/rat.rs:168:38
[INFO] [stdout]     |
[INFO] [stdout] 168 |     async fn send_message(&mut self, message: String) -> Result<(), WorldObjectError> {
[INFO] [stdout]     |                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_handle`
[INFO] [stdout]    --> src/worldobject/none.rs:134:32
[INFO] [stdout]     |
[INFO] [stdout] 134 |     async fn update(&mut self, my_handle: WorldObjectHandle, world: &World) -> Result<Action, Error> {
[INFO] [stdout]     |                                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]    --> src/worldobject/none.rs:134:62
[INFO] [stdout]     |
[INFO] [stdout] 134 |     async fn update(&mut self, my_handle: WorldObjectHandle, world: &World) -> Result<Action, Error> {
[INFO] [stdout]     |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `force`
[INFO] [stdout]    --> src/worldobject/none.rs:154:37
[INFO] [stdout]     |
[INFO] [stdout] 154 |     async fn apply_force(&mut self, force: &Quantity<Force>) -> Result<String, Error> {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_force`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> src/worldobject/none.rs:158:38
[INFO] [stdout]     |
[INFO] [stdout] 158 |     async fn send_message(&mut self, message: String) -> Result<(), Error> {
[INFO] [stdout]     |                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_handle`
[INFO] [stdout]    --> src/worldobject/components/inventory/item/wand.rs:100:32
[INFO] [stdout]     |
[INFO] [stdout] 100 |     async fn update(&mut self, target_handle: WorldObjectHandle, world: &World) -> Result<Action, WorldObjectError> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]    --> src/worldobject/components/inventory/item/wand.rs:100:66
[INFO] [stdout]     |
[INFO] [stdout] 100 |     async fn update(&mut self, target_handle: WorldObjectHandle, world: &World) -> Result<Action, WorldObjectError> {
[INFO] [stdout]     |                                                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_handle`
[INFO] [stdout]    --> src/worldobject/components/inventory/item/wand.rs:100:32
[INFO] [stdout]     |
[INFO] [stdout] 100 |     async fn update(&mut self, target_handle: WorldObjectHandle, world: &World) -> Result<Action, WorldObjectError> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]    --> src/worldobject/components/inventory/item/wand.rs:100:66
[INFO] [stdout]     |
[INFO] [stdout] 100 |     async fn update(&mut self, target_handle: WorldObjectHandle, world: &World) -> Result<Action, WorldObjectError> {
[INFO] [stdout]     |                                                                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_handle`
[INFO] [stdout]   --> src/worldobject/components/body/torso/arm/hand.rs:93:32
[INFO] [stdout]    |
[INFO] [stdout] 93 |     async fn update(&mut self, my_handle: WorldObjectHandle, world: &World) -> Result<Action, WorldObjectError> {
[INFO] [stdout]    |                                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]   --> src/worldobject/components/body/torso/arm/hand.rs:93:62
[INFO] [stdout]    |
[INFO] [stdout] 93 |     async fn update(&mut self, my_handle: WorldObjectHandle, world: &World) -> Result<Action, WorldObjectError> {
[INFO] [stdout]    |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `force`
[INFO] [stdout]    --> src/worldobject/components/body/torso/arm/hand.rs:119:37
[INFO] [stdout]     |
[INFO] [stdout] 119 |     async fn apply_force(&mut self, force: &Quantity<Force>) -> Result<String, WorldObjectError> {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_force`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> src/worldobject/components/body/torso/arm/hand.rs:127:38
[INFO] [stdout]     |
[INFO] [stdout] 127 |     async fn send_message(&mut self, message: String) -> Result<(), WorldObjectError> {
[INFO] [stdout]     |                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_handle`
[INFO] [stdout]   --> src/worldobject/components/body/torso/arm/hand.rs:93:32
[INFO] [stdout]    |
[INFO] [stdout] 93 |     async fn update(&mut self, my_handle: WorldObjectHandle, world: &World) -> Result<Action, WorldObjectError> {
[INFO] [stdout]    |                                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]   --> src/worldobject/components/body/torso/arm/hand.rs:93:62
[INFO] [stdout]    |
[INFO] [stdout] 93 |     async fn update(&mut self, my_handle: WorldObjectHandle, world: &World) -> Result<Action, WorldObjectError> {
[INFO] [stdout]    |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_handle`
[INFO] [stdout]    --> src/worldobject/components/body/torso/arm/mod.rs:136:32
[INFO] [stdout]     |
[INFO] [stdout] 136 |     async fn update(&mut self, my_handle: WorldObjectHandle, world: &World) -> Result<Action, Error> {
[INFO] [stdout]     |                                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]    --> src/worldobject/components/body/torso/arm/mod.rs:136:62
[INFO] [stdout]     |
[INFO] [stdout] 136 |     async fn update(&mut self, my_handle: WorldObjectHandle, world: &World) -> Result<Action, Error> {
[INFO] [stdout]     |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `force`
[INFO] [stdout]    --> src/worldobject/components/body/torso/arm/hand.rs:119:37
[INFO] [stdout]     |
[INFO] [stdout] 119 |     async fn apply_force(&mut self, force: &Quantity<Force>) -> Result<String, WorldObjectError> {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_force`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> src/worldobject/components/body/torso/arm/hand.rs:127:38
[INFO] [stdout]     |
[INFO] [stdout] 127 |     async fn send_message(&mut self, message: String) -> Result<(), WorldObjectError> {
[INFO] [stdout]     |                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `force`
[INFO] [stdout]    --> src/worldobject/components/body/torso/arm/mod.rs:158:37
[INFO] [stdout]     |
[INFO] [stdout] 158 |     async fn apply_force(&mut self, force: &Quantity<Force>) -> Result<String, Error> {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_force`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> src/worldobject/components/body/torso/arm/mod.rs:166:38
[INFO] [stdout]     |
[INFO] [stdout] 166 |     async fn send_message(&mut self, message: String) -> Result<(), Error> {
[INFO] [stdout]     |                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `my_handle`
[INFO] [stdout]    --> src/worldobject/components/body/torso/arm/mod.rs:136:32
[INFO] [stdout]     |
[INFO] [stdout] 136 |     async fn update(&mut self, my_handle: WorldObjectHandle, world: &World) -> Result<Action, Error> {
[INFO] [stdout]     |                                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_my_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `world`
[INFO] [stdout]    --> src/worldobject/components/body/torso/arm/mod.rs:136:62
[INFO] [stdout]     |
[INFO] [stdout] 136 |     async fn update(&mut self, my_handle: WorldObjectHandle, world: &World) -> Result<Action, Error> {
[INFO] [stdout]     |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_world`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `force`
[INFO] [stdout]    --> src/worldobject/components/body/torso/arm/mod.rs:158:37
[INFO] [stdout]     |
[INFO] [stdout] 158 |     async fn apply_force(&mut self, force: &Quantity<Force>) -> Result<String, Error> {
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_force`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> src/worldobject/components/body/torso/arm/mod.rs:166:38
[INFO] [stdout]     |
[INFO] [stdout] 166 |     async fn send_message(&mut self, message: String) -> Result<(), Error> {
[INFO] [stdout]     |                                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]    --> src/world/mod.rs:179:38
[INFO] [stdout]     |
[INFO] [stdout] 179 |         self.broadcast_by_recipient(|handle| message.clone()).await
[INFO] [stdout]     |                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `handle`
[INFO] [stdout]    --> src/world/mod.rs:179:38
[INFO] [stdout]     |
[INFO] [stdout] 179 |         self.broadcast_by_recipient(|handle| message.clone()).await
[INFO] [stdout]     |                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_handle`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `pronoun`, `mass`, `controller`, and `controller_mut` are never used
[INFO] [stdout]   --> src/worldobject/mod.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub trait TypedWorldObject: Send {
[INFO] [stdout]    |           ---------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 47 |     fn pronoun(&self) -> String;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn mass(&self) -> Quantity<Mass>;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     fn controller(&self) -> Result<&dyn Controller, Error>;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 63 |     fn controller_mut(&mut self) -> Result<&mut dyn Controller, Error>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `pronoun`, `mass`, `controller`, and `controller_mut` are never used
[INFO] [stdout]    --> src/worldobject/mod.rs:159:8
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub trait WorldObject: Send + Sync {
[INFO] [stdout]     |           ----------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 159 |     fn pronoun(&self) -> String;
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     fn mass(&self) -> Quantity<Mass>;
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     fn controller(&self) -> Result<&dyn Controller, Error>;
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 181 |     fn controller_mut(&mut self) -> Result<&mut dyn Controller, Error>;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `wielded_items` is never used
[INFO] [stdout]    --> src/worldobject/human/mod.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl Human {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] 194 |     pub fn wielded_items<'a>(&'a self) -> impl Iterator<Item = &'a dyn InventoryItem> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AttackError` is never used
[INFO] [stdout]   --> src/worldobject/human/actions/attack_action.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub enum AttackError {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get` and `get_mut` are never used
[INFO] [stdout]   --> src/worldobject/components/inventory/mod.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Inventory {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn get(&self, handle: &InventoryItemHandle) -> Option<&Box<dyn InventoryItem>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn get_mut(&mut self, handle: &InventoryItemHandle) -> Option<&mut Box<dyn InventoryItem>> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `FailedToSetController` and `FailedToTakeController` are never constructed
[INFO] [stdout]    --> src/worldobject/components/inventory/item/wand.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub enum WandUseError {
[INFO] [stdout]     |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 130 |     FailedToSetController(Box<dyn std::error::Error>),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 131 |     FailedToTakeController(Box<dyn std::error::Error>),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `WandUseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AttackError` is never used
[INFO] [stdout]   --> src/worldobject/components/controllers/commands/attack_command.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum AttackError {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `InvalidItemName` is never constructed
[INFO] [stdout]   --> src/worldobject/components/controllers/commands/use_command.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum UseCommandParseError {
[INFO] [stdout]    |          -------------------- variant in this enum
[INFO] [stdout] 18 |     NoItemNameProvided,
[INFO] [stdout] 19 |     InvalidItemName(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UseCommandParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `subject_pronoun` and `object_pronoun` are never used
[INFO] [stdout]   --> src/worldobject/components/gender/mod.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl Gender {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn subject_pronoun(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn object_pronoun(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `mass` is never used
[INFO] [stdout]   --> src/worldobject/components/body/mod.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl Body {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 28 |     pub fn mass(&self) -> Quantity<Mass> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `mass` is never used
[INFO] [stdout]   --> src/worldobject/components/body/head/mod.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Head {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 19 |     pub fn mass(&self) -> Quantity<Mass> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `mass` is never used
[INFO] [stdout]   --> src/worldobject/components/body/head/mod.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl Mouth {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 48 |     pub fn mass(&self) -> Quantity<Mass> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `mass` is never used
[INFO] [stdout]   --> src/worldobject/components/body/head/mod.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | impl Tooth {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 78 |     pub fn mass(&self) -> Quantity<Mass> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `mass` is never used
[INFO] [stdout]   --> src/worldobject/components/body/torso/mod.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl Torso {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 25 |     pub fn mass(&self) -> Quantity<Mass> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HandDeserializeError` is never constructed
[INFO] [stdout]   --> src/worldobject/components/body/torso/arm/hand.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct HandDeserializeError;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `mass` is never used
[INFO] [stdout]   --> src/worldobject/components/body/legs/mod.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Legs {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 16 |     pub fn mass(&self) -> Quantity<Mass> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `NoSuchObject` and `ErrorSendingMessage` are never constructed
[INFO] [stdout]   --> src/world/mod.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub enum WorldObjectSendMessageError {
[INFO] [stdout]    |          --------------------------- variants in this enum
[INFO] [stdout] 68 |     NoSuchObject(WorldObjectHandle),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 69 |     ErrorSendingMessage(Box<dyn std::error::Error>)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WorldObjectSendMessageError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `send_message_to` is never used
[INFO] [stdout]    --> src/world/mod.rs:152:18
[INFO] [stdout]     |
[INFO] [stdout] 100 | impl World {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub async fn send_message_to(&mut self, handle: &WorldObjectHandle, message: String) -> Result<(), WorldObjectSendMessageError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Bronze` and `Steel` are never constructed
[INFO] [stdout]  --> src/materials/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum Material {
[INFO] [stdout]   |          -------- variants in this enum
[INFO] [stdout] 5 |     Bronze,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 6 |     Iron,
[INFO] [stdout] 7 |     Steel,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Material` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `centimeters` is never used
[INFO] [stdout]   --> src/quantities/distance.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn centimeters(n: f64) -> quantities::Quantity<Distance> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Area` is never used
[INFO] [stdout]  --> src/quantities/area.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type Area = product::Product<distance::Distance, distance::Distance>;
[INFO] [stdout]   |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `square_meters` is never used
[INFO] [stdout]  --> src/quantities/area.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn square_meters(n: f64) -> quantities::Quantity<Area> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Volume` is never used
[INFO] [stdout]  --> src/quantities/volume.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type Volume = product::Product<distance::Distance, area::Area>;
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Density` is never used
[INFO] [stdout]  --> src/quantities/density.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub type Density = product::Product<mass::Mass, per::Per<volume::Volume>>;
[INFO] [stdout]   |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/quantities/direction/mod.rs:63:42
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct InvalidVerticalDirectionError(String);
[INFO] [stdout]    |            ----------------------------- ^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `InvalidVerticalDirectionError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Debug`, `Warning`, and `Fatal` are never constructed
[INFO] [stdout]   --> src/logging/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum LogLevel {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 20 |     Debug,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 21 |     Info,
[INFO] [stdout] 22 |     Warning,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 23 |     Error,
[INFO] [stdout] 24 |     Fatal
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `debug`, `warn`, `fatal`, `underlying`, `basic`, and `noop` are never used
[INFO] [stdout]   --> src/logging/mod.rs:68:18
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl<L: LoggerImpl + 'static> Logger<L> {
[INFO] [stdout]    | --------------------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub async fn debug(&mut self, message: String) {
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub async fn warn(&mut self, message: String) {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub async fn fatal(&mut self, message: String) {
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn underlying(self) -> L {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn basic<Out: Write + Send + Sync>(out: Out) -> BasicLogger<Out> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn noop() -> NoopLogger {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_kwarg` is never used
[INFO] [stdout]   --> src/logging/format.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl<L: LoggerImpl> FormatLoggerImpl<L> {
[INFO] [stdout]    | --------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn set_kwarg(&mut self, key: String, value: String) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ToUse` is never constructed
[INFO] [stdout]    --> src/lang/verbs.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub struct ToUse;
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `CloneBox` is never used
[INFO] [stdout]  --> src/util/mod.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub trait CloneBox<T> {
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `HostError` is never used
[INFO] [stdout]   --> src/lobby/mod.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub enum HostError {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `pronoun`, `mass`, `controller`, and `controller_mut` are never used
[INFO] [stdout]   --> src/worldobject/mod.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub trait TypedWorldObject: Send {
[INFO] [stdout]    |           ---------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 47 |     fn pronoun(&self) -> String;
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     fn mass(&self) -> Quantity<Mass>;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 62 |     fn controller(&self) -> Result<&dyn Controller, Error>;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 63 |     fn controller_mut(&mut self) -> Result<&mut dyn Controller, Error>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `pronoun`, `mass`, `controller`, and `controller_mut` are never used
[INFO] [stdout]    --> src/worldobject/mod.rs:159:8
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub trait WorldObject: Send + Sync {
[INFO] [stdout]     |           ----------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 159 |     fn pronoun(&self) -> String;
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     fn mass(&self) -> Quantity<Mass>;
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     fn controller(&self) -> Result<&dyn Controller, Error>;
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 181 |     fn controller_mut(&mut self) -> Result<&mut dyn Controller, Error>;
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `wielded_items` is never used
[INFO] [stdout]    --> src/worldobject/human/mod.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl Human {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] 194 |     pub fn wielded_items<'a>(&'a self) -> impl Iterator<Item = &'a dyn InventoryItem> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AttackError` is never used
[INFO] [stdout]   --> src/worldobject/human/actions/attack_action.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub enum AttackError {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get` and `get_mut` are never used
[INFO] [stdout]   --> src/worldobject/components/inventory/mod.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl Inventory {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub fn get(&self, handle: &InventoryItemHandle) -> Option<&Box<dyn InventoryItem>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub fn get_mut(&mut self, handle: &InventoryItemHandle) -> Option<&mut Box<dyn InventoryItem>> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `FailedToSetController` and `FailedToTakeController` are never constructed
[INFO] [stdout]    --> src/worldobject/components/inventory/item/wand.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub enum WandUseError {
[INFO] [stdout]     |          ------------ variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 130 |     FailedToSetController(Box<dyn std::error::Error>),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 131 |     FailedToTakeController(Box<dyn std::error::Error>),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `WandUseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AttackError` is never used
[INFO] [stdout]   --> src/worldobject/components/controllers/commands/attack_command.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum AttackError {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `InvalidItemName` is never constructed
[INFO] [stdout]   --> src/worldobject/components/controllers/commands/use_command.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum UseCommandParseError {
[INFO] [stdout]    |          -------------------- variant in this enum
[INFO] [stdout] 18 |     NoItemNameProvided,
[INFO] [stdout] 19 |     InvalidItemName(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UseCommandParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `subject_pronoun` and `object_pronoun` are never used
[INFO] [stdout]   --> src/worldobject/components/gender/mod.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | impl Gender {
[INFO] [stdout]    | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn subject_pronoun(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |     pub fn object_pronoun(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `mass` is never used
[INFO] [stdout]   --> src/worldobject/components/body/mod.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl Body {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 28 |     pub fn mass(&self) -> Quantity<Mass> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `mass` is never used
[INFO] [stdout]   --> src/worldobject/components/body/head/mod.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Head {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 19 |     pub fn mass(&self) -> Quantity<Mass> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `mass` is never used
[INFO] [stdout]   --> src/worldobject/components/body/head/mod.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl Mouth {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 48 |     pub fn mass(&self) -> Quantity<Mass> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `mass` is never used
[INFO] [stdout]   --> src/worldobject/components/body/head/mod.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | impl Tooth {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 78 |     pub fn mass(&self) -> Quantity<Mass> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `mass` is never used
[INFO] [stdout]   --> src/worldobject/components/body/torso/mod.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl Torso {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 25 |     pub fn mass(&self) -> Quantity<Mass> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HandDeserializeError` is never constructed
[INFO] [stdout]   --> src/worldobject/components/body/torso/arm/hand.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct HandDeserializeError;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `mass` is never used
[INFO] [stdout]   --> src/worldobject/components/body/legs/mod.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Legs {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 16 |     pub fn mass(&self) -> Quantity<Mass> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `NoSuchObject` and `ErrorSendingMessage` are never constructed
[INFO] [stdout]   --> src/world/mod.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub enum WorldObjectSendMessageError {
[INFO] [stdout]    |          --------------------------- variants in this enum
[INFO] [stdout] 68 |     NoSuchObject(WorldObjectHandle),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 69 |     ErrorSendingMessage(Box<dyn std::error::Error>)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WorldObjectSendMessageError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `send_message_to` is never used
[INFO] [stdout]    --> src/world/mod.rs:152:18
[INFO] [stdout]     |
[INFO] [stdout] 100 | impl World {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 152 |     pub async fn send_message_to(&mut self, handle: &WorldObjectHandle, message: String) -> Result<(), WorldObjectSendMessageError> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Bronze` and `Steel` are never constructed
[INFO] [stdout]  --> src/materials/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum Material {
[INFO] [stdout]   |          -------- variants in this enum
[INFO] [stdout] 5 |     Bronze,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 6 |     Iron,
[INFO] [stdout] 7 |     Steel,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Material` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `centimeters` is never used
[INFO] [stdout]   --> src/quantities/distance.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn centimeters(n: f64) -> quantities::Quantity<Distance> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Area` is never used
[INFO] [stdout]  --> src/quantities/area.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type Area = product::Product<distance::Distance, distance::Distance>;
[INFO] [stdout]   |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `square_meters` is never used
[INFO] [stdout]  --> src/quantities/area.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn square_meters(n: f64) -> quantities::Quantity<Area> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Volume` is never used
[INFO] [stdout]  --> src/quantities/volume.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub type Volume = product::Product<distance::Distance, area::Area>;
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Density` is never used
[INFO] [stdout]  --> src/quantities/density.rs:6:10
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub type Density = product::Product<mass::Mass, per::Per<volume::Volume>>;
[INFO] [stdout]   |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/quantities/direction/mod.rs:63:42
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct InvalidVerticalDirectionError(String);
[INFO] [stdout]    |            ----------------------------- ^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `InvalidVerticalDirectionError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Debug`, `Warning`, and `Fatal` are never constructed
[INFO] [stdout]   --> src/logging/mod.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum LogLevel {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] 20 |     Debug,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 21 |     Info,
[INFO] [stdout] 22 |     Warning,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 23 |     Error,
[INFO] [stdout] 24 |     Fatal
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `debug`, `warn`, `fatal`, `underlying`, `basic`, and `noop` are never used
[INFO] [stdout]   --> src/logging/mod.rs:68:18
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl<L: LoggerImpl + 'static> Logger<L> {
[INFO] [stdout]    | --------------------------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub async fn debug(&mut self, message: String) {
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub async fn warn(&mut self, message: String) {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 84 |     pub async fn fatal(&mut self, message: String) {
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn underlying(self) -> L {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub fn basic<Out: Write + Send + Sync>(out: Out) -> BasicLogger<Out> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn noop() -> NoopLogger {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_kwarg` is never used
[INFO] [stdout]   --> src/logging/format.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | impl<L: LoggerImpl> FormatLoggerImpl<L> {
[INFO] [stdout]    | --------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn set_kwarg(&mut self, key: String, value: String) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ToUse` is never constructed
[INFO] [stdout]    --> src/lang/verbs.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub struct ToUse;
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `CloneBox` is never used
[INFO] [stdout]  --> src/util/mod.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub trait CloneBox<T> {
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `HostError` is never used
[INFO] [stdout]   --> src/lobby/mod.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub enum HostError {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/lobby/mod.rs:73:21
[INFO] [stdout]    |
[INFO] [stdout] 73 |                     lobby.register_connection(stream, socket_addr).await;
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 73 |                     let _ = lobby.register_connection(stream, socket_addr).await;
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/lobby/mod.rs:73:21
[INFO] [stdout]    |
[INFO] [stdout] 73 |                     lobby.register_connection(stream, socket_addr).await;
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 73 |                     let _ = lobby.register_connection(stream, socket_addr).await;
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: feature `async_trait_bounds` is declared but not used
[INFO] [stdout]  --> src/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(async_trait_bounds)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: feature `async_trait_bounds` is declared but not used
[INFO] [stdout]  --> src/main.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | #![feature(async_trait_bounds)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 22.91s
[INFO] running `Command { std: "docker" "inspect" "25259be401a3bd8d28ceca149d011ebd7d4b932910c52d1d429982b548c73068", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "25259be401a3bd8d28ceca149d011ebd7d4b932910c52d1d429982b548c73068", kill_on_drop: false }`
[INFO] [stdout] 25259be401a3bd8d28ceca149d011ebd7d4b932910c52d1d429982b548c73068
