[INFO] cloning repository https://github.com/rakshithvk19/rax-ftp-client [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rakshithvk19/rax-ftp-client" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frakshithvk19%2Frax-ftp-client", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frakshithvk19%2Frax-ftp-client'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] be56019d53eafd2837d89363d6c77cd412af4f22 [INFO] checking rakshithvk19/rax-ftp-client against master#350d0ef0ec0493e6d21cfb265cb8211a0e74d766 for pr-145342-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frakshithvk19%2Frax-ftp-client" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/rakshithvk19/rax-ftp-client [INFO] finished tweaking git repo https://github.com/rakshithvk19/rax-ftp-client [INFO] tweaked toml for git repo https://github.com/rakshithvk19/rax-ftp-client written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/rakshithvk19/rax-ftp-client on toolchain 350d0ef0ec0493e6d21cfb265cb8211a0e74d766 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/rakshithvk19/rax-ftp-client 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" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "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-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2214633121bae4ab6fd44b360d790402948eb9480043bfa6c8b54d40d36547f6 [INFO] running `Command { std: "docker" "start" "-a" "2214633121bae4ab6fd44b360d790402948eb9480043bfa6c8b54d40d36547f6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2214633121bae4ab6fd44b360d790402948eb9480043bfa6c8b54d40d36547f6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2214633121bae4ab6fd44b360d790402948eb9480043bfa6c8b54d40d36547f6", kill_on_drop: false }` [INFO] [stdout] 2214633121bae4ab6fd44b360d790402948eb9480043bfa6c8b54d40d36547f6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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" "-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+350d0ef0ec0493e6d21cfb265cb8211a0e74d766" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3c1519c71aa1dd71ea3e868698e878f5633e2b9ed6db6116df6d60c3fd224481 [INFO] running `Command { std: "docker" "start" "-a" "3c1519c71aa1dd71ea3e868698e878f5633e2b9ed6db6116df6d60c3fd224481", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.95 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Checking memchr v2.7.5 [INFO] [stderr] Checking regex-syntax v0.8.5 [INFO] [stderr] Checking utf8parse v0.2.2 [INFO] [stderr] Checking equivalent v1.0.2 [INFO] [stderr] Checking hashbrown v0.15.4 [INFO] [stderr] Checking winnow v0.7.11 [INFO] [stderr] Checking toml_write v0.1.2 [INFO] [stderr] Checking colorchoice v1.0.4 [INFO] [stderr] Checking is_terminal_polyfill v1.70.1 [INFO] [stderr] Checking log v0.4.27 [INFO] [stderr] Checking anstyle-query v1.1.3 [INFO] [stderr] Checking anstyle v1.0.11 [INFO] [stderr] Checking jiff v0.2.15 [INFO] [stderr] Checking anstyle-parse v0.2.7 [INFO] [stderr] Checking anstream v0.6.19 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking indexmap v2.10.0 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking env_filter v0.1.3 [INFO] [stderr] Checking env_logger v0.11.8 [INFO] [stderr] Checking serde_spanned v0.6.9 [INFO] [stderr] Checking toml_datetime v0.6.11 [INFO] [stderr] Checking toml_edit v0.22.27 [INFO] [stderr] Checking toml v0.8.23 [INFO] [stderr] Checking rax-ftp-client v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `session::Terminal` [INFO] [stdout] --> src/terminal/mod.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub use session::Terminal; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `progress::TransferProgress` [INFO] [stdout] --> src/transfer/mod.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub use progress::TransferProgress; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `session::Terminal` [INFO] [stdout] --> src/terminal/mod.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 10 | pub use session::Terminal; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `progress::TransferProgress` [INFO] [stdout] --> src/transfer/mod.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | pub use progress::TransferProgress; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/connection/command.rs:231:21 [INFO] [stdout] | [INFO] [stdout] 231 | if let Some(mut stream) = self.stream.take() { [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/connection/command.rs:231:21 [INFO] [stdout] | [INFO] [stdout] 231 | if let Some(mut stream) = self.stream.take() { [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: field `logging` is never read [INFO] [stdout] --> src/config.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct ClientConfig { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 16 | pub logging: LoggingConfig, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClientConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `level`, `command_log`, and `transfer_log` are never read [INFO] [stdout] --> src/config.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct LoggingConfig { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 49 | /// Logging level [INFO] [stdout] 50 | pub level: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub command_log: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub transfer_log: bool, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LoggingConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `connection_info` is never used [INFO] [stdout] --> src/connection/command.rs:242:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl CommandConnection { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 242 | pub fn connection_info(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOCAL_TEST_IP` is never used [INFO] [stdout] --> src/connection/data.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const LOCAL_TEST_IP: &str = "127.0.0.1"; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `DataMode` is never used [INFO] [stdout] --> src/connection/data.rs:19:10 [INFO] [stdout] | [INFO] [stdout] 19 | pub enum DataMode { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `local_addr` is never read [INFO] [stdout] --> src/connection/data.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 33 | Active { [INFO] [stdout] | ------ field in this variant [INFO] [stdout] ... [INFO] [stdout] 36 | local_addr: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DataConnectionMode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_port_mode`, `get_port_command`, `accept_connection`, and `is_connected` are never used [INFO] [stdout] --> src/connection/data.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 45 | impl DataConnection { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn new_port_mode(config: &ClientConfig) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn get_port_command(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | pub fn accept_connection(&mut self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 291 | pub fn is_connected(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/error.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum RaxFtpClientError { [INFO] [stdout] | ----------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 14 | InvalidCredentials { code: u16, message: String }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | AuthenticationFailed { code: u16, message: String }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | UserNotFound { code: u16, message: String }, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | FileAlreadyExists { code: u16, message: String }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | InsufficientStorage { code: u16, message: String }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | UnexpectedResponse { expected: String, received: String }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 31 | ProtocolViolation { code: u16, message: String }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 32 | CommandNotSupported { code: u16, message: String }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 33 | ResponseParseError(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | InvalidTimeout(String), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 38 | MissingConfiguration(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | Other(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RaxFtpClientError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_ftp_response` is never used [INFO] [stdout] --> src/error.rs:146:12 [INFO] [stdout] | [INFO] [stdout] 145 | impl RaxFtpClientError { [INFO] [stdout] | ---------------------- associated function in this implementation [INFO] [stdout] 146 | pub fn from_ftp_response(code: u16, message: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `USER_NAME_OKAY_NEED_PASSWORD` is never used [INFO] [stdout] --> src/responses/status_codes.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pub const USER_NAME_OKAY_NEED_PASSWORD: u16 = 331; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DIRECTORY_CHANGED` is never used [INFO] [stdout] --> src/responses/status_codes.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub const DIRECTORY_CHANGED: u16 = 250; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FILE_DELETED` is never used [INFO] [stdout] --> src/responses/status_codes.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub const FILE_DELETED: u16 = 250; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CURRENT_DIRECTORY` is never used [INFO] [stdout] --> src/responses/status_codes.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub const CURRENT_DIRECTORY: u16 = 257; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PORT_COMMAND_SUCCESSFUL` is never used [INFO] [stdout] --> src/responses/status_codes.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const PORT_COMMAND_SUCCESSFUL: u16 = 200; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PASSIVE_MODE` is never used [INFO] [stdout] --> src/responses/status_codes.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const PASSIVE_MODE: u16 = 227; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOGOUT_SUCCESSFUL` is never used [INFO] [stdout] --> src/responses/status_codes.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub const LOGOUT_SUCCESSFUL: u16 = 221; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GOODBYE` is never used [INFO] [stdout] --> src/responses/status_codes.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | pub const GOODBYE: u16 = 221; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RAX_RESPONSE` is never used [INFO] [stdout] --> src/responses/status_codes.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const RAX_RESPONSE: u16 = 200; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OPENING_DATA_CONNECTION` is never used [INFO] [stdout] --> src/responses/status_codes.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | pub const OPENING_DATA_CONNECTION: u16 = 150; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TRANSFER_COMPLETE` is never used [INFO] [stdout] --> src/responses/status_codes.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | pub const TRANSFER_COMPLETE: u16 = 226; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NOT_LOGGED_IN` is never used [INFO] [stdout] --> src/responses/status_codes.rs:20:11 [INFO] [stdout] | [INFO] [stdout] 20 | pub const NOT_LOGGED_IN: u16 = 530; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOGIN_INCORRECT` is never used [INFO] [stdout] --> src/responses/status_codes.rs:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | pub const LOGIN_INCORRECT: u16 = 530; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PERMISSION_DENIED` is never used [INFO] [stdout] --> src/responses/status_codes.rs:22:11 [INFO] [stdout] | [INFO] [stdout] 22 | pub const PERMISSION_DENIED: u16 = 532; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FILE_NOT_FOUND` is never used [INFO] [stdout] --> src/responses/status_codes.rs:23:11 [INFO] [stdout] | [INFO] [stdout] 23 | pub const FILE_NOT_FOUND: u16 = 550; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FILE_ALREADY_EXISTS` is never used [INFO] [stdout] --> src/responses/status_codes.rs:24:11 [INFO] [stdout] | [INFO] [stdout] 24 | pub const FILE_ALREADY_EXISTS: u16 = 553; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INSUFFICIENT_STORAGE` is never used [INFO] [stdout] --> src/responses/status_codes.rs:25:11 [INFO] [stdout] | [INFO] [stdout] 25 | pub const INSUFFICIENT_STORAGE: u16 = 552; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SYNTAX_ERROR` is never used [INFO] [stdout] --> src/responses/status_codes.rs:26:11 [INFO] [stdout] | [INFO] [stdout] 26 | pub const SYNTAX_ERROR: u16 = 501; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `COMMAND_NOT_RECOGNIZED` is never used [INFO] [stdout] --> src/responses/status_codes.rs:27:11 [INFO] [stdout] | [INFO] [stdout] 27 | pub const COMMAND_NOT_RECOGNIZED: u16 = 500; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DATA_CONNECTION_FAILED` is never used [INFO] [stdout] --> src/responses/status_codes.rs:28:11 [INFO] [stdout] | [INFO] [stdout] 28 | pub const DATA_CONNECTION_FAILED: u16 = 425; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TRANSFER_FAILED` is never used [INFO] [stdout] --> src/responses/status_codes.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub const TRANSFER_FAILED: u16 = 426; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_success` is never used [INFO] [stdout] --> src/responses/status_codes.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn is_success(code: u16) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_intermediate` is never used [INFO] [stdout] --> src/responses/status_codes.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn is_intermediate(code: u16) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_error` is never used [INFO] [stdout] --> src/responses/status_codes.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn is_error(code: u16) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_need_password` is never used [INFO] [stdout] --> src/responses/status_codes.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn is_need_password(code: u16) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `permissions` is never read [INFO] [stdout] --> src/terminal/listing.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct DirectoryEntry { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 12 | pub permissions: Option, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DirectoryEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Unknown` is never constructed [INFO] [stdout] --> src/terminal/listing.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub enum EntryType { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 21 | Unknown, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EntryType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `display_spinner` is never used [INFO] [stdout] --> src/terminal/progress.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn display_spinner(message: &str, step: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update` is never used [INFO] [stdout] --> src/transfer/progress.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl TransferProgress { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn update(&mut self, bytes_transferred: u64) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `logging` is never read [INFO] [stdout] --> src/config.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct ClientConfig { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 16 | pub logging: LoggingConfig, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClientConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `level`, `command_log`, and `transfer_log` are never read [INFO] [stdout] --> src/config.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 48 | pub struct LoggingConfig { [INFO] [stdout] | ------------- fields in this struct [INFO] [stdout] 49 | /// Logging level [INFO] [stdout] 50 | pub level: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub command_log: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub transfer_log: bool, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LoggingConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `connection_info` is never used [INFO] [stdout] --> src/connection/command.rs:242:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl CommandConnection { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 242 | pub fn connection_info(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOCAL_TEST_IP` is never used [INFO] [stdout] --> src/connection/data.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const LOCAL_TEST_IP: &str = "127.0.0.1"; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `DataMode` is never used [INFO] [stdout] --> src/connection/data.rs:19:10 [INFO] [stdout] | [INFO] [stdout] 19 | pub enum DataMode { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `local_addr` is never read [INFO] [stdout] --> src/connection/data.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 33 | Active { [INFO] [stdout] | ------ field in this variant [INFO] [stdout] ... [INFO] [stdout] 36 | local_addr: Option, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DataConnectionMode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_port_mode`, `get_port_command`, `accept_connection`, and `is_connected` are never used [INFO] [stdout] --> src/connection/data.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 45 | impl DataConnection { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 97 | pub fn new_port_mode(config: &ClientConfig) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn get_port_command(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | pub fn accept_connection(&mut self) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 291 | pub fn is_connected(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/error.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum RaxFtpClientError { [INFO] [stdout] | ----------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 14 | InvalidCredentials { code: u16, message: String }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 15 | AuthenticationFailed { code: u16, message: String }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 16 | UserNotFound { code: u16, message: String }, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | FileAlreadyExists { code: u16, message: String }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | InsufficientStorage { code: u16, message: String }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | InvalidResponse(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 30 | UnexpectedResponse { expected: String, received: String }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 31 | ProtocolViolation { code: u16, message: String }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 32 | CommandNotSupported { code: u16, message: String }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 33 | ResponseParseError(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | InvalidTimeout(String), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 38 | MissingConfiguration(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | Other(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RaxFtpClientError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_ftp_response` is never used [INFO] [stdout] --> src/error.rs:146:12 [INFO] [stdout] | [INFO] [stdout] 145 | impl RaxFtpClientError { [INFO] [stdout] | ---------------------- associated function in this implementation [INFO] [stdout] 146 | pub fn from_ftp_response(code: u16, message: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `USER_NAME_OKAY_NEED_PASSWORD` is never used [INFO] [stdout] --> src/responses/status_codes.rs:5:11 [INFO] [stdout] | [INFO] [stdout] 5 | pub const USER_NAME_OKAY_NEED_PASSWORD: u16 = 331; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DIRECTORY_CHANGED` is never used [INFO] [stdout] --> src/responses/status_codes.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub const DIRECTORY_CHANGED: u16 = 250; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FILE_DELETED` is never used [INFO] [stdout] --> src/responses/status_codes.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub const FILE_DELETED: u16 = 250; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `CURRENT_DIRECTORY` is never used [INFO] [stdout] --> src/responses/status_codes.rs:8:11 [INFO] [stdout] | [INFO] [stdout] 8 | pub const CURRENT_DIRECTORY: u16 = 257; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PORT_COMMAND_SUCCESSFUL` is never used [INFO] [stdout] --> src/responses/status_codes.rs:9:11 [INFO] [stdout] | [INFO] [stdout] 9 | pub const PORT_COMMAND_SUCCESSFUL: u16 = 200; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PASSIVE_MODE` is never used [INFO] [stdout] --> src/responses/status_codes.rs:10:11 [INFO] [stdout] | [INFO] [stdout] 10 | pub const PASSIVE_MODE: u16 = 227; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOGOUT_SUCCESSFUL` is never used [INFO] [stdout] --> src/responses/status_codes.rs:11:11 [INFO] [stdout] | [INFO] [stdout] 11 | pub const LOGOUT_SUCCESSFUL: u16 = 221; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GOODBYE` is never used [INFO] [stdout] --> src/responses/status_codes.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | pub const GOODBYE: u16 = 221; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RAX_RESPONSE` is never used [INFO] [stdout] --> src/responses/status_codes.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub const RAX_RESPONSE: u16 = 200; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OPENING_DATA_CONNECTION` is never used [INFO] [stdout] --> src/responses/status_codes.rs:16:11 [INFO] [stdout] | [INFO] [stdout] 16 | pub const OPENING_DATA_CONNECTION: u16 = 150; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TRANSFER_COMPLETE` is never used [INFO] [stdout] --> src/responses/status_codes.rs:17:11 [INFO] [stdout] | [INFO] [stdout] 17 | pub const TRANSFER_COMPLETE: u16 = 226; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NOT_LOGGED_IN` is never used [INFO] [stdout] --> src/responses/status_codes.rs:20:11 [INFO] [stdout] | [INFO] [stdout] 20 | pub const NOT_LOGGED_IN: u16 = 530; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `LOGIN_INCORRECT` is never used [INFO] [stdout] --> src/responses/status_codes.rs:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | pub const LOGIN_INCORRECT: u16 = 530; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PERMISSION_DENIED` is never used [INFO] [stdout] --> src/responses/status_codes.rs:22:11 [INFO] [stdout] | [INFO] [stdout] 22 | pub const PERMISSION_DENIED: u16 = 532; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FILE_NOT_FOUND` is never used [INFO] [stdout] --> src/responses/status_codes.rs:23:11 [INFO] [stdout] | [INFO] [stdout] 23 | pub const FILE_NOT_FOUND: u16 = 550; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FILE_ALREADY_EXISTS` is never used [INFO] [stdout] --> src/responses/status_codes.rs:24:11 [INFO] [stdout] | [INFO] [stdout] 24 | pub const FILE_ALREADY_EXISTS: u16 = 553; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `INSUFFICIENT_STORAGE` is never used [INFO] [stdout] --> src/responses/status_codes.rs:25:11 [INFO] [stdout] | [INFO] [stdout] 25 | pub const INSUFFICIENT_STORAGE: u16 = 552; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SYNTAX_ERROR` is never used [INFO] [stdout] --> src/responses/status_codes.rs:26:11 [INFO] [stdout] | [INFO] [stdout] 26 | pub const SYNTAX_ERROR: u16 = 501; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `COMMAND_NOT_RECOGNIZED` is never used [INFO] [stdout] --> src/responses/status_codes.rs:27:11 [INFO] [stdout] | [INFO] [stdout] 27 | pub const COMMAND_NOT_RECOGNIZED: u16 = 500; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DATA_CONNECTION_FAILED` is never used [INFO] [stdout] --> src/responses/status_codes.rs:28:11 [INFO] [stdout] | [INFO] [stdout] 28 | pub const DATA_CONNECTION_FAILED: u16 = 425; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TRANSFER_FAILED` is never used [INFO] [stdout] --> src/responses/status_codes.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub const TRANSFER_FAILED: u16 = 426; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_success` is never used [INFO] [stdout] --> src/responses/status_codes.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn is_success(code: u16) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_intermediate` is never used [INFO] [stdout] --> src/responses/status_codes.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | pub fn is_intermediate(code: u16) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_error` is never used [INFO] [stdout] --> src/responses/status_codes.rs:44:8 [INFO] [stdout] | [INFO] [stdout] 44 | pub fn is_error(code: u16) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_need_password` is never used [INFO] [stdout] --> src/responses/status_codes.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn is_need_password(code: u16) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `permissions` is never read [INFO] [stdout] --> src/terminal/listing.rs:12:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct DirectoryEntry { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 12 | pub permissions: Option, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DirectoryEntry` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Unknown` is never constructed [INFO] [stdout] --> src/terminal/listing.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub enum EntryType { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 21 | Unknown, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `EntryType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `display_spinner` is never used [INFO] [stdout] --> src/terminal/progress.rs:54:8 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn display_spinner(message: &str, step: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `validate_listing_format` is never used [INFO] [stdout] --> src/transfer/listing.rs:65:8 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn validate_listing_format(listing: &[String]) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `update` is never used [INFO] [stdout] --> src/transfer/progress.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl TransferProgress { [INFO] [stdout] | --------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn update(&mut self, bytes_transferred: u64) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.99s [INFO] running `Command { std: "docker" "inspect" "3c1519c71aa1dd71ea3e868698e878f5633e2b9ed6db6116df6d60c3fd224481", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3c1519c71aa1dd71ea3e868698e878f5633e2b9ed6db6116df6d60c3fd224481", kill_on_drop: false }` [INFO] [stdout] 3c1519c71aa1dd71ea3e868698e878f5633e2b9ed6db6116df6d60c3fd224481