[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 beta-2020-07-24 for pr-75494-beta
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSkyZH%2Fwarehouse.rs" "/workspace/builds/worker-3/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/SkyZH/warehouse.rs on toolchain beta-2020-07-24
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-07-24" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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-3/source/Cargo.toml
[INFO] crate git repo https://github.com/SkyZH/warehouse.rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-07-24" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-07-24" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 850171fbea027f1c2a46f1beb9159c1b31427c28dcf25961014fd142fa8bb047
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "850171fbea027f1c2a46f1beb9159c1b31427c28dcf25961014fd142fa8bb047", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "850171fbea027f1c2a46f1beb9159c1b31427c28dcf25961014fd142fa8bb047", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "850171fbea027f1c2a46f1beb9159c1b31427c28dcf25961014fd142fa8bb047", kill_on_drop: false }`
[INFO] [stdout] 850171fbea027f1c2a46f1beb9159c1b31427c28dcf25961014fd142fa8bb047
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-07-24" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] 673eebe4e5602da6158ea108bba0c89f6c12d495abd7da2b5b5703d790d62af5
[INFO] running `Command { std: "docker" "start" "-a" "673eebe4e5602da6158ea108bba0c89f6c12d495abd7da2b5b5703d790d62af5", kill_on_drop: false }`
[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: 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]   |                                         ^^^^^^^ help: use `dyn`: `dyn Command`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[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]   |                                    ^^^^^^^ help: use `dyn`: `dyn Command`
[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]   |                    ^^^^^^^ help: use `dyn`: `dyn Command`
[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]    |                                         ^^^^^^^ help: use `dyn`: `dyn Command`
[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]    |                                    ^^^^^^^ help: use `dyn`: `dyn Command`
[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]    |                                 ^^^^^^^ help: use `dyn`: `dyn Command`
[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]   |                                         ^^^^^^^ help: use `dyn`: `dyn Command`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[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]   |                                    ^^^^^^^ help: use `dyn`: `dyn Command`
[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]   |                    ^^^^^^^ help: use `dyn`: `dyn Command`
[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]    |                                         ^^^^^^^ help: use `dyn`: `dyn Command`
[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]    |                                    ^^^^^^^ help: use `dyn`: `dyn Command`
[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]    |                                 ^^^^^^^ help: use `dyn`: `dyn Command`
[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]   |                     ^^^^^^ help: use `dyn`: `dyn Object`
[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]   |                   ^^^^^^ help: use `dyn`: `dyn Object`
[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]    |                                                     ^^^^^^ help: use `dyn`: `dyn Object`
[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]    |                                ^^^^^^ help: use `dyn`: `dyn Object`
[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]   = note: `#[warn(unused_imports)]` on by default
[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: 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]   |                          ^^^^^^ help: use `dyn`: `dyn Object`
[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]    |                                                      ^^^^^^ help: use `dyn`: `dyn Object`
[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]    |                                                       ^^^^^^ help: use `dyn`: `dyn Object`
[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]    |                                                       ^^^^^^ help: use `dyn`: `dyn Object`
[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]    |                                      ^^^^^^ help: use `dyn`: `dyn Object`
[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: 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]    |                                      ^^^^^^^ help: use `dyn`: `dyn Command`
[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]    |                                      ^^^^^^^ help: use `dyn`: `dyn Command`
[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]    |                                             ^^^^^^^ help: use `dyn`: `dyn Command`
[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]   |                                     ^^^^^^ help: use `dyn`: `dyn Object`
[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]    |                                                                                       ^^^^^^^^^^^ help: use `dyn`: `dyn Object + 'a`
[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]    |                                                    ^^^^^^ help: use `dyn`: `dyn Object`
[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/transfer_command.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 |     from: Arc<Mutex<Object>>,
[INFO] [stdout]   |                     ^^^^^^ help: use `dyn`: `dyn Object`
[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]   |                   ^^^^^^ help: use `dyn`: `dyn Object`
[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]    |                                                     ^^^^^^ help: use `dyn`: `dyn Object`
[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]    |                                ^^^^^^ help: use `dyn`: `dyn Object`
[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]   = note: `#[warn(unused_imports)]` on by default
[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: 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]   |                          ^^^^^^ help: use `dyn`: `dyn Object`
[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]    |                                                      ^^^^^^ help: use `dyn`: `dyn Object`
[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]    |                                                       ^^^^^^ help: use `dyn`: `dyn Object`
[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]    |                                                       ^^^^^^ help: use `dyn`: `dyn Object`
[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]    |                                      ^^^^^^ help: use `dyn`: `dyn Object`
[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]    |                                                   ^^^^^^ help: use `dyn`: `dyn Object`
[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]    |                                                                                      ^^^^^^ help: use `dyn`: `dyn Object`
[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]    |                                                                                                                         ^^^^^^ help: use `dyn`: `dyn Object`
[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]     |                                                       ^^^^^^ help: use `dyn`: `dyn Object`
[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]     |                                                       ^^^^^^ help: use `dyn`: `dyn Object`
[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: 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]    |                                      ^^^^^^^ help: use `dyn`: `dyn Command`
[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]    |                                      ^^^^^^^ help: use `dyn`: `dyn Command`
[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]    |                                             ^^^^^^^ help: use `dyn`: `dyn Command`
[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]   |                                     ^^^^^^ help: use `dyn`: `dyn Object`
[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]    |                                                                                       ^^^^^^^^^^^ help: use `dyn`: `dyn Object + 'a`
[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]    |                                                    ^^^^^^ help: use `dyn`: `dyn Object`
[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: 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)]` 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: struct is never constructed: `SequentialCommandQueue`
[INFO] [stdout]  --> src/warehouse/command/sequential_queue.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct SequentialCommandQueue {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/warehouse/command/test_command.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/warehouse/command/test_command.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]  --> src/warehouse/command/panic_command.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub fn new() -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/warehouse/command/panic_command.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `BotTransferToCommand`
[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 is never used: `new`
[INFO] [stdout]   --> src/warehouse/command/transfer_command.rs:16:12
[INFO] [stdout]    |
[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 is never constructed: `BotTransferFromCommand`
[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 is never used: `new`
[INFO] [stdout]   --> src/warehouse/command/transfer_command.rs:27:12
[INFO] [stdout]    |
[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 is never constructed: `SitePutCommand`
[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 is never constructed: `SitePickCommand`
[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 is never used: `new`
[INFO] [stdout]   --> src/warehouse/command/pick_command.rs:20:12
[INFO] [stdout]    |
[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 is never used: `new`
[INFO] [stdout]   --> src/warehouse/command/pick_command.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn new(site: Arc<Mutex<Site>>, item: ItemSet) -> Box<PickCommand> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `left`
[INFO] [stdout]   --> src/warehouse/object/location.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn left(&self) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `right`
[INFO] [stdout]   --> src/warehouse/object/location.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn right(&self) -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `front`
[INFO] [stdout]   --> src/warehouse/object/location.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn front(&self) -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `back`
[INFO] [stdout]   --> src/warehouse/object/location.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn back(&self) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `down`
[INFO] [stdout]   --> src/warehouse/object/location.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn down(&self) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]   --> src/warehouse/object/test_object.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub fn new() -> Arc<Mutex<Self>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_items`
[INFO] [stdout]   --> src/warehouse/world.rs:26:12
[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: associated function is never used: `items`
[INFO] [stdout]   --> src/warehouse/storage.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn items(&self) -> &Vec<(Item, u32)> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `shelves`
[INFO] [stdout]   --> src/worlddata/one_runner.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     shelves: Vec<Arc<Mutex<Shelf>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `sites`
[INFO] [stdout]   --> src/worlddata/one_runner.rs:44:5
[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)]` 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: 55 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `target_loc` is never read
[INFO] [stdout]   --> src/warehouse/command/move_command.rs:91:13
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let mut target_loc = Location::new(0, 0, 0);
[INFO] [stdout]    |             ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` on by default
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `target_loc` is never read
[INFO] [stdout]    --> src/warehouse/command/move_command.rs:108:13
[INFO] [stdout]     |
[INFO] [stdout] 108 |         let mut target_loc = Location::new(0, 0, 0);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being 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]     |              ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being 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]     |                                ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/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)]` 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: struct is never constructed: `SequentialCommandQueue`
[INFO] [stdout]  --> src/warehouse/command/sequential_queue.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct SequentialCommandQueue {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `BotTransferFromCommand`
[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 is never used: `new`
[INFO] [stdout]   --> src/warehouse/command/transfer_command.rs:27:12
[INFO] [stdout]    |
[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: associated function is never used: `left`
[INFO] [stdout]   --> src/warehouse/object/location.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn left(&self) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `right`
[INFO] [stdout]   --> src/warehouse/object/location.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn right(&self) -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `back`
[INFO] [stdout]   --> src/warehouse/object/location.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn back(&self) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `down`
[INFO] [stdout]   --> src/warehouse/object/location.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 |     pub fn down(&self) -> Self {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `get_items`
[INFO] [stdout]   --> src/warehouse/world.rs:26:12
[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: associated function is never used: `items`
[INFO] [stdout]   --> src/warehouse/storage.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn items(&self) -> &Vec<(Item, u32)> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `shelves`
[INFO] [stdout]   --> src/worlddata/one_runner.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     shelves: Vec<Arc<Mutex<Shelf>>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `sites`
[INFO] [stdout]   --> src/worlddata/one_runner.rs:44:5
[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)]` 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: 54 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 3.35s
[INFO] running `Command { std: "docker" "inspect" "673eebe4e5602da6158ea108bba0c89f6c12d495abd7da2b5b5703d790d62af5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "673eebe4e5602da6158ea108bba0c89f6c12d495abd7da2b5b5703d790d62af5", kill_on_drop: false }`
[INFO] [stdout] 673eebe4e5602da6158ea108bba0c89f6c12d495abd7da2b5b5703d790d62af5
