[INFO] cloning repository https://github.com/SkyZH/warehouse.rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/SkyZH/warehouse.rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSkyZH%2Fwarehouse.rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSkyZH%2Fwarehouse.rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] bc7c47cd118ddd06adb12eaa927197d7d447676d
[INFO] checking SkyZH/warehouse.rs against 760e1de835e253bf28bbcbfee38b5e8ed9ffe074 for pr-133502-26
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSkyZH%2Fwarehouse.rs" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/SkyZH/warehouse.rs
[INFO] finished tweaking git repo https://github.com/SkyZH/warehouse.rs
[INFO] tweaked toml for git repo https://github.com/SkyZH/warehouse.rs written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/SkyZH/warehouse.rs on toolchain 760e1de835e253bf28bbcbfee38b5e8ed9ffe074
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+760e1de835e253bf28bbcbfee38b5e8ed9ffe074" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/SkyZH/warehouse.rs 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" "+760e1de835e253bf28bbcbfee38b5e8ed9ffe074" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `warehouse` (manifest) generated 1 warning
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking SkyZH/warehouse.rs against 760e1de835e253bf28bbcbfee38b5e8ed9ffe074 for pr-133502-26
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSkyZH%2Fwarehouse.rs" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/SkyZH/warehouse.rs
[INFO] finished tweaking git repo https://github.com/SkyZH/warehouse.rs
[INFO] tweaked toml for git repo https://github.com/SkyZH/warehouse.rs written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/SkyZH/warehouse.rs on toolchain 760e1de835e253bf28bbcbfee38b5e8ed9ffe074
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+760e1de835e253bf28bbcbfee38b5e8ed9ffe074" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/SkyZH/warehouse.rs 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" "+760e1de835e253bf28bbcbfee38b5e8ed9ffe074" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `warehouse` (manifest) generated 1 warning
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking SkyZH/warehouse.rs against 760e1de835e253bf28bbcbfee38b5e8ed9ffe074 for pr-133502-26
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSkyZH%2Fwarehouse.rs" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/SkyZH/warehouse.rs
[INFO] finished tweaking git repo https://github.com/SkyZH/warehouse.rs
[INFO] tweaked toml for git repo https://github.com/SkyZH/warehouse.rs written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/SkyZH/warehouse.rs on toolchain 760e1de835e253bf28bbcbfee38b5e8ed9ffe074
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+760e1de835e253bf28bbcbfee38b5e8ed9ffe074" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/SkyZH/warehouse.rs 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" "+760e1de835e253bf28bbcbfee38b5e8ed9ffe074" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `warehouse` (manifest) generated 1 warning
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rand v0.4.3
[INFO] [stderr]   Downloaded uuid v0.6.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:1fa6594d87c8fa7b311925a7a77a16f539833322d9dfba4ce891f211db2f90b1" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 9c693dd625b74870735a8f9a0043b37421a4db92d73f48ea8beee2c89325cecd
[INFO] running `Command { std: "docker" "start" "9c693dd625b74870735a8f9a0043b37421a4db92d73f48ea8beee2c89325cecd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9c693dd625b74870735a8f9a0043b37421a4db92d73f48ea8beee2c89325cecd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9c693dd625b74870735a8f9a0043b37421a4db92d73f48ea8beee2c89325cecd" "/opt/rustwide/cargo-home/bin/cargo" "+760e1de835e253bf28bbcbfee38b5e8ed9ffe074" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9c693dd625b74870735a8f9a0043b37421a4db92d73f48ea8beee2c89325cecd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "9c693dd625b74870735a8f9a0043b37421a4db92d73f48ea8beee2c89325cecd" "/opt/rustwide/cargo-home/bin/cargo" "+760e1de835e253bf28bbcbfee38b5e8ed9ffe074" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `warehouse` (manifest) generated 1 warning
[INFO] [stderr]     Checking rand v0.4.3
[INFO] [stderr]     Checking uuid v0.6.5
[INFO] [stderr]     Checking warehouse v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `self::sequential_queue::SequentialCommandQueue`
[INFO] [stdout]   --> src/warehouse/command/mod.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use self::sequential_queue::SequentialCommandQueue;
[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: `self::panic_command::ConsumePanicCommand`
[INFO] [stdout]   --> src/warehouse/command/mod.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use self::panic_command::ConsumePanicCommand;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::transfer_command::BotTransferToCommand`
[INFO] [stdout]   --> src/warehouse/command/mod.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use self::transfer_command::BotTransferToCommand;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::transfer_command::BotTransferFromCommand`
[INFO] [stdout]   --> src/warehouse/command/mod.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use self::transfer_command::BotTransferFromCommand;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::pick_command::SitePickCommand`
[INFO] [stdout]   --> src/warehouse/command/mod.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub use self::pick_command::SitePickCommand;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::test_command::TestCommand`
[INFO] [stdout]   --> src/warehouse/command/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub use self::test_command::TestCommand;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::test_command::TestNextCommand`
[INFO] [stdout]   --> src/warehouse/command/mod.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub use self::test_command::TestNextCommand;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::panic_command::PanicCommand`
[INFO] [stdout]   --> src/warehouse/command/mod.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub use self::panic_command::PanicCommand;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warehouse::command::Command`
[INFO] [stdout]  --> src/warehouse/object/bot.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use warehouse::command::Command;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warehouse::command::Command`
[INFO] [stdout]  --> src/warehouse/object/shelf.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use warehouse::command::Command;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::test_object::TestObject`
[INFO] [stdout]   --> src/warehouse/object/mod.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use self::test_object::TestObject;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::storage::Item`
[INFO] [stdout]  --> src/warehouse/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use self::storage::Item;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Location`
[INFO] [stdout]  --> src/worlddata/one_runner.rs:2:44
[INFO] [stdout]   |
[INFO] [stdout] 2 | use warehouse::object::{ Bot, Shelf, Site, Location, Object };
[INFO] [stdout]   |                                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude::*`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/warehouse/command/parallel_queue.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 |     queue: Vec<Box<Command>>
[INFO] [stdout]   |                    ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 4 |     queue: Vec<Box<dyn Command>>
[INFO] [stdout]   |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/warehouse/command/transfer_command.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 |     from: Arc<Mutex<Object>>,
[INFO] [stdout]   |                     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 7 |     from: Arc<Mutex<dyn Object>>,
[INFO] [stdout]   |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/warehouse/command/transfer_command.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 |     to: Arc<Mutex<Object>>
[INFO] [stdout]   |                   ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 |     to: Arc<Mutex<dyn Object>>
[INFO] [stdout]   |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/warehouse/world.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 |     items: Vec<Arc<Mutex<Object>>>,
[INFO] [stdout]   |                          ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 6 |     items: Vec<Arc<Mutex<dyn Object>>>,
[INFO] [stdout]   |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/warehouse/command/parallel_queue.rs:16:41
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn schedule(&mut self, command: Box<Command>) -> Result<(), &'static str> {
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn schedule(&mut self, command: Box<dyn Command>) -> Result<(), &'static str> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/warehouse/command/command_queue.rs:4:41
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fn schedule(&mut self, command: Box<Command>) -> Result<(), &'static str>;
[INFO] [stdout]   |                                         ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fn schedule(&mut self, command: Box<dyn Command>) -> Result<(), &'static str>;
[INFO] [stdout]   |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/warehouse/command/parallel_queue.rs:26:36
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn commands(&self) -> &Vec<Box<Command>> {
[INFO] [stdout]    |                                    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn commands(&self) -> &Vec<Box<dyn Command>> {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/warehouse/command/command_queue.rs:5:36
[INFO] [stdout]   |
[INFO] [stdout] 5 |     fn commands(&self) -> &Vec<Box<Command>>;
[INFO] [stdout]   |                                    ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 5 |     fn commands(&self) -> &Vec<Box<dyn Command>>;
[INFO] [stdout]   |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/worlddata/one_runner.rs:62:38
[INFO] [stdout]    |
[INFO] [stdout] 62 |     fn scheduler(&self) -> Arc<Mutex<Command>> {
[INFO] [stdout]    |                                      ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 62 |     fn scheduler(&self) -> Arc<Mutex<dyn Command>> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/worlddata/one_runner.rs:11:38
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn scheduler(&self) -> Arc<Mutex<Command>>;
[INFO] [stdout]    |                                      ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn scheduler(&self) -> Arc<Mutex<dyn Command>>;
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/worlddata/util.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn move_location(obj: Arc<Mutex<Object>>, location: Location) {
[INFO] [stdout]   |                                     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn move_location(obj: Arc<Mutex<dyn Object>>, location: Location) {
[INFO] [stdout]   |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/worlddata/util.rs:10:87
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn map_as_object <'a, T: 'a + Object> (vec: &Vec<Arc<Mutex<T>>>) -> Vec<Arc<Mutex<Object + 'a>>>{
[INFO] [stdout]    |                                                                                       ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn map_as_object <'a, T: 'a + Object> (vec: &Vec<Arc<Mutex<T>>>) -> Vec<Arc<Mutex<dyn Object + 'a>>>{
[INFO] [stdout]    |                                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/warehouse/command/transfer_command.rs:16:53
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn new(from: Arc<Mutex<Bot>>, to: Arc<Mutex<Object>>) -> Box<TransferCommand> {
[INFO] [stdout]    |                                                     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn new(from: Arc<Mutex<Bot>>, to: Arc<Mutex<dyn Object>>) -> Box<TransferCommand> {
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/warehouse/command/transfer_command.rs:27:32
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn new(from: Arc<Mutex<Object>>, to: Arc<Mutex<Bot>>) -> Box<TransferCommand> {
[INFO] [stdout]    |                                ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn new(from: Arc<Mutex<dyn Object>>, to: Arc<Mutex<Bot>>) -> Box<TransferCommand> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/warehouse/world.rs:17:54
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn add_items(&mut self, items: Vec<Arc<Mutex<Object>>>) {
[INFO] [stdout]    |                                                      ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn add_items(&mut self, items: Vec<Arc<Mutex<dyn Object>>>) {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/warehouse/world.rs:26:55
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn get_items(&mut self) -> &mut Vec<Arc<Mutex<Object>>> {
[INFO] [stdout]    |                                                       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn get_items(&mut self) -> &mut Vec<Arc<Mutex<dyn Object>>> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/warehouse/world.rs:35:55
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn notify_will_move(&mut self, obj: Arc<Mutex<Object>>, to_location: Location) -> Result<(), &'static str> {
[INFO] [stdout]    |                                                       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn notify_will_move(&mut self, obj: Arc<Mutex<dyn Object>>, to_location: Location) -> Result<(), &'static str> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::sequential_queue::SequentialCommandQueue`
[INFO] [stdout]   --> src/warehouse/command/mod.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use self::sequential_queue::SequentialCommandQueue;
[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: `self::transfer_command::BotTransferToCommand`
[INFO] [stdout]   --> src/warehouse/command/mod.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use self::transfer_command::BotTransferToCommand;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::transfer_command::BotTransferFromCommand`
[INFO] [stdout]   --> src/warehouse/command/mod.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use self::transfer_command::BotTransferFromCommand;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::pick_command::SitePickCommand`
[INFO] [stdout]   --> src/warehouse/command/mod.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub use self::pick_command::SitePickCommand;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warehouse::command::Command`
[INFO] [stdout]  --> src/warehouse/object/bot.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use warehouse::command::Command;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warehouse::command::Command`
[INFO] [stdout]  --> src/warehouse/object/shelf.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use warehouse::command::Command;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::storage::Item`
[INFO] [stdout]  --> src/warehouse/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use self::storage::Item;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Location`
[INFO] [stdout]  --> src/worlddata/one_runner.rs:2:44
[INFO] [stdout]   |
[INFO] [stdout] 2 | use warehouse::object::{ Bot, Shelf, Site, Location, Object };
[INFO] [stdout]   |                                            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude::*`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::io::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/warehouse/command/parallel_queue.rs:54:33
[INFO] [stdout]    |
[INFO] [stdout] 54 |             .map(|command: &Box<Command>| match command.render() {
[INFO] [stdout]    |                                 ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 54 |             .map(|command: &Box<dyn Command>| match command.render() {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/warehouse/command/parallel_queue.rs:4:20
[INFO] [stdout]   |
[INFO] [stdout] 4 |     queue: Vec<Box<Command>>
[INFO] [stdout]   |                    ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 4 |     queue: Vec<Box<dyn Command>>
[INFO] [stdout]   |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/warehouse/command/transfer_command.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 |     from: Arc<Mutex<Object>>,
[INFO] [stdout]   |                     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 7 |     from: Arc<Mutex<dyn Object>>,
[INFO] [stdout]   |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/warehouse/command/transfer_command.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 |     to: Arc<Mutex<Object>>
[INFO] [stdout]   |                   ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 |     to: Arc<Mutex<dyn Object>>
[INFO] [stdout]   |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/warehouse/world.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 |     items: Vec<Arc<Mutex<Object>>>,
[INFO] [stdout]   |                          ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 6 |     items: Vec<Arc<Mutex<dyn Object>>>,
[INFO] [stdout]   |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/warehouse/command/parallel_queue.rs:16:41
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn schedule(&mut self, command: Box<Command>) -> Result<(), &'static str> {
[INFO] [stdout]    |                                         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn schedule(&mut self, command: Box<dyn Command>) -> Result<(), &'static str> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/warehouse/command/command_queue.rs:4:41
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fn schedule(&mut self, command: Box<Command>) -> Result<(), &'static str>;
[INFO] [stdout]   |                                         ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 4 |     fn schedule(&mut self, command: Box<dyn Command>) -> Result<(), &'static str>;
[INFO] [stdout]   |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/warehouse/command/parallel_queue.rs:26:36
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn commands(&self) -> &Vec<Box<Command>> {
[INFO] [stdout]    |                                    ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn commands(&self) -> &Vec<Box<dyn Command>> {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/warehouse/command/command_queue.rs:5:36
[INFO] [stdout]   |
[INFO] [stdout] 5 |     fn commands(&self) -> &Vec<Box<Command>>;
[INFO] [stdout]   |                                    ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 5 |     fn commands(&self) -> &Vec<Box<dyn Command>>;
[INFO] [stdout]   |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/warehouse/world.rs:54:38
[INFO] [stdout]    |
[INFO] [stdout] 54 |             .map(|object: &Arc<Mutex<Object>>| match object.lock().unwrap().render() {
[INFO] [stdout]    |                                      ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 54 |             .map(|object: &Arc<Mutex<dyn Object>>| match object.lock().unwrap().render() {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/worlddata/one_runner.rs:62:38
[INFO] [stdout]    |
[INFO] [stdout] 62 |     fn scheduler(&self) -> Arc<Mutex<Command>> {
[INFO] [stdout]    |                                      ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 62 |     fn scheduler(&self) -> Arc<Mutex<dyn Command>> {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/worlddata/one_runner.rs:11:38
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn scheduler(&self) -> Arc<Mutex<Command>>;
[INFO] [stdout]    |                                      ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn scheduler(&self) -> Arc<Mutex<dyn Command>>;
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/worlddata/util.rs:4:37
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn move_location(obj: Arc<Mutex<Object>>, location: Location) {
[INFO] [stdout]   |                                     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn move_location(obj: Arc<Mutex<dyn Object>>, location: Location) {
[INFO] [stdout]   |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/worlddata/util.rs:10:87
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn map_as_object <'a, T: 'a + Object> (vec: &Vec<Arc<Mutex<T>>>) -> Vec<Arc<Mutex<Object + 'a>>>{
[INFO] [stdout]    |                                                                                       ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn map_as_object <'a, T: 'a + Object> (vec: &Vec<Arc<Mutex<T>>>) -> Vec<Arc<Mutex<dyn Object + 'a>>>{
[INFO] [stdout]    |                                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/warehouse/command/transfer_command.rs:16:53
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn new(from: Arc<Mutex<Bot>>, to: Arc<Mutex<Object>>) -> Box<TransferCommand> {
[INFO] [stdout]    |                                                     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn new(from: Arc<Mutex<Bot>>, to: Arc<Mutex<dyn Object>>) -> Box<TransferCommand> {
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/warehouse/command/transfer_command.rs:27:32
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn new(from: Arc<Mutex<Object>>, to: Arc<Mutex<Bot>>) -> Box<TransferCommand> {
[INFO] [stdout]    |                                ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn new(from: Arc<Mutex<dyn Object>>, to: Arc<Mutex<Bot>>) -> Box<TransferCommand> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/warehouse/world.rs:17:54
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn add_items(&mut self, items: Vec<Arc<Mutex<Object>>>) {
[INFO] [stdout]    |                                                      ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn add_items(&mut self, items: Vec<Arc<Mutex<dyn Object>>>) {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/warehouse/world.rs:26:55
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn get_items(&mut self) -> &mut Vec<Arc<Mutex<Object>>> {
[INFO] [stdout]    |                                                       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn get_items(&mut self) -> &mut Vec<Arc<Mutex<dyn Object>>> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/warehouse/world.rs:35:55
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn notify_will_move(&mut self, obj: Arc<Mutex<Object>>, to_location: Location) -> Result<(), &'static str> {
[INFO] [stdout]    |                                                       ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn notify_will_move(&mut self, obj: Arc<Mutex<dyn Object>>, to_location: Location) -> Result<(), &'static str> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/warehouse/command/parallel_queue.rs:54:33
[INFO] [stdout]    |
[INFO] [stdout] 54 |             .map(|command: &Box<Command>| match command.render() {
[INFO] [stdout]    |                                 ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 54 |             .map(|command: &Box<dyn Command>| match command.render() {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/worlddata/one_runner.rs:63:45
[INFO] [stdout]    |
[INFO] [stdout] 63 |         self.scheduler.clone() as Arc<Mutex<Command>>
[INFO] [stdout]    |                                             ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 63 |         self.scheduler.clone() as Arc<Mutex<dyn Command>>
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/worlddata/util.rs:11:52
[INFO] [stdout]    |
[INFO] [stdout] 11 |     vec.iter().cloned().map(|obj| obj as Arc<Mutex<Object>>).collect()
[INFO] [stdout]    |                                                    ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     vec.iter().cloned().map(|obj| obj as Arc<Mutex<dyn Object>>).collect()
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/worlddata/one_bot.rs:19:25
[INFO] [stdout]    |
[INFO] [stdout] 19 |                     let mut shelf = Shelf::new();
[INFO] [stdout]    |                         ----^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/worlddata/one_bot.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let mut site = Site::new();
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `commands` is never used
[INFO] [stdout]  --> src/warehouse/command/command_queue.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait CommandQueue : Command {
[INFO] [stdout]   |           ------------ method in this trait
[INFO] [stdout] 4 |     fn schedule(&mut self, command: Box<Command>) -> Result<(), &'static str>;
[INFO] [stdout] 5 |     fn commands(&self) -> &Vec<Box<Command>>;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SequentialCommandQueue` is never constructed
[INFO] [stdout]  --> src/warehouse/command/sequential_queue.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct SequentialCommandQueue {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestCommandStatus` is never constructed
[INFO] [stdout]  --> src/warehouse/command/test_command.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct TestCommandStatus {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestCommand` is never constructed
[INFO] [stdout]  --> src/warehouse/command/test_command.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct TestCommand {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/warehouse/command/test_command.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl TestCommand {
[INFO] [stdout]    | ---------------- associated function in this implementation
[INFO] [stdout] 14 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestNextCommand` is never constructed
[INFO] [stdout]   --> src/warehouse/command/test_command.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct TestNextCommand {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/warehouse/command/test_command.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 41 | impl TestNextCommand {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 42 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PanicCommand` is never constructed
[INFO] [stdout]  --> src/warehouse/command/panic_command.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct PanicCommand {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/warehouse/command/panic_command.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | impl PanicCommand {
[INFO] [stdout]   | ----------------- associated function in this implementation
[INFO] [stdout] 7 |     pub fn new() -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConsumePanicCommand` is never constructed
[INFO] [stdout]   --> src/warehouse/command/panic_command.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct ConsumePanicCommand {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/warehouse/command/panic_command.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl ConsumePanicCommand {
[INFO] [stdout]    | ------------------------ associated function in this implementation
[INFO] [stdout] 28 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TransferCommand` is never constructed
[INFO] [stdout]  --> src/warehouse/command/transfer_command.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct TransferCommand {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BotTransferToCommand` is never constructed
[INFO] [stdout]   --> src/warehouse/command/transfer_command.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct BotTransferToCommand {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/warehouse/command/transfer_command.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl BotTransferToCommand {
[INFO] [stdout]    | ------------------------- associated function in this implementation
[INFO] [stdout] 16 |     pub fn new(from: Arc<Mutex<Bot>>, to: Arc<Mutex<Object>>) -> Box<TransferCommand> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BotTransferFromCommand` is never constructed
[INFO] [stdout]   --> src/warehouse/command/transfer_command.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct BotTransferFromCommand {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/warehouse/command/transfer_command.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl BotTransferFromCommand {
[INFO] [stdout]    | --------------------------- associated function in this implementation
[INFO] [stdout] 27 |     pub fn new(from: Arc<Mutex<Object>>, to: Arc<Mutex<Bot>>) -> Box<TransferCommand> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PickCommand` is never constructed
[INFO] [stdout]  --> src/warehouse/command/pick_command.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct PickCommand {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SitePutCommand` is never constructed
[INFO] [stdout]   --> src/warehouse/command/pick_command.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct SitePutCommand {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SitePickCommand` is never constructed
[INFO] [stdout]   --> src/warehouse/command/pick_command.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct SitePickCommand {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/warehouse/command/pick_command.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl SitePickCommand {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 20 |     pub fn new(site: Arc<Mutex<Site>>, item: ItemSet) -> Box<PickCommand> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/warehouse/command/pick_command.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | impl SitePutCommand {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 30 |     pub fn new(site: Arc<Mutex<Site>>, item: ItemSet) -> Box<PickCommand> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_storage` is never used
[INFO] [stdout]  --> src/warehouse/object/object.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub trait Object {
[INFO] [stdout]   |           ------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 8 |     fn get_storage(&mut self) -> &mut Storage;
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `left`, `right`, `front`, `back`, and `down` are never used
[INFO] [stdout]   --> src/warehouse/object/location.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Location {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn left(&self) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn right(&self) -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn front(&self) -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn back(&self) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn down(&self) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TestObject` is never constructed
[INFO] [stdout]  --> src/warehouse/object/test_object.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct TestObject {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/warehouse/object/test_object.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl TestObject {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 12 |     pub fn new() -> Arc<Mutex<Self>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_items` is never used
[INFO] [stdout]   --> src/warehouse/world.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl World {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn get_items(&mut self) -> &mut Vec<Arc<Mutex<Object>>> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `items`, `add`, `take`, and `have` are never used
[INFO] [stdout]   --> src/warehouse/storage.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl Storage {
[INFO] [stdout]    | ------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn items(&self) -> &Vec<(Item, u32)> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn add(&mut self, item: Item, count: u32) -> Result<(), u32> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn take(&mut self, item: Item, count: u32) -> Result<(), u32> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn have(&self, item: Item) -> u32 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `shelves` and `sites` are never read
[INFO] [stdout]   --> src/worlddata/one_runner.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct OneRunner {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 43 |     shelves: Vec<Arc<Mutex<Shelf>>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 44 |     sites: Vec<Arc<Mutex<Site>>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `SHELF_COUNT` should have a snake case name
[INFO] [stdout]   --> src/worlddata/one_bot.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let (SHELF_COUNT, SHELF_WIDTH, SHELF_HEIGHT) = (6, 10, 5);
[INFO] [stdout]    |          ^^^^^^^^^^^ help: convert the identifier to snake case: `shelf_count`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `SHELF_WIDTH` should have a snake case name
[INFO] [stdout]   --> src/worlddata/one_bot.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let (SHELF_COUNT, SHELF_WIDTH, SHELF_HEIGHT) = (6, 10, 5);
[INFO] [stdout]    |                       ^^^^^^^^^^^ help: convert the identifier to snake case: `shelf_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `SHELF_HEIGHT` should have a snake case name
[INFO] [stdout]   --> src/worlddata/one_bot.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let (SHELF_COUNT, SHELF_WIDTH, SHELF_HEIGHT) = (6, 10, 5);
[INFO] [stdout]    |                                    ^^^^^^^^^^^^ help: convert the identifier to snake case: `shelf_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `MARGIN_L` should have a snake case name
[INFO] [stdout]   --> src/worlddata/one_bot.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let (MARGIN_L, MARGIN_T) = (1, 1);
[INFO] [stdout]    |          ^^^^^^^^ help: convert the identifier to snake case: `margin_l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `MARGIN_T` should have a snake case name
[INFO] [stdout]   --> src/worlddata/one_bot.rs:11:20
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let (MARGIN_L, MARGIN_T) = (1, 1);
[INFO] [stdout]    |                    ^^^^^^^^ help: convert the identifier to snake case: `margin_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/warehouse/world.rs:54:38
[INFO] [stdout]    |
[INFO] [stdout] 54 |             .map(|object: &Arc<Mutex<Object>>| match object.lock().unwrap().render() {
[INFO] [stdout]    |                                      ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 54 |             .map(|object: &Arc<Mutex<dyn Object>>| match object.lock().unwrap().render() {
[INFO] [stdout]    |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/warehouse/world.rs:89:51
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let items = vec![bot.clone() as Arc<Mutex<Object>>, bot.clone() as Arc<Mutex<Object>>, bot.clone() as Arc<Mutex<Object>>];
[INFO] [stdout]    |                                                   ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let items = vec![bot.clone() as Arc<Mutex<dyn Object>>, bot.clone() as Arc<Mutex<Object>>, bot.clone() as Arc<Mutex<Object>>];
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/warehouse/world.rs:89:86
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let items = vec![bot.clone() as Arc<Mutex<Object>>, bot.clone() as Arc<Mutex<Object>>, bot.clone() as Arc<Mutex<Object>>];
[INFO] [stdout]    |                                                                                      ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let items = vec![bot.clone() as Arc<Mutex<Object>>, bot.clone() as Arc<Mutex<dyn Object>>, bot.clone() as Arc<Mutex<Object>>];
[INFO] [stdout]    |                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/warehouse/world.rs:89:121
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let items = vec![bot.clone() as Arc<Mutex<Object>>, bot.clone() as Arc<Mutex<Object>>, bot.clone() as Arc<Mutex<Object>>];
[INFO] [stdout]    |                                                                                                                         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 89 |         let items = vec![bot.clone() as Arc<Mutex<Object>>, bot.clone() as Arc<Mutex<Object>>, bot.clone() as Arc<Mutex<dyn Object>>];
[INFO] [stdout]    |                                                                                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/warehouse/world.rs:104:55
[INFO] [stdout]     |
[INFO] [stdout] 104 |         world.add_items(vec![bot.clone() as Arc<Mutex<Object>>]);
[INFO] [stdout]     |                                                       ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 104 |         world.add_items(vec![bot.clone() as Arc<Mutex<dyn Object>>]);
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/warehouse/world.rs:112:55
[INFO] [stdout]     |
[INFO] [stdout] 112 |         world.add_items(vec![bot.clone() as Arc<Mutex<Object>>]);
[INFO] [stdout]     |                                                       ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 112 |         world.add_items(vec![bot.clone() as Arc<Mutex<dyn Object>>]);
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/worlddata/one_runner.rs:63:45
[INFO] [stdout]    |
[INFO] [stdout] 63 |         self.scheduler.clone() as Arc<Mutex<Command>>
[INFO] [stdout]    |                                             ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 63 |         self.scheduler.clone() as Arc<Mutex<dyn Command>>
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/worlddata/util.rs:11:52
[INFO] [stdout]    |
[INFO] [stdout] 11 |     vec.iter().cloned().map(|obj| obj as Arc<Mutex<Object>>).collect()
[INFO] [stdout]    |                                                    ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     vec.iter().cloned().map(|obj| obj as Arc<Mutex<dyn Object>>).collect()
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `target_loc` is never read
[INFO] [stdout]   --> src/warehouse/command/move_command.rs:91:30
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let mut target_loc = Location::new(0, 0, 0);
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 97 |             target_loc = (*loc1).front();
[INFO] [stdout]    |             ---------------------------- `target_loc` is overwritten here before the previous value is read
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `target_loc` is never read
[INFO] [stdout]    --> src/warehouse/command/move_command.rs:108:30
[INFO] [stdout]     |
[INFO] [stdout] 108 |         let mut target_loc = Location::new(0, 0, 0);
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 114 |             target_loc = (*loc1).front();
[INFO] [stdout]     |             ---------------------------- `target_loc` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `target_loc_1` is never read
[INFO] [stdout]    --> src/warehouse/command/move_command.rs:127:14
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let (mut target_loc_1, mut target_loc_2) = (Location::new(0, 0, 0), Location::new(0, 0, 0));
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 133 |             target_loc_1 = *loc2;
[INFO] [stdout]     |             -------------------- `target_loc_1` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `target_loc_2` is never read
[INFO] [stdout]    --> src/warehouse/command/move_command.rs:127:32
[INFO] [stdout]     |
[INFO] [stdout] 127 |         let (mut target_loc_1, mut target_loc_2) = (Location::new(0, 0, 0), Location::new(0, 0, 0));
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^ this value is reassigned later and never used
[INFO] [stdout] ...
[INFO] [stdout] 134 |             target_loc_2 = *loc1;
[INFO] [stdout]     |             -------------------- `target_loc_2` is overwritten here before the previous value is read
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/warehouse/world.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 77 |         let mut world = World::new();
[INFO] [stdout]    |             ----^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/warehouse/world.rs:83:13
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let mut bot = Bot::new();
[INFO] [stdout]    |             ----^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/worlddata/one_bot.rs:19:25
[INFO] [stdout]    |
[INFO] [stdout] 19 |                     let mut shelf = Shelf::new();
[INFO] [stdout]    |                         ----^^^^^
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/worlddata/one_bot.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let mut site = Site::new();
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `commands` is never used
[INFO] [stdout]  --> src/warehouse/command/command_queue.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait CommandQueue : Command {
[INFO] [stdout]   |           ------------ method in this trait
[INFO] [stdout] 4 |     fn schedule(&mut self, command: Box<Command>) -> Result<(), &'static str>;
[INFO] [stdout] 5 |     fn commands(&self) -> &Vec<Box<Command>>;
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SequentialCommandQueue` is never constructed
[INFO] [stdout]  --> src/warehouse/command/sequential_queue.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct SequentialCommandQueue {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BotTransferFromCommand` is never constructed
[INFO] [stdout]   --> src/warehouse/command/transfer_command.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct BotTransferFromCommand {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/warehouse/command/transfer_command.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl BotTransferFromCommand {
[INFO] [stdout]    | --------------------------- associated function in this implementation
[INFO] [stdout] 27 |     pub fn new(from: Arc<Mutex<Object>>, to: Arc<Mutex<Bot>>) -> Box<TransferCommand> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `left`, `right`, `back`, and `down` are never used
[INFO] [stdout]   --> src/warehouse/object/location.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl Location {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn left(&self) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn right(&self) -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn back(&self) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn down(&self) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_items` is never used
[INFO] [stdout]   --> src/warehouse/world.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl World {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn get_items(&mut self) -> &mut Vec<Arc<Mutex<Object>>> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `items` is never used
[INFO] [stdout]   --> src/warehouse/storage.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl Storage {
[INFO] [stdout]    | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn items(&self) -> &Vec<(Item, u32)> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `shelves` and `sites` are never read
[INFO] [stdout]   --> src/worlddata/one_runner.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct OneRunner {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 43 |     shelves: Vec<Arc<Mutex<Shelf>>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 44 |     sites: Vec<Arc<Mutex<Site>>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `SHELF_COUNT` should have a snake case name
[INFO] [stdout]   --> src/worlddata/one_bot.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let (SHELF_COUNT, SHELF_WIDTH, SHELF_HEIGHT) = (6, 10, 5);
[INFO] [stdout]    |          ^^^^^^^^^^^ help: convert the identifier to snake case: `shelf_count`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `SHELF_WIDTH` should have a snake case name
[INFO] [stdout]   --> src/worlddata/one_bot.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let (SHELF_COUNT, SHELF_WIDTH, SHELF_HEIGHT) = (6, 10, 5);
[INFO] [stdout]    |                       ^^^^^^^^^^^ help: convert the identifier to snake case: `shelf_width`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `SHELF_HEIGHT` should have a snake case name
[INFO] [stdout]   --> src/worlddata/one_bot.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 |     let (SHELF_COUNT, SHELF_WIDTH, SHELF_HEIGHT) = (6, 10, 5);
[INFO] [stdout]    |                                    ^^^^^^^^^^^^ help: convert the identifier to snake case: `shelf_height`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `MARGIN_L` should have a snake case name
[INFO] [stdout]   --> src/worlddata/one_bot.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let (MARGIN_L, MARGIN_T) = (1, 1);
[INFO] [stdout]    |          ^^^^^^^^ help: convert the identifier to snake case: `margin_l`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `MARGIN_T` should have a snake case name
[INFO] [stdout]   --> src/worlddata/one_bot.rs:11:20
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let (MARGIN_L, MARGIN_T) = (1, 1);
[INFO] [stdout]    |                    ^^^^^^^^ help: convert the identifier to snake case: `margin_t`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.27s
[INFO] running `Command { std: "docker" "inspect" "9c693dd625b74870735a8f9a0043b37421a4db92d73f48ea8beee2c89325cecd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9c693dd625b74870735a8f9a0043b37421a4db92d73f48ea8beee2c89325cecd", kill_on_drop: false }`
[INFO] [stdout] 9c693dd625b74870735a8f9a0043b37421a4db92d73f48ea8beee2c89325cecd
