[INFO] cloning repository https://github.com/Tekipeps/chip-8 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Tekipeps/chip-8" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTekipeps%2Fchip-8", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTekipeps%2Fchip-8'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] d6cfd076f77f30627848f9267cdaacda21a41827 [INFO] checking Tekipeps/chip-8 against master#db1fb85cff63ad5fffe435e17128f99f9e1d970c for pr-89056 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FTekipeps%2Fchip-8" "/workspace/builds/worker-13/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-13/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Tekipeps/chip-8 on toolchain db1fb85cff63ad5fffe435e17128f99f9e1d970c [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+db1fb85cff63ad5fffe435e17128f99f9e1d970c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Tekipeps/chip-8 [INFO] finished tweaking git repo https://github.com/Tekipeps/chip-8 [INFO] tweaked toml for git repo https://github.com/Tekipeps/chip-8 written to /workspace/builds/worker-13/source/Cargo.toml [INFO] crate git repo https://github.com/Tekipeps/chip-8 already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+db1fb85cff63ad5fffe435e17128f99f9e1d970c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+db1fb85cff63ad5fffe435e17128f99f9e1d970c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 022b62f88f0b0f07c50e511b9e335d06adc6b3064eedc80ea524505e659fdea1 [INFO] running `Command { std: "docker" "start" "-a" "022b62f88f0b0f07c50e511b9e335d06adc6b3064eedc80ea524505e659fdea1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "022b62f88f0b0f07c50e511b9e335d06adc6b3064eedc80ea524505e659fdea1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "022b62f88f0b0f07c50e511b9e335d06adc6b3064eedc80ea524505e659fdea1", kill_on_drop: false }` [INFO] [stdout] 022b62f88f0b0f07c50e511b9e335d06adc6b3064eedc80ea524505e659fdea1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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" "ghcr.io/rust-lang/crates-build-env/linux@sha256:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+db1fb85cff63ad5fffe435e17128f99f9e1d970c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 5a1afa08e4e4d037d7d4804a485978ba84a0cecea2d7837a0041b5c7a1db5461 [INFO] running `Command { std: "docker" "start" "-a" "5a1afa08e4e4d037d7d4804a485978ba84a0cecea2d7837a0041b5c7a1db5461", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling libc v0.2.101 [INFO] [stderr] Compiling version-compare v0.0.10 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling sdl2 v0.34.5 [INFO] [stderr] Checking ppv-lite86 v0.2.10 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Compiling sdl2-sys v0.34.5 [INFO] [stderr] Checking getrandom v0.2.3 [INFO] [stderr] Checking rand_core v0.6.3 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.4 [INFO] [stderr] Checking chip-8 v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::speaker` [INFO] [stdout] --> src/bus.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::speaker; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process` [INFO] [stdout] --> src/keyboard.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::process; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> src/cpu.rs:3:23 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{Result, Read}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/cpu.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/cpu.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | (((self.bus.read_from_ram(self.pc) as u16 ) << 8_u16 ) | (self.bus.read_from_ram(self.pc + 1) as u16)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 45 - (((self.bus.read_from_ram(self.pc) as u16 ) << 8_u16 ) | (self.bus.read_from_ram(self.pc + 1) as u16)) [INFO] [stdout] 45 + ((self.bus.read_from_ram(self.pc) as u16 ) << 8_u16 ) | (self.bus.read_from_ram(self.pc + 1) as u16) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/cpu.rs:81:19 [INFO] [stdout] | [INFO] [stdout] 81 | let nnn = (opcode & 0x0FFF); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 81 - let nnn = (opcode & 0x0FFF); [INFO] [stdout] 81 + let nnn = opcode & 0x0FFF; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sdl2::keyboard::Keycode` [INFO] [stdout] --> src/lib.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use sdl2::keyboard::Keycode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::speaker` [INFO] [stdout] --> src/bus.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use crate::speaker; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process` [INFO] [stdout] --> src/keyboard.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::process; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> src/cpu.rs:3:23 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{Result, Read}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> src/cpu.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around block return value [INFO] [stdout] --> src/cpu.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | (((self.bus.read_from_ram(self.pc) as u16 ) << 8_u16 ) | (self.bus.read_from_ram(self.pc + 1) as u16)) [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 45 - (((self.bus.read_from_ram(self.pc) as u16 ) << 8_u16 ) | (self.bus.read_from_ram(self.pc + 1) as u16)) [INFO] [stdout] 45 + ((self.bus.read_from_ram(self.pc) as u16 ) << 8_u16 ) | (self.bus.read_from_ram(self.pc + 1) as u16) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/cpu.rs:81:19 [INFO] [stdout] | [INFO] [stdout] 81 | let nnn = (opcode & 0x0FFF); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 81 - let nnn = (opcode & 0x0FFF); [INFO] [stdout] 81 + let nnn = opcode & 0x0FFF; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `sdl2::keyboard::Keycode` [INFO] [stdout] --> src/lib.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use sdl2::keyboard::Keycode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event_pump` [INFO] [stdout] --> src/lib.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | let mut event_pump = sdl_context.event_pump().unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_event_pump` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `x_coord` is assigned to, but never used [INFO] [stdout] --> src/renderer.rs:54:17 [INFO] [stdout] | [INFO] [stdout] 54 | let mut x_coord = x as u32; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_x_coord` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `y_coord` is assigned to, but never used [INFO] [stdout] --> src/renderer.rs:55:17 [INFO] [stdout] | [INFO] [stdout] 55 | let mut y_coord = y as u32; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_y_coord` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `event_pump` [INFO] [stdout] --> src/lib.rs:27:13 [INFO] [stdout] | [INFO] [stdout] 27 | let mut event_pump = sdl_context.event_pump().unwrap(); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_event_pump` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `x_coord` is assigned to, but never used [INFO] [stdout] --> src/renderer.rs:54:17 [INFO] [stdout] | [INFO] [stdout] 54 | let mut x_coord = x as u32; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_x_coord` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `y_coord` is assigned to, but never used [INFO] [stdout] --> src/renderer.rs:55:17 [INFO] [stdout] | [INFO] [stdout] 55 | let mut y_coord = y as u32; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_y_coord` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cpu` [INFO] [stdout] --> src/cpu.rs:286:13 [INFO] [stdout] | [INFO] [stdout] 286 | let cpu = Cpu::new(); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cpu` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/keyboard.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | let mut keys = [ [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/keyboard.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | let mut keys = [ [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/lib.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | let mut event_pump = sdl_context.event_pump().unwrap(); [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/lib.rs:27:9 [INFO] [stdout] | [INFO] [stdout] 27 | let mut event_pump = sdl_context.event_pump().unwrap(); [INFO] [stdout] | ----^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `keyboard` [INFO] [stdout] --> src/bus.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | keyboard: Keyboard, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `sound_timer` [INFO] [stdout] --> src/speaker.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | sound_timer: u8, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `keyboard` [INFO] [stdout] --> src/bus.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | keyboard: Keyboard, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field is never read: `sound_timer` [INFO] [stdout] --> src/speaker.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | sound_timer: u8, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | vm.load_program("./games/TEST/IBM.ch8".to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/lib.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 34 | vm.load_program("./games/TEST/IBM.ch8".to_string()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/renderer.rs:38:19 [INFO] [stdout] | [INFO] [stdout] 38 | } else if x < 0 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/renderer.rs:38:19 [INFO] [stdout] | [INFO] [stdout] 38 | } else if x < 0 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/renderer.rs:44:19 [INFO] [stdout] | [INFO] [stdout] 44 | } else if y < 0 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/renderer.rs:44:19 [INFO] [stdout] | [INFO] [stdout] 44 | } else if y < 0 { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused comparison that must be used [INFO] [stdout] --> src/renderer.rs:69:15 [INFO] [stdout] | [INFO] [stdout] 69 | erased == true; [INFO] [stdout] | ^^^^^^^^^^^^^^ the comparison produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 69 | let _ = erased == true; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused comparison that must be used [INFO] [stdout] --> src/renderer.rs:69:15 [INFO] [stdout] | [INFO] [stdout] 69 | erased == true; [INFO] [stdout] | ^^^^^^^^^^^^^^ the comparison produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 69 | let _ = erased == true; [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `T` should have a snake case name [INFO] [stdout] --> src/keyboard.rs:63:18 [INFO] [stdout] | [INFO] [stdout] 63 | Some(T) => self.pressed_keys.push(*T), [INFO] [stdout] | ^ help: convert the identifier to snake case: `t` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `T` should have a snake case name [INFO] [stdout] --> src/keyboard.rs:63:18 [INFO] [stdout] | [INFO] [stdout] 63 | Some(T) => self.pressed_keys.push(*T), [INFO] [stdout] | ^ help: convert the identifier to snake case: `t` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 19 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 20 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2m 14s [INFO] running `Command { std: "docker" "inspect" "5a1afa08e4e4d037d7d4804a485978ba84a0cecea2d7837a0041b5c7a1db5461", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5a1afa08e4e4d037d7d4804a485978ba84a0cecea2d7837a0041b5c7a1db5461", kill_on_drop: false }` [INFO] [stdout] 5a1afa08e4e4d037d7d4804a485978ba84a0cecea2d7837a0041b5c7a1db5461