[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] 14115178270391e4bf117236732152b9a8222f84
[INFO] checking rakshithvk19/rax-ftp-client against master#350d0ef0ec0493e6d21cfb265cb8211a0e74d766 for pr-145342
[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] 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] cb6ef19fc0336433d639733a0efde3b98b72012395c6c5951489a1f47b427127
[INFO] running `Command { std: "docker" "start" "-a" "cb6ef19fc0336433d639733a0efde3b98b72012395c6c5951489a1f47b427127", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cb6ef19fc0336433d639733a0efde3b98b72012395c6c5951489a1f47b427127", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cb6ef19fc0336433d639733a0efde3b98b72012395c6c5951489a1f47b427127", kill_on_drop: false }`
[INFO] [stdout] cb6ef19fc0336433d639733a0efde3b98b72012395c6c5951489a1f47b427127
[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] 8b62fe42fda746a16938ecf40c6ae56067094cde96ba1f5e6aa8410adcb12714
[INFO] running `Command { std: "docker" "start" "-a" "8b62fe42fda746a16938ecf40c6ae56067094cde96ba1f5e6aa8410adcb12714", 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 hashbrown v0.15.4
[INFO] [stderr]     Checking equivalent v1.0.2
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.1
[INFO] [stderr]     Checking log v0.4.27
[INFO] [stderr]     Checking winnow v0.7.11
[INFO] [stderr]     Checking toml_write v0.1.2
[INFO] [stderr]     Checking anstyle-query v1.1.3
[INFO] [stderr]     Checking colorchoice v1.0.4
[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 indexmap v2.10.0
[INFO] [stderr]     Checking aho-corasick v1.1.3
[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:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | 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:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | 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: method `is_connected` is never used
[INFO] [stdout]    --> src/connection/data.rs:308:12
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl DataConnection {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 308 |     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<String>,
[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:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn validate_listing_format(listing: &[String]) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `update` and `total_bytes` are never used
[INFO] [stdout]   --> src/transfer/progress.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl TransferProgress {
[INFO] [stdout]    | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn update(&mut self, bytes_transferred: u64) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn total_bytes(&self) -> 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: method `is_connected` is never used
[INFO] [stdout]    --> src/connection/data.rs:308:12
[INFO] [stdout]     |
[INFO] [stdout]  47 | impl DataConnection {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 308 |     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<String>,
[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: methods `update` and `total_bytes` are never used
[INFO] [stdout]   --> src/transfer/progress.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl TransferProgress {
[INFO] [stdout]    | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn update(&mut self, bytes_transferred: u64) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn total_bytes(&self) -> u64 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 14.17s
[INFO] running `Command { std: "docker" "inspect" "8b62fe42fda746a16938ecf40c6ae56067094cde96ba1f5e6aa8410adcb12714", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8b62fe42fda746a16938ecf40c6ae56067094cde96ba1f5e6aa8410adcb12714", kill_on_drop: false }`
[INFO] [stdout] 8b62fe42fda746a16938ecf40c6ae56067094cde96ba1f5e6aa8410adcb12714
