[INFO] cloning repository https://github.com/Alexandre-Sage/codecrafters-shell-rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Alexandre-Sage/codecrafters-shell-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlexandre-Sage%2Fcodecrafters-shell-rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlexandre-Sage%2Fcodecrafters-shell-rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 2c8e80c2b0363e844c9bf58dd7925fed0b42b4e5 [INFO] checking Alexandre-Sage/codecrafters-shell-rust against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAlexandre-Sage%2Fcodecrafters-shell-rust" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Alexandre-Sage/codecrafters-shell-rust [INFO] finished tweaking git repo https://github.com/Alexandre-Sage/codecrafters-shell-rust [INFO] tweaked toml for git repo https://github.com/Alexandre-Sage/codecrafters-shell-rust written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Alexandre-Sage/codecrafters-shell-rust on toolchain a5689b034ad287112f709693384a37f1377eb9cc [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Alexandre-Sage/codecrafters-shell-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" "+a5689b034ad287112f709693384a37f1377eb9cc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 05230ace0d59918a61e1ca8bf8e5d40a3d748de5e75790cac8ed8b3a8e08ef21 [INFO] running `Command { std: "docker" "start" "05230ace0d59918a61e1ca8bf8e5d40a3d748de5e75790cac8ed8b3a8e08ef21", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "05230ace0d59918a61e1ca8bf8e5d40a3d748de5e75790cac8ed8b3a8e08ef21", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "05230ace0d59918a61e1ca8bf8e5d40a3d748de5e75790cac8ed8b3a8e08ef21" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "05230ace0d59918a61e1ca8bf8e5d40a3d748de5e75790cac8ed8b3a8e08ef21", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "05230ace0d59918a61e1ca8bf8e5d40a3d748de5e75790cac8ed8b3a8e08ef21" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.103 [INFO] [stderr] Compiling libc v0.2.177 [INFO] [stderr] Compiling rustix v1.1.2 [INFO] [stderr] Checking linux-raw-sys v0.11.0 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Checking bytes v1.7.1 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Compiling syn v2.0.111 [INFO] [stderr] Checking getrandom v0.3.4 [INFO] [stderr] Checking tempfile v3.23.0 [INFO] [stderr] Compiling thiserror-impl v2.0.17 [INFO] [stderr] Compiling strum_macros v0.27.2 [INFO] [stderr] Checking thiserror v2.0.17 [INFO] [stderr] Checking strum v0.27.2 [INFO] [stderr] Checking codecrafters-shell v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused variable: `output` [INFO] [stdout] --> tests/redirection.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | let output = test_case("echo hello world > /tmp/test_echo_redirect.txt", true); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output` [INFO] [stdout] --> tests/redirection.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | let output = test_case("echo test > \"/tmp/test file with spaces.txt\"", true); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output` [INFO] [stdout] --> tests/redirection.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | let output = test_case("echo new content > /tmp/test_overwrite.txt", true); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output` [INFO] [stdout] --> tests/redirection.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | let output = test_case("ls /tmp > /tmp/test_ls_redirect.txt", true); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output` [INFO] [stdout] --> tests/redirection.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | let output = test_case("echo 'hello world' > /tmp/test_special_chars.txt", true); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::char` [INFO] [stdout] --> src/executable/repl.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::char; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Read`, `Stdin`, `StdoutLock`, `Stdout`, and `stdout` [INFO] [stdout] --> src/executable/repl.rs:2:21 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{self, stdout, Read, Stdin, Stdout, StdoutLock, Write}; [INFO] [stdout] | ^^^^^^ ^^^^ ^^^^^ ^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::shell::completion` [INFO] [stdout] --> src/executable/repl.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::shell::completion; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::shell::raw_mode::RawMode` [INFO] [stdout] --> src/executable/repl.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::shell::raw_mode::RawMode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::shell::completion` [INFO] [stdout] --> src/shell/completion/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::shell::completion; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `collections::HashSet` [INFO] [stdout] --> src/shell/completion/builtins.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::HashSet, sync::Arc}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `self` and `self` [INFO] [stdout] --> src/shell/completion/builtins.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | self, [INFO] [stdout] | ^^^^ [INFO] [stdout] 8 | path_dirs::{self, PathDirsCompletion}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `StdinLock`, `Stdin`, and `StdoutLock` [INFO] [stdout] --> src/shell/input/input_handler.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::{self, Read, Stdin, StdinLock, StdoutLock, Write}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/shell/input/input_handler.rs:6:22 [INFO] [stdout] | [INFO] [stdout] 6 | completion::{self, builtins::BuiltinsCompletion, CompletionComponent}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `fs::ReadDir` and `vec` [INFO] [stdout] --> src/shell/path.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{fs::ReadDir, os::unix::fs::PermissionsExt, path::PathBuf, vec}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::shell::completion::path_dirs` [INFO] [stdout] --> src/shell/path.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::shell::completion::path_dirs; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stdout` [INFO] [stdout] --> tests/cd.rs:143:9 [INFO] [stdout] | [INFO] [stdout] 143 | let stdout = String::from_utf8_lossy(&output.stdout); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stdout` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated module `std::usize`: all constants in this module replaced by associated constants on the type [INFO] [stdout] --> src/shell/input/input_parser.rs:1:43 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{char, path::PathBuf, sync::Arc, usize}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::char` [INFO] [stdout] --> src/executable/repl.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::char; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Read`, `Stdin`, `StdoutLock`, `Stdout`, and `stdout` [INFO] [stdout] --> src/executable/repl.rs:2:21 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{self, stdout, Read, Stdin, Stdout, StdoutLock, Write}; [INFO] [stdout] | ^^^^^^ ^^^^ ^^^^^ ^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::shell::completion` [INFO] [stdout] --> src/executable/repl.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::shell::completion; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::shell::raw_mode::RawMode` [INFO] [stdout] --> src/executable/repl.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::shell::raw_mode::RawMode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::shell::completion` [INFO] [stdout] --> src/shell/completion/mod.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::shell::completion; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `collections::HashSet` [INFO] [stdout] --> src/shell/completion/builtins.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{collections::HashSet, sync::Arc}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `self` and `self` [INFO] [stdout] --> src/shell/completion/builtins.rs:7:13 [INFO] [stdout] | [INFO] [stdout] 7 | self, [INFO] [stdout] | ^^^^ [INFO] [stdout] 8 | path_dirs::{self, PathDirsCompletion}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `StdinLock`, `Stdin`, and `StdoutLock` [INFO] [stdout] --> src/shell/input/input_handler.rs:1:27 [INFO] [stdout] | [INFO] [stdout] 1 | use std::io::{self, Read, Stdin, StdinLock, StdoutLock, Write}; [INFO] [stdout] | ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> src/shell/input/input_handler.rs:6:22 [INFO] [stdout] | [INFO] [stdout] 6 | completion::{self, builtins::BuiltinsCompletion, CompletionComponent}, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fs::ReadDir` [INFO] [stdout] --> src/shell/path.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{fs::ReadDir, os::unix::fs::PermissionsExt, path::PathBuf, vec}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::shell::completion::path_dirs` [INFO] [stdout] --> src/shell/path.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::shell::completion::path_dirs; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated module `std::usize`: all constants in this module replaced by associated constants on the type [INFO] [stdout] --> src/shell/input/input_parser.rs:1:43 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{char, path::PathBuf, sync::Arc, usize}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `path_dirs` is never read [INFO] [stdout] --> src/commands/registry.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 13 | pub(crate) struct CommandRegistry { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 14 | registry: HashMap>, [INFO] [stdout] 15 | path_dirs: Arc, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `ShellError` [INFO] [stdout] --> src/external/mod.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | Err(ShellError::CommandNotFound(command.to_owned()).into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: `#[deny(self_type_conversion)]` on by default [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 36 - Err(ShellError::CommandNotFound(command.to_owned()).into()) [INFO] [stdout] 36 + Err(ShellError::CommandNotFound(command.to_owned())) [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 36 - Err(ShellError::CommandNotFound(command.to_owned()).into()) [INFO] [stdout] 36 + Err(>::into(ShellError::CommandNotFound(command.to_owned()))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `codecrafters-shell` (bin "codecrafters-shell") due to 1 previous error; 13 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: field `path_dirs` is never read [INFO] [stdout] --> src/commands/registry.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 13 | pub(crate) struct CommandRegistry { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 14 | registry: HashMap>, [INFO] [stdout] 15 | path_dirs: Arc, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `exceptions::commands::ShellError` [INFO] [stdout] --> src/external/mod.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | Err(ShellError::CommandNotFound(command.to_owned()).into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: `#[deny(self_type_conversion)]` on by default [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 36 - Err(ShellError::CommandNotFound(command.to_owned()).into()) [INFO] [stdout] 36 + Err(ShellError::CommandNotFound(command.to_owned())) [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 36 - Err(ShellError::CommandNotFound(command.to_owned()).into()) [INFO] [stdout] 36 + Err(>::into(ShellError::CommandNotFound(command.to_owned()))) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/shell/path.rs:73:17 [INFO] [stdout] | [INFO] [stdout] 73 | assert!(path.path_dirs.len() >= 0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `codecrafters-shell` (bin "codecrafters-shell" test) due to 1 previous error; 14 warnings emitted [INFO] [stderr] warning: unused dependency `bytes` [INFO] [stderr] --> Cargo.toml:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | bytes = "1.3.0" [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `cargo::unused_dependencies` is set to `warn` by default [INFO] [stderr] help: consider removing the dependency on `bytes` [INFO] [stderr] warning: `codecrafters-shell` (manifest) generated 1 warning [INFO] running `Command { std: "docker" "inspect" "05230ace0d59918a61e1ca8bf8e5d40a3d748de5e75790cac8ed8b3a8e08ef21", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "05230ace0d59918a61e1ca8bf8e5d40a3d748de5e75790cac8ed8b3a8e08ef21", kill_on_drop: false }` [INFO] [stdout] 05230ace0d59918a61e1ca8bf8e5d40a3d748de5e75790cac8ed8b3a8e08ef21