[INFO] cloning repository https://github.com/umaresso/Text-Editor-Rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/umaresso/Text-Editor-Rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fumaresso%2FText-Editor-Rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fumaresso%2FText-Editor-Rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 12a1a7562479d9ea0a5c714c1fc3f4c9b3de17c0 [INFO] building umaresso/Text-Editor-Rust against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fumaresso%2FText-Editor-Rust" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/umaresso/Text-Editor-Rust on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/umaresso/Text-Editor-Rust [INFO] finished tweaking git repo https://github.com/umaresso/Text-Editor-Rust [INFO] tweaked toml for git repo https://github.com/umaresso/Text-Editor-Rust written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/umaresso/Text-Editor-Rust already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded termios v0.3.3 [INFO] [stderr] Downloaded term_cursor v0.2.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 07f277dc3d21b75e968d308aa2a21668a94002087779d0d7a4619233a530d787 [INFO] running `Command { std: "docker" "start" "-a" "07f277dc3d21b75e968d308aa2a21668a94002087779d0d7a4619233a530d787", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "07f277dc3d21b75e968d308aa2a21668a94002087779d0d7a4619233a530d787", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "07f277dc3d21b75e968d308aa2a21668a94002087779d0d7a4619233a530d787", kill_on_drop: false }` [INFO] [stdout] 07f277dc3d21b75e968d308aa2a21668a94002087779d0d7a4619233a530d787 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail-expr-drop-order" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 29b64aa5ba26df061cbebc92157d405aeeffd8bdc186ddf1273dc2a7e6fece83 [INFO] running `Command { std: "docker" "start" "-a" "29b64aa5ba26df061cbebc92157d405aeeffd8bdc186ddf1273dc2a7e6fece83", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.126 [INFO] [stderr] Compiling parking_lot_core v0.9.3 [INFO] [stderr] Compiling smallvec v1.9.0 [INFO] [stderr] Compiling lock_api v0.4.7 [INFO] [stderr] Compiling signal-hook-registry v1.4.0 [INFO] [stderr] Compiling mio v0.8.4 [INFO] [stderr] Compiling termios v0.3.3 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling colored v2.0.0 [INFO] [stderr] Compiling term_cursor v0.2.1 [INFO] [stderr] Compiling signal-hook v0.3.14 [INFO] [stderr] Compiling parking_lot v0.12.1 [INFO] [stderr] Compiling signal-hook-mio v0.2.3 [INFO] [stderr] Compiling crossterm v0.24.0 [INFO] [stderr] Compiling text-editor v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `self` and `stdin` [INFO] [stdout] --> src/main.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::{stdin, self,Write, Read}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::string::FromUtf16Error` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::string::FromUtf16Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | if (i + final_x >= string.len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 32 - if (i + final_x >= string.len()) { [INFO] [stdout] 32 + if i + final_x >= string.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/main.rs:96:13 [INFO] [stdout] | [INFO] [stdout] 96 | for i in (0..9) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 96 - for i in (0..9) { [INFO] [stdout] 96 + for i in 0..9 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:131:7 [INFO] [stdout] | [INFO] [stdout] 131 | if(type_==1){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 131 - if(type_==1){ [INFO] [stdout] 131 + if type_==1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:339:24 [INFO] [stdout] | [INFO] [stdout] 339 | if (x_coord >= 1) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 339 - if (x_coord >= 1) { [INFO] [stdout] 339 + if x_coord >= 1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:342:24 [INFO] [stdout] | [INFO] [stdout] 342 | if (x_coord == 0 && current_y > start_y && y_coord - 1 >= start_y) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 342 - if (x_coord == 0 && current_y > start_y && y_coord - 1 >= start_y) { [INFO] [stdout] 342 + if x_coord == 0 && current_y > start_y && y_coord - 1 >= start_y { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:351:24 [INFO] [stdout] | [INFO] [stdout] 351 | if (x_coord + 1 <= x_max) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 351 - if (x_coord + 1 <= x_max) { [INFO] [stdout] 351 + if x_coord + 1 <= x_max { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:364:24 [INFO] [stdout] | [INFO] [stdout] 364 | if (y_coord - 1 >= start_y) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 364 - if (y_coord - 1 >= start_y) { [INFO] [stdout] 364 + if y_coord - 1 >= start_y { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:375:24 [INFO] [stdout] | [INFO] [stdout] 375 | if (y_coord + 1 <= current_y ) { [INFO] [stdout] | ^ ^^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 375 - if (y_coord + 1 <= current_y ) { [INFO] [stdout] 375 + if y_coord + 1 <= current_y { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:376:28 [INFO] [stdout] | [INFO] [stdout] 376 | if (y_coord + 1 < y_max) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 376 - if (y_coord + 1 < y_max) { [INFO] [stdout] 376 + if y_coord + 1 < y_max { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:418:32 [INFO] [stdout] | [INFO] [stdout] 418 | ... if (x_coord == 0 && current_y > start_y) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 418 - if (x_coord == 0 && current_y > start_y) { [INFO] [stdout] 418 + if x_coord == 0 && current_y > start_y { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:464:32 [INFO] [stdout] | [INFO] [stdout] 464 | ... if (current_y <= y_max) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 464 - if (current_y <= y_max) { [INFO] [stdout] 464 + if current_y <= y_max { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:476:36 [INFO] [stdout] | [INFO] [stdout] 476 | ... if (current_y != y_coord) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 476 - if (current_y != y_coord) { [INFO] [stdout] 476 + if current_y != y_coord { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/main.rs:478:47 [INFO] [stdout] | [INFO] [stdout] 478 | ... x_coord = (input.len() as u64 % x_max - 1); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 478 - x_coord = (input.len() as u64 % x_max - 1); [INFO] [stdout] 478 + x_coord = input.len() as u64 % x_max - 1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:481:36 [INFO] [stdout] | [INFO] [stdout] 481 | ... if (x_coord + 1 <= x_max) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 481 - if (x_coord + 1 <= x_max) { [INFO] [stdout] 481 + if x_coord + 1 <= x_max { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | let mut snap = &string[i..(i + final_x)]; [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 `loopCounter` is assigned to, but never used [INFO] [stdout] --> src/main.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 153 | let mut loopCounter = 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_loopCounter` instead [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `opening_note` [INFO] [stdout] --> src/main.rs:173:5 [INFO] [stdout] | [INFO] [stdout] 173 | let opening_note=String::from("Start from here "); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_opening_note` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `valid_statement` is assigned to, but never used [INFO] [stdout] --> src/main.rs:277:29 [INFO] [stdout] | [INFO] [stdout] 277 | let mut valid_statement=false; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_valid_statement` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `valid_statement` is never read [INFO] [stdout] --> src/main.rs:292:33 [INFO] [stdout] | [INFO] [stdout] 292 | ... valid_statement=true; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:216:29 [INFO] [stdout] | [INFO] [stdout] 216 | let mut user_save_option =reader::read_console_line() ; [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/main.rs:217:29 [INFO] [stdout] | [INFO] [stdout] 217 | let mut user_save_option=user_save_option.as_str(); [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/main.rs:279:29 [INFO] [stdout] | [INFO] [stdout] 279 | let mut user_save_option =reader::read_console_line() ; [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/main.rs:280:29 [INFO] [stdout] | [INFO] [stdout] 280 | let mut user_save_option=user_save_option.as_str(); [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/main.rs:465:37 [INFO] [stdout] | [INFO] [stdout] 465 | ... let mut index = (y_coord - start_y) * x_max + x_coord; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_int` is never used [INFO] [stdout] --> src/reader.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn read_int()->i32{ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/main.rs:39:28 [INFO] [stdout] | [INFO] [stdout] 39 | snaps.push_str(snap.clone()); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | cursor::set_pos(x.try_into().unwrap(), y.try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 79 | let _ = cursor::set_pos(x.try_into().unwrap(), y.try_into().unwrap()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:132:9 [INFO] [stdout] | [INFO] [stdout] 132 | terminal::enable_raw_mode(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 132 | let _ = terminal::enable_raw_mode(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 135 | terminal::disable_raw_mode(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 135 | let _ = terminal::disable_raw_mode(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `undoStack` should have a snake case name [INFO] [stdout] --> src/main.rs:151:13 [INFO] [stdout] | [INFO] [stdout] 151 | let mut undoStack: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `undo_stack` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `redoStack` should have a snake case name [INFO] [stdout] --> src/main.rs:152:13 [INFO] [stdout] | [INFO] [stdout] 152 | let mut redoStack: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `redo_stack` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `loopCounter` should have a snake case name [INFO] [stdout] --> src/main.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 153 | let mut loopCounter = 0; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `loop_counter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:175:1 [INFO] [stdout] | [INFO] [stdout] 175 | event::read(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 175 | let _ = event::read(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/main.rs:220:47 [INFO] [stdout] | [INFO] [stdout] 220 | match user_save_option.clone(){ [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/main.rs:282:47 [INFO] [stdout] | [INFO] [stdout] 282 | match user_save_option.clone(){ [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.74s [INFO] running `Command { std: "docker" "inspect" "29b64aa5ba26df061cbebc92157d405aeeffd8bdc186ddf1273dc2a7e6fece83", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "29b64aa5ba26df061cbebc92157d405aeeffd8bdc186ddf1273dc2a7e6fece83", kill_on_drop: false }` [INFO] [stdout] 29b64aa5ba26df061cbebc92157d405aeeffd8bdc186ddf1273dc2a7e6fece83 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail-expr-drop-order" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 167e00bea2a6c51c6a436544ff2a06776f2200df72fa44be1fe29135e31d14e7 [INFO] running `Command { std: "docker" "start" "-a" "167e00bea2a6c51c6a436544ff2a06776f2200df72fa44be1fe29135e31d14e7", kill_on_drop: false }` [INFO] [stderr] Compiling text-editor v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `self` and `stdin` [INFO] [stdout] --> src/main.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::{stdin, self,Write, Read}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::string::FromUtf16Error` [INFO] [stdout] --> src/main.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::string::FromUtf16Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | if (i + final_x >= string.len()) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 32 - if (i + final_x >= string.len()) { [INFO] [stdout] 32 + if i + final_x >= string.len() { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `for` iterator expression [INFO] [stdout] --> src/main.rs:96:13 [INFO] [stdout] | [INFO] [stdout] 96 | for i in (0..9) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 96 - for i in (0..9) { [INFO] [stdout] 96 + for i in 0..9 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:131:7 [INFO] [stdout] | [INFO] [stdout] 131 | if(type_==1){ [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 131 - if(type_==1){ [INFO] [stdout] 131 + if type_==1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:339:24 [INFO] [stdout] | [INFO] [stdout] 339 | if (x_coord >= 1) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 339 - if (x_coord >= 1) { [INFO] [stdout] 339 + if x_coord >= 1 { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:342:24 [INFO] [stdout] | [INFO] [stdout] 342 | if (x_coord == 0 && current_y > start_y && y_coord - 1 >= start_y) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 342 - if (x_coord == 0 && current_y > start_y && y_coord - 1 >= start_y) { [INFO] [stdout] 342 + if x_coord == 0 && current_y > start_y && y_coord - 1 >= start_y { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:351:24 [INFO] [stdout] | [INFO] [stdout] 351 | if (x_coord + 1 <= x_max) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 351 - if (x_coord + 1 <= x_max) { [INFO] [stdout] 351 + if x_coord + 1 <= x_max { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:364:24 [INFO] [stdout] | [INFO] [stdout] 364 | if (y_coord - 1 >= start_y) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 364 - if (y_coord - 1 >= start_y) { [INFO] [stdout] 364 + if y_coord - 1 >= start_y { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:375:24 [INFO] [stdout] | [INFO] [stdout] 375 | if (y_coord + 1 <= current_y ) { [INFO] [stdout] | ^ ^^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 375 - if (y_coord + 1 <= current_y ) { [INFO] [stdout] 375 + if y_coord + 1 <= current_y { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:376:28 [INFO] [stdout] | [INFO] [stdout] 376 | if (y_coord + 1 < y_max) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 376 - if (y_coord + 1 < y_max) { [INFO] [stdout] 376 + if y_coord + 1 < y_max { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:418:32 [INFO] [stdout] | [INFO] [stdout] 418 | ... if (x_coord == 0 && current_y > start_y) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 418 - if (x_coord == 0 && current_y > start_y) { [INFO] [stdout] 418 + if x_coord == 0 && current_y > start_y { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:464:32 [INFO] [stdout] | [INFO] [stdout] 464 | ... if (current_y <= y_max) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 464 - if (current_y <= y_max) { [INFO] [stdout] 464 + if current_y <= y_max { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:476:36 [INFO] [stdout] | [INFO] [stdout] 476 | ... if (current_y != y_coord) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 476 - if (current_y != y_coord) { [INFO] [stdout] 476 + if current_y != y_coord { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around assigned value [INFO] [stdout] --> src/main.rs:478:47 [INFO] [stdout] | [INFO] [stdout] 478 | ... x_coord = (input.len() as u64 % x_max - 1); [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 478 - x_coord = (input.len() as u64 % x_max - 1); [INFO] [stdout] 478 + x_coord = input.len() as u64 % x_max - 1; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around `if` condition [INFO] [stdout] --> src/main.rs:481:36 [INFO] [stdout] | [INFO] [stdout] 481 | ... if (x_coord + 1 <= x_max) { [INFO] [stdout] | ^ ^ [INFO] [stdout] | [INFO] [stdout] help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] 481 - if (x_coord + 1 <= x_max) { [INFO] [stdout] 481 + if x_coord + 1 <= x_max { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:37:13 [INFO] [stdout] | [INFO] [stdout] 37 | let mut snap = &string[i..(i + final_x)]; [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 `loopCounter` is assigned to, but never used [INFO] [stdout] --> src/main.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 153 | let mut loopCounter = 0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_loopCounter` instead [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `opening_note` [INFO] [stdout] --> src/main.rs:173:5 [INFO] [stdout] | [INFO] [stdout] 173 | let opening_note=String::from("Start from here "); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_opening_note` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `valid_statement` is assigned to, but never used [INFO] [stdout] --> src/main.rs:277:29 [INFO] [stdout] | [INFO] [stdout] 277 | let mut valid_statement=false; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_valid_statement` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `valid_statement` is never read [INFO] [stdout] --> src/main.rs:292:33 [INFO] [stdout] | [INFO] [stdout] 292 | ... valid_statement=true; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:216:29 [INFO] [stdout] | [INFO] [stdout] 216 | let mut user_save_option =reader::read_console_line() ; [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/main.rs:217:29 [INFO] [stdout] | [INFO] [stdout] 217 | let mut user_save_option=user_save_option.as_str(); [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/main.rs:279:29 [INFO] [stdout] | [INFO] [stdout] 279 | let mut user_save_option =reader::read_console_line() ; [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/main.rs:280:29 [INFO] [stdout] | [INFO] [stdout] 280 | let mut user_save_option=user_save_option.as_str(); [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/main.rs:465:37 [INFO] [stdout] | [INFO] [stdout] 465 | ... let mut index = (y_coord - start_y) * x_max + x_coord; [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_int` is never used [INFO] [stdout] --> src/reader.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | pub fn read_int()->i32{ [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/main.rs:39:28 [INFO] [stdout] | [INFO] [stdout] 39 | snaps.push_str(snap.clone()); [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] = note: `#[warn(noop_method_call)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:79:5 [INFO] [stdout] | [INFO] [stdout] 79 | cursor::set_pos(x.try_into().unwrap(), y.try_into().unwrap()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 79 | let _ = cursor::set_pos(x.try_into().unwrap(), y.try_into().unwrap()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:132:9 [INFO] [stdout] | [INFO] [stdout] 132 | terminal::enable_raw_mode(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 132 | let _ = terminal::enable_raw_mode(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 135 | terminal::disable_raw_mode(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 135 | let _ = terminal::disable_raw_mode(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `undoStack` should have a snake case name [INFO] [stdout] --> src/main.rs:151:13 [INFO] [stdout] | [INFO] [stdout] 151 | let mut undoStack: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `undo_stack` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `redoStack` should have a snake case name [INFO] [stdout] --> src/main.rs:152:13 [INFO] [stdout] | [INFO] [stdout] 152 | let mut redoStack: Vec = Vec::new(); [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `redo_stack` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `loopCounter` should have a snake case name [INFO] [stdout] --> src/main.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 153 | let mut loopCounter = 0; [INFO] [stdout] | ^^^^^^^^^^^ help: convert the identifier to snake case: `loop_counter` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:175:1 [INFO] [stdout] | [INFO] [stdout] 175 | event::read(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 175 | let _ = event::read(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/main.rs:220:47 [INFO] [stdout] | [INFO] [stdout] 220 | match user_save_option.clone(){ [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing [INFO] [stdout] --> src/main.rs:282:47 [INFO] [stdout] | [INFO] [stdout] 282 | match user_save_option.clone(){ [INFO] [stdout] | ^^^^^^^^ help: remove this redundant call [INFO] [stdout] | [INFO] [stdout] = note: the type `str` does not implement `Clone`, so calling `clone` on `&str` copies the reference, which does not do anything and can be removed [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.28s [INFO] running `Command { std: "docker" "inspect" "167e00bea2a6c51c6a436544ff2a06776f2200df72fa44be1fe29135e31d14e7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "167e00bea2a6c51c6a436544ff2a06776f2200df72fa44be1fe29135e31d14e7", kill_on_drop: false }` [INFO] [stdout] 167e00bea2a6c51c6a436544ff2a06776f2200df72fa44be1fe29135e31d14e7