[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] testing SkyZH/warehouse.rs against beta-2022-04-10 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSkyZH%2Fwarehouse.rs" "/workspace/builds/worker-8/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-8/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/SkyZH/warehouse.rs on toolchain beta-2022-04-10 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", 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-8/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-2022-04-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 9737fe9a029fa12799b6fdd70cbd32be960ad259e64efdde2875c4da55e45eb7 [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" "9737fe9a029fa12799b6fdd70cbd32be960ad259e64efdde2875c4da55e45eb7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9737fe9a029fa12799b6fdd70cbd32be960ad259e64efdde2875c4da55e45eb7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9737fe9a029fa12799b6fdd70cbd32be960ad259e64efdde2875c4da55e45eb7", kill_on_drop: false }` [INFO] [stdout] 9737fe9a029fa12799b6fdd70cbd32be960ad259e64efdde2875c4da55e45eb7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "build" "--frozen" "--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] 78020b4ed45fd87f273e9350174a61abb75fa6ccff3fd3a8fe9e06e3c1aed569 [INFO] running `Command { std: "docker" "start" "-a" "78020b4ed45fd87f273e9350174a61abb75fa6ccff3fd3a8fe9e06e3c1aed569", kill_on_drop: false }` [INFO] [stderr] Compiling uuid v0.6.5 [INFO] [stderr] Compiling warehouse v0.1.0 (/opt/rustwide/workdir) [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: 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> [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 4 - queue: Vec> [INFO] [stdout] 4 + queue: Vec> [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>, [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 7 - from: Arc>, [INFO] [stdout] 7 + from: Arc>, [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> [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 8 - to: Arc> [INFO] [stdout] 8 + to: Arc> [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>>, [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 6 - items: Vec>>, [INFO] [stdout] 6 + items: Vec>>, [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>>) { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 17 - pub fn add_items(&mut self, items: Vec>>) { [INFO] [stdout] 17 + pub fn add_items(&mut self, items: Vec>>) { [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>> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 26 - pub fn get_items(&mut self) -> &mut Vec>> { [INFO] [stdout] 26 + pub fn get_items(&mut self) -> &mut Vec>> { [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>, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 35 - pub fn notify_will_move(&mut self, obj: Arc>, to_location: Location) -> Result<(), &'static str> { [INFO] [stdout] 35 + pub fn notify_will_move(&mut self, obj: Arc>, 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/worlddata/one_runner.rs:11:38 [INFO] [stdout] | [INFO] [stdout] 11 | fn scheduler(&self) -> Arc>; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 11 - fn scheduler(&self) -> Arc>; [INFO] [stdout] 11 + fn scheduler(&self) -> Arc>; [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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 62 - fn scheduler(&self) -> Arc> { [INFO] [stdout] 62 + fn scheduler(&self) -> Arc> { [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>, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 4 - pub fn move_location(obj: Arc>, location: Location) { [INFO] [stdout] 4 + pub fn move_location(obj: Arc>, 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>>) -> Vec>>{ [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 10 - pub fn map_as_object <'a, T: 'a + Object> (vec: &Vec>>) -> Vec>>{ [INFO] [stdout] 10 + pub fn map_as_object <'a, T: 'a + Object> (vec: &Vec>>) -> Vec>>{ [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) -> 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 4 - fn schedule(&mut self, command: Box) -> Result<(), &'static str>; [INFO] [stdout] 4 + fn schedule(&mut self, command: Box) -> 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:5:36 [INFO] [stdout] | [INFO] [stdout] 5 | fn commands(&self) -> &Vec>; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 5 - fn commands(&self) -> &Vec>; [INFO] [stdout] 5 + fn commands(&self) -> &Vec>; [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) -> 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 - fn schedule(&mut self, command: Box) -> Result<(), &'static str> { [INFO] [stdout] 16 + fn schedule(&mut self, command: Box) -> 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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 26 - fn commands(&self) -> &Vec> { [INFO] [stdout] 26 + fn commands(&self) -> &Vec> { [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>, to: Arc>) -> Box { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 - pub fn new(from: Arc>, to: Arc>) -> Box { [INFO] [stdout] 16 + pub fn new(from: Arc>, to: Arc>) -> Box { [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>, to: Arc>) -> Box { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 27 - pub fn new(from: Arc>, to: Arc>) -> Box { [INFO] [stdout] 27 + pub fn new(from: Arc>, to: Arc>) -> Box { [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| 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 54 - .map(|command: &Box| match command.render() { [INFO] [stdout] 54 + .map(|command: &Box| match command.render() { [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>| 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 54 - .map(|object: &Arc>| match object.lock().unwrap().render() { [INFO] [stdout] 54 + .map(|object: &Arc>| 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:63:45 [INFO] [stdout] | [INFO] [stdout] 63 | self.scheduler.clone() as Arc> [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 63 - self.scheduler.clone() as Arc> [INFO] [stdout] 63 + self.scheduler.clone() as Arc> [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>).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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 11 - vec.iter().cloned().map(|obj| obj as Arc>).collect() [INFO] [stdout] 11 + vec.iter().cloned().map(|obj| obj as Arc>).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)]` 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: 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>> { [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: `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>>, [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>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [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] [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>, to: Arc>) -> Box { [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>, to: Arc>) -> Box { [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>, item: ItemSet) -> Box { [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>, item: ItemSet) -> Box { [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> { [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] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 3.77s [INFO] running `Command { std: "docker" "inspect" "78020b4ed45fd87f273e9350174a61abb75fa6ccff3fd3a8fe9e06e3c1aed569", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "78020b4ed45fd87f273e9350174a61abb75fa6ccff3fd3a8fe9e06e3c1aed569", kill_on_drop: false }` [INFO] [stdout] 78020b4ed45fd87f273e9350174a61abb75fa6ccff3fd3a8fe9e06e3c1aed569 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen" "--no-run" "--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] e8317adbb90444ba5ec6173d59d213e689635942a15ecf74f151c7eb9beb1210 [INFO] running `Command { std: "docker" "start" "-a" "e8317adbb90444ba5ec6173d59d213e689635942a15ecf74f151c7eb9beb1210", kill_on_drop: false }` [INFO] [stderr] Compiling warehouse v0.1.0 (/opt/rustwide/workdir) [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: 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> [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 4 - queue: Vec> [INFO] [stdout] 4 + queue: Vec> [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>, [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 7 - from: Arc>, [INFO] [stdout] 7 + from: Arc>, [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> [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 8 - to: Arc> [INFO] [stdout] 8 + to: Arc> [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>>, [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 6 - items: Vec>>, [INFO] [stdout] 6 + items: Vec>>, [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>>) { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 17 - pub fn add_items(&mut self, items: Vec>>) { [INFO] [stdout] 17 + pub fn add_items(&mut self, items: Vec>>) { [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>> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 26 - pub fn get_items(&mut self) -> &mut Vec>> { [INFO] [stdout] 26 + pub fn get_items(&mut self) -> &mut Vec>> { [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>, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 35 - pub fn notify_will_move(&mut self, obj: Arc>, to_location: Location) -> Result<(), &'static str> { [INFO] [stdout] 35 + pub fn notify_will_move(&mut self, obj: Arc>, 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/worlddata/one_runner.rs:11:38 [INFO] [stdout] | [INFO] [stdout] 11 | fn scheduler(&self) -> Arc>; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 11 - fn scheduler(&self) -> Arc>; [INFO] [stdout] 11 + fn scheduler(&self) -> Arc>; [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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 62 - fn scheduler(&self) -> Arc> { [INFO] [stdout] 62 + fn scheduler(&self) -> Arc> { [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>, 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 4 - pub fn move_location(obj: Arc>, location: Location) { [INFO] [stdout] 4 + pub fn move_location(obj: Arc>, 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>>) -> Vec>>{ [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 10 - pub fn map_as_object <'a, T: 'a + Object> (vec: &Vec>>) -> Vec>>{ [INFO] [stdout] 10 + pub fn map_as_object <'a, T: 'a + Object> (vec: &Vec>>) -> Vec>>{ [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) -> 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 4 - fn schedule(&mut self, command: Box) -> Result<(), &'static str>; [INFO] [stdout] 4 + fn schedule(&mut self, command: Box) -> 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:5:36 [INFO] [stdout] | [INFO] [stdout] 5 | fn commands(&self) -> &Vec>; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 5 - fn commands(&self) -> &Vec>; [INFO] [stdout] 5 + fn commands(&self) -> &Vec>; [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) -> 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 - fn schedule(&mut self, command: Box) -> Result<(), &'static str> { [INFO] [stdout] 16 + fn schedule(&mut self, command: Box) -> 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> { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 26 - fn commands(&self) -> &Vec> { [INFO] [stdout] 26 + fn commands(&self) -> &Vec> { [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>, to: Arc>) -> Box { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 16 - pub fn new(from: Arc>, to: Arc>) -> Box { [INFO] [stdout] 16 + pub fn new(from: Arc>, to: Arc>) -> Box { [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>, to: Arc>) -> Box { [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 27 - pub fn new(from: Arc>, to: Arc>) -> Box { [INFO] [stdout] 27 + pub fn new(from: Arc>, to: Arc>) -> Box { [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| 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 54 - .map(|command: &Box| match command.render() { [INFO] [stdout] 54 + .map(|command: &Box| match command.render() { [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>| 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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 54 - .map(|object: &Arc>| match object.lock().unwrap().render() { [INFO] [stdout] 54 + .map(|object: &Arc>| 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:63:45 [INFO] [stdout] | [INFO] [stdout] 63 | self.scheduler.clone() as Arc> [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 63 - self.scheduler.clone() as Arc> [INFO] [stdout] 63 + self.scheduler.clone() as Arc> [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>).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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 11 - vec.iter().cloned().map(|obj| obj as Arc>).collect() [INFO] [stdout] 11 + vec.iter().cloned().map(|obj| obj as Arc>).collect() [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>, bot.clone() as Arc>, bot.clone() as Arc>]; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 89 - let items = vec![bot.clone() as Arc>, bot.clone() as Arc>, bot.clone() as Arc>]; [INFO] [stdout] 89 + let items = vec![bot.clone() as Arc>, bot.clone() as Arc>, bot.clone() as Arc>]; [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>, bot.clone() as Arc>, bot.clone() as Arc>]; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 89 - let items = vec![bot.clone() as Arc>, bot.clone() as Arc>, bot.clone() as Arc>]; [INFO] [stdout] 89 + let items = vec![bot.clone() as Arc>, bot.clone() as Arc>, bot.clone() as Arc>]; [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>, bot.clone() as Arc>, bot.clone() as Arc>]; [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 89 - let items = vec![bot.clone() as Arc>, bot.clone() as Arc>, bot.clone() as Arc>]; [INFO] [stdout] 89 + let items = vec![bot.clone() as Arc>, bot.clone() as Arc>, bot.clone() as Arc>]; [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>]); [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 104 - world.add_items(vec![bot.clone() as Arc>]); [INFO] [stdout] 104 + world.add_items(vec![bot.clone() as Arc>]); [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>]); [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 [INFO] [stdout] help: use `dyn` [INFO] [stdout] | [INFO] [stdout] 112 - world.add_items(vec![bot.clone() as Arc>]); [INFO] [stdout] 112 + world.add_items(vec![bot.clone() as Arc>]); [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:17 [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:17 [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:18 [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:36 [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/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: 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] [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: 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>> { [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: `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>>, [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>>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [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] [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>, to: Arc>) -> Box { [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: 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 test [unoptimized + debuginfo] target(s) in 2.59s [INFO] [stderr] Executable unittests src/main.rs (/opt/rustwide/target/debug/deps/warehouse-a7b15b28da063ede) [INFO] running `Command { std: "docker" "inspect" "e8317adbb90444ba5ec6173d59d213e689635942a15ecf74f151c7eb9beb1210", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e8317adbb90444ba5ec6173d59d213e689635942a15ecf74f151c7eb9beb1210", kill_on_drop: false }` [INFO] [stdout] e8317adbb90444ba5ec6173d59d213e689635942a15ecf74f151c7eb9beb1210 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen", 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] 45065c22a3f0e130c274b4b24a1b97ba9e6cb01a0bdf706e0db8dc37c665c00f [INFO] running `Command { std: "docker" "start" "-a" "45065c22a3f0e130c274b4b24a1b97ba9e6cb01a0bdf706e0db8dc37c665c00f", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `warehouse::command::Command` [INFO] [stderr] --> src/warehouse/object/bot.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use warehouse::command::Command; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `warehouse::command::Command` [INFO] [stderr] --> src/warehouse/object/shelf.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use warehouse::command::Command; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Location` [INFO] [stderr] --> src/worlddata/one_runner.rs:2:44 [INFO] [stderr] | [INFO] [stderr] 2 | use warehouse::object::{ Bot, Shelf, Site, Location, Object }; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::io::prelude::*` [INFO] [stderr] --> src/main.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use std::io::prelude::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/warehouse/command/parallel_queue.rs:4:20 [INFO] [stderr] | [INFO] [stderr] 4 | queue: Vec> [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 4 - queue: Vec> [INFO] [stderr] 4 + queue: Vec> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/warehouse/command/transfer_command.rs:7:21 [INFO] [stderr] | [INFO] [stderr] 7 | from: Arc>, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 7 - from: Arc>, [INFO] [stderr] 7 + from: Arc>, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/warehouse/command/transfer_command.rs:8:19 [INFO] [stderr] | [INFO] [stderr] 8 | to: Arc> [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 8 - to: Arc> [INFO] [stderr] 8 + to: Arc> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/warehouse/world.rs:6:26 [INFO] [stderr] | [INFO] [stderr] 6 | items: Vec>>, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 6 - items: Vec>>, [INFO] [stderr] 6 + items: Vec>>, [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/warehouse/world.rs:17:54 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn add_items(&mut self, items: Vec>>) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 17 - pub fn add_items(&mut self, items: Vec>>) { [INFO] [stderr] 17 + pub fn add_items(&mut self, items: Vec>>) { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/warehouse/world.rs:26:55 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn get_items(&mut self) -> &mut Vec>> { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 26 - pub fn get_items(&mut self) -> &mut Vec>> { [INFO] [stderr] 26 + pub fn get_items(&mut self) -> &mut Vec>> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/warehouse/world.rs:35:55 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn notify_will_move(&mut self, obj: Arc>, to_location: Location) -> Result<(), &'static str> { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 35 - pub fn notify_will_move(&mut self, obj: Arc>, to_location: Location) -> Result<(), &'static str> { [INFO] [stderr] 35 + pub fn notify_will_move(&mut self, obj: Arc>, to_location: Location) -> Result<(), &'static str> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/worlddata/one_runner.rs:11:38 [INFO] [stderr] | [INFO] [stderr] 11 | fn scheduler(&self) -> Arc>; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 11 - fn scheduler(&self) -> Arc>; [INFO] [stderr] 11 + fn scheduler(&self) -> Arc>; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/worlddata/one_runner.rs:62:38 [INFO] [stderr] | [INFO] [stderr] 62 | fn scheduler(&self) -> Arc> { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 62 - fn scheduler(&self) -> Arc> { [INFO] [stderr] 62 + fn scheduler(&self) -> Arc> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/worlddata/util.rs:4:37 [INFO] [stderr] | [INFO] [stderr] 4 | pub fn move_location(obj: Arc>, location: Location) { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 4 - pub fn move_location(obj: Arc>, location: Location) { [INFO] [stderr] 4 + pub fn move_location(obj: Arc>, location: Location) { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/worlddata/util.rs:10:87 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn map_as_object <'a, T: 'a + Object> (vec: &Vec>>) -> Vec>>{ [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 10 - pub fn map_as_object <'a, T: 'a + Object> (vec: &Vec>>) -> Vec>>{ [INFO] [stderr] 10 + pub fn map_as_object <'a, T: 'a + Object> (vec: &Vec>>) -> Vec>>{ [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/warehouse/command/command_queue.rs:4:41 [INFO] [stderr] | [INFO] [stderr] 4 | fn schedule(&mut self, command: Box) -> Result<(), &'static str>; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 4 - fn schedule(&mut self, command: Box) -> Result<(), &'static str>; [INFO] [stderr] 4 + fn schedule(&mut self, command: Box) -> Result<(), &'static str>; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/warehouse/command/command_queue.rs:5:36 [INFO] [stderr] | [INFO] [stderr] 5 | fn commands(&self) -> &Vec>; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 5 - fn commands(&self) -> &Vec>; [INFO] [stderr] 5 + fn commands(&self) -> &Vec>; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/warehouse/command/parallel_queue.rs:16:41 [INFO] [stderr] | [INFO] [stderr] 16 | fn schedule(&mut self, command: Box) -> Result<(), &'static str> { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 16 - fn schedule(&mut self, command: Box) -> Result<(), &'static str> { [INFO] [stderr] 16 + fn schedule(&mut self, command: Box) -> Result<(), &'static str> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/warehouse/command/parallel_queue.rs:26:36 [INFO] [stderr] | [INFO] [stderr] 26 | fn commands(&self) -> &Vec> { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 26 - fn commands(&self) -> &Vec> { [INFO] [stderr] 26 + fn commands(&self) -> &Vec> { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/warehouse/command/transfer_command.rs:16:53 [INFO] [stderr] | [INFO] [stderr] 16 | pub fn new(from: Arc>, to: Arc>) -> Box { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 16 - pub fn new(from: Arc>, to: Arc>) -> Box { [INFO] [stderr] 16 + pub fn new(from: Arc>, to: Arc>) -> Box { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/warehouse/command/transfer_command.rs:27:32 [INFO] [stderr] | [INFO] [stderr] 27 | pub fn new(from: Arc>, to: Arc>) -> Box { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 27 - pub fn new(from: Arc>, to: Arc>) -> Box { [INFO] [stderr] 27 + pub fn new(from: Arc>, to: Arc>) -> Box { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/warehouse/command/parallel_queue.rs:54:33 [INFO] [stderr] | [INFO] [stderr] 54 | .map(|command: &Box| match command.render() { [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 54 - .map(|command: &Box| match command.render() { [INFO] [stderr] 54 + .map(|command: &Box| match command.render() { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/warehouse/world.rs:54:38 [INFO] [stderr] | [INFO] [stderr] 54 | .map(|object: &Arc>| match object.lock().unwrap().render() { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 54 - .map(|object: &Arc>| match object.lock().unwrap().render() { [INFO] [stderr] 54 + .map(|object: &Arc>| match object.lock().unwrap().render() { [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/worlddata/one_runner.rs:63:45 [INFO] [stderr] | [INFO] [stderr] 63 | self.scheduler.clone() as Arc> [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 63 - self.scheduler.clone() as Arc> [INFO] [stderr] 63 + self.scheduler.clone() as Arc> [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/worlddata/util.rs:11:52 [INFO] [stderr] | [INFO] [stderr] 11 | vec.iter().cloned().map(|obj| obj as Arc>).collect() [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 11 - vec.iter().cloned().map(|obj| obj as Arc>).collect() [INFO] [stderr] 11 + vec.iter().cloned().map(|obj| obj as Arc>).collect() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/warehouse/world.rs:89:51 [INFO] [stderr] | [INFO] [stderr] 89 | let items = vec![bot.clone() as Arc>, bot.clone() as Arc>, bot.clone() as Arc>]; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 89 - let items = vec![bot.clone() as Arc>, bot.clone() as Arc>, bot.clone() as Arc>]; [INFO] [stderr] 89 + let items = vec![bot.clone() as Arc>, bot.clone() as Arc>, bot.clone() as Arc>]; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/warehouse/world.rs:89:86 [INFO] [stderr] | [INFO] [stderr] 89 | let items = vec![bot.clone() as Arc>, bot.clone() as Arc>, bot.clone() as Arc>]; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 89 - let items = vec![bot.clone() as Arc>, bot.clone() as Arc>, bot.clone() as Arc>]; [INFO] [stderr] 89 + let items = vec![bot.clone() as Arc>, bot.clone() as Arc>, bot.clone() as Arc>]; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/warehouse/world.rs:89:121 [INFO] [stderr] | [INFO] [stderr] 89 | let items = vec![bot.clone() as Arc>, bot.clone() as Arc>, bot.clone() as Arc>]; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 89 - let items = vec![bot.clone() as Arc>, bot.clone() as Arc>, bot.clone() as Arc>]; [INFO] [stderr] 89 + let items = vec![bot.clone() as Arc>, bot.clone() as Arc>, bot.clone() as Arc>]; [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/warehouse/world.rs:104:55 [INFO] [stderr] | [INFO] [stderr] 104 | world.add_items(vec![bot.clone() as Arc>]); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 104 - world.add_items(vec![bot.clone() as Arc>]); [INFO] [stderr] 104 + world.add_items(vec![bot.clone() as Arc>]); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/warehouse/world.rs:112:55 [INFO] [stderr] | [INFO] [stderr] 112 | world.add_items(vec![bot.clone() as Arc>]); [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021! [INFO] [stderr] = note: for more information, see [INFO] [stderr] help: use `dyn` [INFO] [stderr] | [INFO] [stderr] 112 - world.add_items(vec![bot.clone() as Arc>]); [INFO] [stderr] 112 + world.add_items(vec![bot.clone() as Arc>]); [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: value assigned to `target_loc` is never read [INFO] [stderr] --> src/warehouse/command/move_command.rs:91:17 [INFO] [stderr] | [INFO] [stderr] 91 | let mut target_loc = Location::new(0, 0, 0); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `target_loc` is never read [INFO] [stderr] --> src/warehouse/command/move_command.rs:108:17 [INFO] [stderr] | [INFO] [stderr] 108 | let mut target_loc = Location::new(0, 0, 0); [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `target_loc_1` is never read [INFO] [stderr] --> src/warehouse/command/move_command.rs:127:18 [INFO] [stderr] | [INFO] [stderr] 127 | let (mut target_loc_1, mut target_loc_2) = (Location::new(0, 0, 0), Location::new(0, 0, 0)); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `target_loc_2` is never read [INFO] [stderr] --> src/warehouse/command/move_command.rs:127:36 [INFO] [stderr] | [INFO] [stderr] 127 | let (mut target_loc_1, mut target_loc_2) = (Location::new(0, 0, 0), Location::new(0, 0, 0)); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/worlddata/one_bot.rs:19:25 [INFO] [stderr] | [INFO] [stderr] 19 | let mut shelf = Shelf::new(); [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/worlddata/one_bot.rs:25:13 [INFO] [stderr] | [INFO] [stderr] 25 | let mut site = Site::new(); [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/warehouse/world.rs:77:13 [INFO] [stderr] | [INFO] [stderr] 77 | let mut world = World::new(); [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/warehouse/world.rs:83:13 [INFO] [stderr] | [INFO] [stderr] 83 | let mut bot = Bot::new(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `get_items` [INFO] [stderr] --> src/warehouse/world.rs:26:12 [INFO] [stderr] | [INFO] [stderr] 26 | pub fn get_items(&mut self) -> &mut Vec>> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `items` [INFO] [stderr] --> src/warehouse/storage.rs:20:12 [INFO] [stderr] | [INFO] [stderr] 20 | pub fn items(&self) -> &Vec<(Item, u32)> { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `shelves` [INFO] [stderr] --> src/worlddata/one_runner.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | shelves: Vec>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `sites` [INFO] [stderr] --> src/worlddata/one_runner.rs:44:5 [INFO] [stderr] | [INFO] [stderr] 44 | sites: Vec>>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `SequentialCommandQueue` [INFO] [stderr] --> src/warehouse/command/sequential_queue.rs:1:12 [INFO] [stderr] | [INFO] [stderr] 1 | pub struct SequentialCommandQueue { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `BotTransferFromCommand` [INFO] [stderr] --> src/warehouse/command/transfer_command.rs:23:12 [INFO] [stderr] | [INFO] [stderr] 23 | pub struct BotTransferFromCommand { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `new` [INFO] [stderr] --> src/warehouse/command/transfer_command.rs:27:12 [INFO] [stderr] | [INFO] [stderr] 27 | pub fn new(from: Arc>, to: Arc>) -> Box { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `left` [INFO] [stderr] --> src/warehouse/object/location.rs:17:12 [INFO] [stderr] | [INFO] [stderr] 17 | pub fn left(&self) -> Self { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `right` [INFO] [stderr] --> src/warehouse/object/location.rs:22:12 [INFO] [stderr] | [INFO] [stderr] 22 | pub fn right(&self) -> Self { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `back` [INFO] [stderr] --> src/warehouse/object/location.rs:32:12 [INFO] [stderr] | [INFO] [stderr] 32 | pub fn back(&self) -> Self { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: associated function is never used: `down` [INFO] [stderr] --> src/warehouse/object/location.rs:42:12 [INFO] [stderr] | [INFO] [stderr] 42 | pub fn down(&self) -> Self { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `SHELF_COUNT` should have a snake case name [INFO] [stderr] --> src/worlddata/one_bot.rs:10:10 [INFO] [stderr] | [INFO] [stderr] 10 | let (SHELF_COUNT, SHELF_WIDTH, SHELF_HEIGHT) = (6, 10, 5); [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `shelf_count` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `SHELF_WIDTH` should have a snake case name [INFO] [stderr] --> src/worlddata/one_bot.rs:10:23 [INFO] [stderr] | [INFO] [stderr] 10 | let (SHELF_COUNT, SHELF_WIDTH, SHELF_HEIGHT) = (6, 10, 5); [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `shelf_width` [INFO] [stderr] [INFO] [stderr] warning: variable `SHELF_HEIGHT` should have a snake case name [INFO] [stderr] --> src/worlddata/one_bot.rs:10:36 [INFO] [stderr] | [INFO] [stderr] 10 | let (SHELF_COUNT, SHELF_WIDTH, SHELF_HEIGHT) = (6, 10, 5); [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `shelf_height` [INFO] [stderr] [INFO] [stderr] warning: variable `MARGIN_L` should have a snake case name [INFO] [stderr] --> src/worlddata/one_bot.rs:11:10 [INFO] [stderr] | [INFO] [stderr] 11 | let (MARGIN_L, MARGIN_T) = (1, 1); [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `margin_l` [INFO] [stderr] [INFO] [stderr] warning: variable `MARGIN_T` should have a snake case name [INFO] [stderr] --> src/worlddata/one_bot.rs:11:20 [INFO] [stderr] | [INFO] [stderr] 11 | let (MARGIN_L, MARGIN_T) = (1, 1); [INFO] [stderr] | ^^^^^^^^ help: convert the identifier to snake case: `margin_t` [INFO] [stderr] [INFO] [stderr] warning: `warehouse` (bin "warehouse" test) generated 54 warnings [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.05s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/warehouse-a7b15b28da063ede) [INFO] [stdout] [INFO] [stdout] running 60 tests [INFO] [stdout] test warehouse::command::move_command::tests::test_consume ... ok [INFO] [stdout] test warehouse::command::parallel_queue::tests::test_consume_command ... ok [INFO] [stdout] test warehouse::command::parallel_queue::tests::test_schedule_command ... ok [INFO] [stdout] test warehouse::command::parallel_queue::tests::test_consume_parallel_command ... ok [INFO] [stdout] test warehouse::command::parallel_queue::tests::test_retain_next ... ok [INFO] [stdout] test warehouse::command::move_command::tests::test_initialize_lock ... ok [INFO] [stdout] test warehouse::command::parallel_queue::tests::test_schedule_command_initialize ... ok [INFO] [stdout] test warehouse::command::parallel_queue::tests::test_new ... ok [INFO] [stdout] test warehouse::command::pick_command::tests::test_pick_initialize_lock ... ok [INFO] [stdout] test warehouse::command::pick_command::tests::test_pick_consume ... ok [INFO] [stdout] test warehouse::command::parallel_queue::tests::test_remove_consumed ... ok [INFO] [stdout] test warehouse::command::parallel_queue::tests::test_render ... ok [INFO] [stdout] test warehouse::command::pick_command::tests::test_put_render ... ok [INFO] [stdout] test warehouse::command::pick_command::tests::test_put_consume ... ok [INFO] [stdout] test warehouse::command::test_command::tests::test_consume ... ok [INFO] [stdout] test warehouse::command::pick_command::tests::test_pick_render ... ok [INFO] [stdout] test warehouse::command::pick_command::tests::test_put_initialize_lock ... ok [INFO] [stdout] test warehouse::command::panic_command::tests::test_consume - should panic ... ok [INFO] [stdout] test warehouse::command::panic_command::tests::test_consume_consume - should panic ... ok [INFO] [stdout] test warehouse::command::move_command::tests::test_initialize - should panic ... ok [INFO] [stdout] test warehouse::command::transfer_command::tests::test_storage ... ok [INFO] [stdout] test warehouse::command::transfer_command::tests::test_unlock ... ok [INFO] [stdout] test warehouse::command::transfer_command::tests::test_storage_full - should panic ... ok [INFO] [stdout] test warehouse::command::test_command::tests::test_initialize ... ok [INFO] [stdout] test warehouse::command::test_command::tests::test_next_consume ... ok [INFO] [stdout] test warehouse::command::move_command::tests::test_consume_collision_1 - should panic ... ok [INFO] [stdout] test warehouse::command::transfer_command::tests::test_lock ... ok [INFO] [stdout] test warehouse::command::transfer_command::tests::test_render ... ok [INFO] [stdout] test warehouse::object::bot::tests::test_id ... ok [INFO] [stdout] test warehouse::command::move_command::tests::test_consume_collision_2 - should panic ... ok [INFO] [stdout] test warehouse::object::site::tests::test_id ... ok [INFO] [stdout] test warehouse::object::site::tests::test_render ... ok [INFO] [stdout] test warehouse::object::test_object::tests::test_lock - should panic ... ok [INFO] [stdout] test warehouse::object::test_object::tests::test_unlock - should panic ... ok [INFO] [stdout] test warehouse::storage::tests::test_have ... ok [INFO] [stdout] test warehouse::storage::tests::test_push_multiple ... ok [INFO] [stdout] test warehouse::storage::tests::test_render ... ok [INFO] [stdout] test warehouse::storage::tests::test_render_multiple ... ok [INFO] [stdout] test warehouse::storage::tests::test_take_empty ... ok [INFO] [stdout] test warehouse::storage::tests::test_take_multiple - should panic ... ok [INFO] [stdout] test warehouse::world::tests::test_location_available ... ok [INFO] [stdout] test warehouse::world::tests::test_multiple_location ... ok [INFO] [stdout] test warehouse::world::tests::test_notify_move ... ok [INFO] [stdout] test warehouse::world::tests::test_notify_move_panic - should panic ... ok [INFO] [stdout] test warehouse::world::tests::test_render ... ok [INFO] [stdout] test warehouse::object::test_object::tests::test_render ... ok [INFO] [stdout] test warehouse::object::test_object::tests::test_storage ... ok [INFO] [stdout] test warehouse::object::shelf::tests::test_id ... ok [INFO] [stdout] test warehouse::command::panic_command::tests::test_initialize - should panic ... ok [INFO] [stdout] test warehouse::object::test_object::tests::test_id ... ok [INFO] [stdout] test warehouse::object::location::tests::test_render ... ok [INFO] [stdout] test warehouse::object::test_object::tests::test_lock_and_unlock ... ok [INFO] [stdout] test warehouse::object::test_object::tests::test_location ... ok [INFO] [stdout] test warehouse::command::move_command::tests::test_consume_collision_3 - should panic ... ok [INFO] [stdout] test warehouse::command::parallel_queue::tests::test_schedule_panic - should panic ... ok [INFO] [stdout] test warehouse::command::parallel_queue::tests::test_consume_panic - should panic ... ok [INFO] [stdout] test warehouse::command::pick_command::tests::test_pick_initialize - should panic ... ok [INFO] [stdout] test warehouse::command::pick_command::tests::test_put_initialize - should panic ... ok [INFO] [stdout] test warehouse::command::transfer_command::tests::test_far_away - should panic ... ok [INFO] [stdout] test warehouse::command::transfer_command::tests::test_race - should panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 60 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "45065c22a3f0e130c274b4b24a1b97ba9e6cb01a0bdf706e0db8dc37c665c00f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "45065c22a3f0e130c274b4b24a1b97ba9e6cb01a0bdf706e0db8dc37c665c00f", kill_on_drop: false }` [INFO] [stdout] 45065c22a3f0e130c274b4b24a1b97ba9e6cb01a0bdf706e0db8dc37c665c00f