[INFO] fetching crate ftp 3.0.1...
[INFO] testing ftp-3.0.1 against 1.69.0 for beta-1.70-1
[INFO] extracting crate ftp 3.0.1 into /workspace/builds/worker-6-tc1/source
[INFO] validating manifest of crates.io crate ftp 3.0.1 on toolchain 1.69.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.69.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate ftp 3.0.1
[INFO] finished tweaking crates.io crate ftp 3.0.1
[INFO] tweaked toml for crates.io crate ftp 3.0.1 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" __CARGO_TEST_CHANNEL_OVERRIDE_DO_NOT_USE_THIS="nightly" "/workspace/cargo-home/bin/cargo" "+1.69.0" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.69.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded chrono v0.2.25
[INFO] [stderr]   Downloaded openssl v0.9.24
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0ec8b1fb59bbd7f31ab70f86e5463d7616f57f4da39041b21df21abd0ee8ecd4
[INFO] running `Command { std: "docker" "start" "-a" "0ec8b1fb59bbd7f31ab70f86e5463d7616f57f4da39041b21df21abd0ee8ecd4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0ec8b1fb59bbd7f31ab70f86e5463d7616f57f4da39041b21df21abd0ee8ecd4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0ec8b1fb59bbd7f31ab70f86e5463d7616f57f4da39041b21df21abd0ee8ecd4", kill_on_drop: false }`
[INFO] [stdout] 0ec8b1fb59bbd7f31ab70f86e5463d7616f57f4da39041b21df21abd0ee8ecd4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5d66a74a22d4a3f218c9e67353df913c56a737ce82fece93f78716b029f65ae7
[INFO] running `Command { std: "docker" "start" "-a" "5d66a74a22d4a3f218c9e67353df913c56a737ce82fece93f78716b029f65ae7", kill_on_drop: false }`
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]    Compiling num-integer v0.1.45
[INFO] [stderr]    Compiling num-iter v0.1.43
[INFO] [stderr]    Compiling winapi v0.2.8
[INFO] [stderr]    Compiling regex-syntax v0.3.9
[INFO] [stderr]    Compiling utf8-ranges v0.1.3
[INFO] [stderr]    Compiling lazy_static v0.1.16
[INFO] [stderr]    Compiling memchr v0.1.11
[INFO] [stderr]    Compiling aho-corasick v0.5.3
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]    Compiling thread-id v2.0.0
[INFO] [stderr]    Compiling thread_local v0.2.7
[INFO] [stderr]    Compiling num v0.1.42
[INFO] [stderr]    Compiling regex v0.1.80
[INFO] [stderr]    Compiling chrono v0.2.25
[INFO] [stderr]    Compiling ftp v3.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |         try!(self.write_str(format!("USER {}\r\n", user)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:196:21
[INFO] [stdout]     |
[INFO] [stdout] 196 |                     try!(self.write_str(format!("PASS {}\r\n", password)));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:197:21
[INFO] [stdout]     |
[INFO] [stdout] 197 |                     try!(self.read_response(status::LOGGED_IN));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:205:9
[INFO] [stdout]     |
[INFO] [stdout] 205 |         try!(self.write_str(format!("CWD {}\r\n", path)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:211:9
[INFO] [stdout]     |
[INFO] [stdout] 211 |         try!(self.write_str("CDUP\r\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:217:9
[INFO] [stdout]     |
[INFO] [stdout] 217 |         try!(self.write_str("PWD\r\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 234 |         try!(self.write_str("NOOP\r\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 240 |         try!(self.write_str(format!("MKD {}\r\n", pathname)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 246 |         try!(self.write_str("PASV\r\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 |         let Line(_, line) = try!(self.read_response(status::PASSIVE_MODE));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:274:9
[INFO] [stdout]     |
[INFO] [stdout] 274 |         try!(self.write_str(&type_command));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:280:9
[INFO] [stdout]     |
[INFO] [stdout] 280 |         try!(self.write_str("QUIT\r\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:290:42
[INFO] [stdout]     |
[INFO] [stdout] 290 |         let data_stream = BufReader::new(try!(self.data_command(&retr_command)));
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:296:9
[INFO] [stdout]     |
[INFO] [stdout] 296 |         try!(self.write_str(format!("RNFR {}\r\n", from_name)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:299:17
[INFO] [stdout]     |
[INFO] [stdout] 299 |                 try!(self.write_str(format!("RNTO {}\r\n", to_name)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:328:50
[INFO] [stdout]     |
[INFO] [stdout] 328 |             let mut data_stream = BufReader::new(try!(self.data_command(&retr_command)));
[INFO] [stdout]     |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:359:9
[INFO] [stdout]     |
[INFO] [stdout] 359 |         try!(self.write_str(format!("RMD {}\r\n", pathname)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:365:9
[INFO] [stdout]     |
[INFO] [stdout] 365 |         try!(self.write_str(format!("DELE {}\r\n", filename)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:372:9
[INFO] [stdout]     |
[INFO] [stdout] 372 |         try!(self.read_response_in(&[status::ALREADY_OPEN, status::ABOUT_TO_SEND]));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:371:46
[INFO] [stdout]     |
[INFO] [stdout] 371 |         let mut data_stream = BufWriter::new(try!(self.data_command(&stor_command)));
[INFO] [stdout]     |                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:380:9
[INFO] [stdout]     |
[INFO] [stdout] 380 |         try!(self.put_file(filename, r));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:390:13
[INFO] [stdout]     |
[INFO] [stdout] 390 |             try!(self.read_response_in(&[open_code, status::ALREADY_OPEN]));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:389:50
[INFO] [stdout]     |
[INFO] [stdout] 389 |             let mut data_stream = BufReader::new(try!(self.data_command(&cmd)));
[INFO] [stdout]     |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:426:9
[INFO] [stdout]     |
[INFO] [stdout] 426 |         try!(self.write_str(format!("MDTM {}\r\n", pathname)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:427:32
[INFO] [stdout]     |
[INFO] [stdout] 427 |         let Line(_, content) = try!(self.read_response(status::FILE));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:450:9
[INFO] [stdout]     |
[INFO] [stdout] 450 |         try!(self.write_str(format!("SIZE {}\r\n", pathname)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:451:32
[INFO] [stdout]     |
[INFO] [stdout] 451 |         let Line(_, content) = try!(self.read_response(status::FILE));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:476:9
[INFO] [stdout]     |
[INFO] [stdout] 476 |         try!(self.reader.read_line(&mut line)
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:487:25
[INFO] [stdout]     |
[INFO] [stdout] 487 |         let code: u32 = try!(line[0..3].parse()
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ftp.rs:325:22
[INFO] [stdout]     |
[INFO] [stdout] 325 |     where F: Fn(&mut Read) -> Result<T> {
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 325 |     where F: Fn(&mut dyn Read) -> Result<T> {
[INFO] [stdout]     |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/types.rs:94:32
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/types.rs:87:59
[INFO] [stdout]    |
[INFO] [stdout] 87 |             FtpError::ConnectionError(ref ioerr) => ioerr.description(),
[INFO] [stdout]    |                                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/types.rs:90:58
[INFO] [stdout]    |
[INFO] [stdout] 90 |             FtpError::InvalidAddress(ref perr)   => perr.description(),
[INFO] [stdout]    |                                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 39 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 2.57s
[INFO] running `Command { std: "docker" "inspect" "5d66a74a22d4a3f218c9e67353df913c56a737ce82fece93f78716b029f65ae7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5d66a74a22d4a3f218c9e67353df913c56a737ce82fece93f78716b029f65ae7", kill_on_drop: false }`
[INFO] [stdout] 5d66a74a22d4a3f218c9e67353df913c56a737ce82fece93f78716b029f65ae7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bb1111de3d8f1ff887df06544b601b8f4ac6b03df2a0c0808d5d36e44c63748b
[INFO] running `Command { std: "docker" "start" "-a" "bb1111de3d8f1ff887df06544b601b8f4ac6b03df2a0c0808d5d36e44c63748b", kill_on_drop: false }`
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |         try!(self.write_str(format!("USER {}\r\n", user)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:196:21
[INFO] [stdout]     |
[INFO] [stdout] 196 |                     try!(self.write_str(format!("PASS {}\r\n", password)));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:197:21
[INFO] [stdout]     |
[INFO] [stdout] 197 |                     try!(self.read_response(status::LOGGED_IN));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:205:9
[INFO] [stdout]     |
[INFO] [stdout] 205 |         try!(self.write_str(format!("CWD {}\r\n", path)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:211:9
[INFO] [stdout]     |
[INFO] [stdout] 211 |         try!(self.write_str("CDUP\r\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:217:9
[INFO] [stdout]     |
[INFO] [stdout] 217 |         try!(self.write_str("PWD\r\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 234 |         try!(self.write_str("NOOP\r\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 240 |         try!(self.write_str(format!("MKD {}\r\n", pathname)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 246 |         try!(self.write_str("PASV\r\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 |         let Line(_, line) = try!(self.read_response(status::PASSIVE_MODE));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:274:9
[INFO] [stdout]     |
[INFO] [stdout] 274 |         try!(self.write_str(&type_command));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:280:9
[INFO] [stdout]     |
[INFO] [stdout] 280 |         try!(self.write_str("QUIT\r\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:290:42
[INFO] [stdout]     |
[INFO] [stdout] 290 |         let data_stream = BufReader::new(try!(self.data_command(&retr_command)));
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:296:9
[INFO] [stdout]     |
[INFO] [stdout] 296 |         try!(self.write_str(format!("RNFR {}\r\n", from_name)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:299:17
[INFO] [stdout]     |
[INFO] [stdout] 299 |                 try!(self.write_str(format!("RNTO {}\r\n", to_name)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:328:50
[INFO] [stdout]     |
[INFO] [stdout] 328 |             let mut data_stream = BufReader::new(try!(self.data_command(&retr_command)));
[INFO] [stdout]     |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:359:9
[INFO] [stdout]     |
[INFO] [stdout] 359 |         try!(self.write_str(format!("RMD {}\r\n", pathname)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:365:9
[INFO] [stdout]     |
[INFO] [stdout] 365 |         try!(self.write_str(format!("DELE {}\r\n", filename)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:372:9
[INFO] [stdout]     |
[INFO] [stdout] 372 |         try!(self.read_response_in(&[status::ALREADY_OPEN, status::ABOUT_TO_SEND]));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:371:46
[INFO] [stdout]     |
[INFO] [stdout] 371 |         let mut data_stream = BufWriter::new(try!(self.data_command(&stor_command)));
[INFO] [stdout]     |                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:380:9
[INFO] [stdout]     |
[INFO] [stdout] 380 |         try!(self.put_file(filename, r));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:390:13
[INFO] [stdout]     |
[INFO] [stdout] 390 |             try!(self.read_response_in(&[open_code, status::ALREADY_OPEN]));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:389:50
[INFO] [stdout]     |
[INFO] [stdout] 389 |             let mut data_stream = BufReader::new(try!(self.data_command(&cmd)));
[INFO] [stdout]     |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:426:9
[INFO] [stdout]     |
[INFO] [stdout] 426 |         try!(self.write_str(format!("MDTM {}\r\n", pathname)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:427:32
[INFO] [stdout]     |
[INFO] [stdout] 427 |         let Line(_, content) = try!(self.read_response(status::FILE));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:450:9
[INFO] [stdout]     |
[INFO] [stdout] 450 |         try!(self.write_str(format!("SIZE {}\r\n", pathname)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:451:32
[INFO] [stdout]     |
[INFO] [stdout] 451 |         let Line(_, content) = try!(self.read_response(status::FILE));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:476:9
[INFO] [stdout]     |
[INFO] [stdout] 476 |         try!(self.reader.read_line(&mut line)
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:487:25
[INFO] [stdout]     |
[INFO] [stdout] 487 |         let code: u32 = try!(line[0..3].parse()
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ftp.rs:325:22
[INFO] [stdout]     |
[INFO] [stdout] 325 |     where F: Fn(&mut Read) -> Result<T> {
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 325 |     where F: Fn(&mut dyn Read) -> Result<T> {
[INFO] [stdout]     |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/types.rs:94:32
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/types.rs:87:59
[INFO] [stdout]    |
[INFO] [stdout] 87 |             FtpError::ConnectionError(ref ioerr) => ioerr.description(),
[INFO] [stdout]    |                                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/types.rs:90:58
[INFO] [stdout]    |
[INFO] [stdout] 90 |             FtpError::InvalidAddress(ref perr)   => perr.description(),
[INFO] [stdout]    |                                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling ftp v3.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: 39 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 192 |         try!(self.write_str(format!("USER {}\r\n", user)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:196:21
[INFO] [stdout]     |
[INFO] [stdout] 196 |                     try!(self.write_str(format!("PASS {}\r\n", password)));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:197:21
[INFO] [stdout]     |
[INFO] [stdout] 197 |                     try!(self.read_response(status::LOGGED_IN));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:205:9
[INFO] [stdout]     |
[INFO] [stdout] 205 |         try!(self.write_str(format!("CWD {}\r\n", path)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:211:9
[INFO] [stdout]     |
[INFO] [stdout] 211 |         try!(self.write_str("CDUP\r\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:217:9
[INFO] [stdout]     |
[INFO] [stdout] 217 |         try!(self.write_str("PWD\r\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 234 |         try!(self.write_str("NOOP\r\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:240:9
[INFO] [stdout]     |
[INFO] [stdout] 240 |         try!(self.write_str(format!("MKD {}\r\n", pathname)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 246 |         try!(self.write_str("PASV\r\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:248:29
[INFO] [stdout]     |
[INFO] [stdout] 248 |         let Line(_, line) = try!(self.read_response(status::PASSIVE_MODE));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:274:9
[INFO] [stdout]     |
[INFO] [stdout] 274 |         try!(self.write_str(&type_command));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:280:9
[INFO] [stdout]     |
[INFO] [stdout] 280 |         try!(self.write_str("QUIT\r\n"));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:290:42
[INFO] [stdout]     |
[INFO] [stdout] 290 |         let data_stream = BufReader::new(try!(self.data_command(&retr_command)));
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:296:9
[INFO] [stdout]     |
[INFO] [stdout] 296 |         try!(self.write_str(format!("RNFR {}\r\n", from_name)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:299:17
[INFO] [stdout]     |
[INFO] [stdout] 299 |                 try!(self.write_str(format!("RNTO {}\r\n", to_name)));
[INFO] [stdout]     |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:328:50
[INFO] [stdout]     |
[INFO] [stdout] 328 |             let mut data_stream = BufReader::new(try!(self.data_command(&retr_command)));
[INFO] [stdout]     |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:359:9
[INFO] [stdout]     |
[INFO] [stdout] 359 |         try!(self.write_str(format!("RMD {}\r\n", pathname)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:365:9
[INFO] [stdout]     |
[INFO] [stdout] 365 |         try!(self.write_str(format!("DELE {}\r\n", filename)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:372:9
[INFO] [stdout]     |
[INFO] [stdout] 372 |         try!(self.read_response_in(&[status::ALREADY_OPEN, status::ABOUT_TO_SEND]));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:371:46
[INFO] [stdout]     |
[INFO] [stdout] 371 |         let mut data_stream = BufWriter::new(try!(self.data_command(&stor_command)));
[INFO] [stdout]     |                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:380:9
[INFO] [stdout]     |
[INFO] [stdout] 380 |         try!(self.put_file(filename, r));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:390:13
[INFO] [stdout]     |
[INFO] [stdout] 390 |             try!(self.read_response_in(&[open_code, status::ALREADY_OPEN]));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:389:50
[INFO] [stdout]     |
[INFO] [stdout] 389 |             let mut data_stream = BufReader::new(try!(self.data_command(&cmd)));
[INFO] [stdout]     |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:426:9
[INFO] [stdout]     |
[INFO] [stdout] 426 |         try!(self.write_str(format!("MDTM {}\r\n", pathname)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:427:32
[INFO] [stdout]     |
[INFO] [stdout] 427 |         let Line(_, content) = try!(self.read_response(status::FILE));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:450:9
[INFO] [stdout]     |
[INFO] [stdout] 450 |         try!(self.write_str(format!("SIZE {}\r\n", pathname)));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:451:32
[INFO] [stdout]     |
[INFO] [stdout] 451 |         let Line(_, content) = try!(self.read_response(status::FILE));
[INFO] [stdout]     |                                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:476:9
[INFO] [stdout]     |
[INFO] [stdout] 476 |         try!(self.reader.read_line(&mut line)
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/ftp.rs:487:25
[INFO] [stdout]     |
[INFO] [stdout] 487 |         let code: u32 = try!(line[0..3].parse()
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stdout]   --> src/ftp.rs:20:1
[INFO] [stdout]    |
[INFO] [stdout] 20 | / lazy_static! {
[INFO] [stdout] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stdout] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stdout] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stdout] ...  |
[INFO] [stdout] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stdout] 30 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ftp.rs:325:22
[INFO] [stdout]     |
[INFO] [stdout] 325 |     where F: Fn(&mut Read) -> Result<T> {
[INFO] [stdout]     |                      ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 325 |     where F: Fn(&mut dyn Read) -> Result<T> {
[INFO] [stdout]     |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/types.rs:94:32
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/types.rs:87:59
[INFO] [stdout]    |
[INFO] [stdout] 87 |             FtpError::ConnectionError(ref ioerr) => ioerr.description(),
[INFO] [stdout]    |                                                           ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/types.rs:90:58
[INFO] [stdout]    |
[INFO] [stdout] 90 |             FtpError::InvalidAddress(ref perr)   => perr.description(),
[INFO] [stdout]    |                                                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 39 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.46s
[INFO] running `Command { std: "docker" "inspect" "bb1111de3d8f1ff887df06544b601b8f4ac6b03df2a0c0808d5d36e44c63748b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bb1111de3d8f1ff887df06544b601b8f4ac6b03df2a0c0808d5d36e44c63748b", kill_on_drop: false }`
[INFO] [stdout] bb1111de3d8f1ff887df06544b601b8f4ac6b03df2a0c0808d5d36e44c63748b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 28178f804cd38dc88a1f57d214184bdcc7433e19e32e8d3112f9551fa17ac797
[INFO] running `Command { std: "docker" "start" "-a" "28178f804cd38dc88a1f57d214184bdcc7433e19e32e8d3112f9551fa17ac797", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/ftp.rs:192:9
[INFO] [stderr]     |
[INFO] [stderr] 192 |         try!(self.write_str(format!("USER {}\r\n", user)));
[INFO] [stderr]     |         ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/ftp.rs:196:21
[INFO] [stderr]     |
[INFO] [stderr] 196 |                     try!(self.write_str(format!("PASS {}\r\n", password)));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/ftp.rs:197:21
[INFO] [stderr]     |
[INFO] [stderr] 197 |                     try!(self.read_response(status::LOGGED_IN));
[INFO] [stderr]     |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/ftp.rs:205:9
[INFO] [stderr]     |
[INFO] [stderr] 205 |         try!(self.write_str(format!("CWD {}\r\n", path)));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/ftp.rs:211:9
[INFO] [stderr]     |
[INFO] [stderr] 211 |         try!(self.write_str("CDUP\r\n"));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/ftp.rs:217:9
[INFO] [stderr]     |
[INFO] [stderr] 217 |         try!(self.write_str("PWD\r\n"));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/ftp.rs:234:9
[INFO] [stderr]     |
[INFO] [stderr] 234 |         try!(self.write_str("NOOP\r\n"));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/ftp.rs:240:9
[INFO] [stderr]     |
[INFO] [stderr] 240 |         try!(self.write_str(format!("MKD {}\r\n", pathname)));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/ftp.rs:246:9
[INFO] [stderr]     |
[INFO] [stderr] 246 |         try!(self.write_str("PASV\r\n"));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/ftp.rs:248:29
[INFO] [stderr]     |
[INFO] [stderr] 248 |         let Line(_, line) = try!(self.read_response(status::PASSIVE_MODE));
[INFO] [stderr]     |                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/ftp.rs:274:9
[INFO] [stderr]     |
[INFO] [stderr] 274 |         try!(self.write_str(&type_command));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/ftp.rs:280:9
[INFO] [stderr]     |
[INFO] [stderr] 280 |         try!(self.write_str("QUIT\r\n"));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/ftp.rs:290:42
[INFO] [stderr]     |
[INFO] [stderr] 290 |         let data_stream = BufReader::new(try!(self.data_command(&retr_command)));
[INFO] [stderr]     |                                          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/ftp.rs:296:9
[INFO] [stderr]     |
[INFO] [stderr] 296 |         try!(self.write_str(format!("RNFR {}\r\n", from_name)));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/ftp.rs:299:17
[INFO] [stderr]     |
[INFO] [stderr] 299 |                 try!(self.write_str(format!("RNTO {}\r\n", to_name)));
[INFO] [stderr]     |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/ftp.rs:328:50
[INFO] [stderr]     |
[INFO] [stderr] 328 |             let mut data_stream = BufReader::new(try!(self.data_command(&retr_command)));
[INFO] [stderr]     |                                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/ftp.rs:359:9
[INFO] [stderr]     |
[INFO] [stderr] 359 |         try!(self.write_str(format!("RMD {}\r\n", pathname)));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/ftp.rs:365:9
[INFO] [stderr]     |
[INFO] [stderr] 365 |         try!(self.write_str(format!("DELE {}\r\n", filename)));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/ftp.rs:372:9
[INFO] [stderr]     |
[INFO] [stderr] 372 |         try!(self.read_response_in(&[status::ALREADY_OPEN, status::ABOUT_TO_SEND]));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/ftp.rs:371:46
[INFO] [stderr]     |
[INFO] [stderr] 371 |         let mut data_stream = BufWriter::new(try!(self.data_command(&stor_command)));
[INFO] [stderr]     |                                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/ftp.rs:380:9
[INFO] [stderr]     |
[INFO] [stderr] 380 |         try!(self.put_file(filename, r));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/ftp.rs:390:13
[INFO] [stderr]     |
[INFO] [stderr] 390 |             try!(self.read_response_in(&[open_code, status::ALREADY_OPEN]));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/ftp.rs:389:50
[INFO] [stderr]     |
[INFO] [stderr] 389 |             let mut data_stream = BufReader::new(try!(self.data_command(&cmd)));
[INFO] [stderr]     |                                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/ftp.rs:426:9
[INFO] [stderr]     |
[INFO] [stderr] 426 |         try!(self.write_str(format!("MDTM {}\r\n", pathname)));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/ftp.rs:427:32
[INFO] [stderr]     |
[INFO] [stderr] 427 |         let Line(_, content) = try!(self.read_response(status::FILE));
[INFO] [stderr]     |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/ftp.rs:450:9
[INFO] [stderr]     |
[INFO] [stderr] 450 |         try!(self.write_str(format!("SIZE {}\r\n", pathname)));
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/ftp.rs:451:32
[INFO] [stderr]     |
[INFO] [stderr] 451 |         let Line(_, content) = try!(self.read_response(status::FILE));
[INFO] [stderr]     |                                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/ftp.rs:476:9
[INFO] [stderr]     |
[INFO] [stderr] 476 |         try!(self.reader.read_line(&mut line)
[INFO] [stderr]     |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/ftp.rs:487:25
[INFO] [stderr]     |
[INFO] [stderr] 487 |         let code: u32 = try!(line[0..3].parse()
[INFO] [stderr]     |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `new` function is now preferred
[INFO] [stderr]   --> src/ftp.rs:20:1
[INFO] [stderr]    |
[INFO] [stderr] 20 | / lazy_static! {
[INFO] [stderr] 21 | |     // This regex extracts IP and Port details from PASV command response.
[INFO] [stderr] 22 | |     // The regex looks for the pattern (h1,h2,h3,h4,p1,p2).
[INFO] [stderr] 23 | |     static ref PORT_RE: Regex = Regex::new(r"\((\d+),(\d+),(\d+),(\d+),(\d+),(\d+)\)").unwrap();
[INFO] [stderr] ...  |
[INFO] [stderr] 29 | |     static ref SIZE_RE: Regex = Regex::new(r"\s+(\d+)\s*$").unwrap();
[INFO] [stderr] 30 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/ftp.rs:325:22
[INFO] [stderr]     |
[INFO] [stderr] 325 |     where F: Fn(&mut Read) -> Result<T> {
[INFO] [stderr]     |                      ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 325 |     where F: Fn(&mut dyn Read) -> Result<T> {
[INFO] [stderr]     |                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/types.rs:94:32
[INFO] [stderr]    |
[INFO] [stderr] 94 |     fn cause(&self) -> Option<&Error> {
[INFO] [stderr]    |                                ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 94 |     fn cause(&self) -> Option<&dyn Error> {
[INFO] [stderr]    |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/types.rs:87:59
[INFO] [stderr]    |
[INFO] [stderr] 87 |             FtpError::ConnectionError(ref ioerr) => ioerr.description(),
[INFO] [stderr]    |                                                           ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stderr]   --> src/types.rs:90:58
[INFO] [stderr]    |
[INFO] [stderr] 90 |             FtpError::InvalidAddress(ref perr)   => perr.description(),
[INFO] [stderr]    |                                                          ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `ftp` (lib) generated 39 warnings (5 duplicates) (run `cargo fix --lib -p ftp` to apply 2 suggestions)
[INFO] [stderr] warning: `ftp` (lib test) generated 39 warnings (39 duplicates)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.02s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ftp-2fc3c452c5eb38c0)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/lib.rs (/opt/rustwide/target/debug/deps/lib-f1c253e836c41bfe)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test test_ftp ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test_ftp stdout ----
[INFO] [stdout] thread 'test_ftp' panicked at 'called `Result::unwrap()` on an `Err` value: ConnectionError(Os { code: 111, kind: ConnectionRefused, message: "Connection refused" })', tests/lib.rs:10:61
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x560ddbde229a - std::backtrace_rs::backtrace::libunwind::trace::ha9053a9a07ca49cb
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
[INFO] [stdout]    1:     0x560ddbde229a - std::backtrace_rs::backtrace::trace_unsynchronized::h9c2852a457ad564e
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x560ddbde229a - std::sys_common::backtrace::_print_fmt::h457936fbfaa0070f
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:65:5
[INFO] [stdout]    3:     0x560ddbde229a - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h5779d7bf7f70cb0c
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:44:22
[INFO] [stdout]    4:     0x560ddbe0727e - core::fmt::write::h5a4baaff1bcd3eb5
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/fmt/mod.rs:1232:17
[INFO] [stdout]    5:     0x560ddbddf2e5 - std::io::Write::write_fmt::h478f79c628ef31d1
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/io/mod.rs:1684:15
[INFO] [stdout]    6:     0x560ddbde2065 - std::sys_common::backtrace::_print::h5fcdc36060f177e8
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:47:5
[INFO] [stdout]    7:     0x560ddbde2065 - std::sys_common::backtrace::print::h54ca9458b876c8bf
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:34:9
[INFO] [stdout]    8:     0x560ddbde3e2f - std::panicking::default_hook::{{closure}}::hbe471161c7664ed6
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:271:22
[INFO] [stdout]    9:     0x560ddbde3aef - std::panicking::default_hook::ha3500da57aa4ac4f
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:287:9
[INFO] [stdout]   10:     0x560ddbcd0ff7 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hdf1b89dd137ece34
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/alloc/src/boxed.rs:2001:9
[INFO] [stdout]   11:     0x560ddbcd0ff7 - test::test_main::{{closure}}::h9081a79f20e75698
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/test/src/lib.rs:135:21
[INFO] [stdout]   12:     0x560ddbde455d - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h6507bddc3eebb4a5
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/alloc/src/boxed.rs:2001:9
[INFO] [stdout]   13:     0x560ddbde455d - std::panicking::rust_panic_with_hook::h50c09d000dc561d2
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:696:13
[INFO] [stdout]   14:     0x560ddbde42d9 - std::panicking::begin_panic_handler::{{closure}}::h9e2b2176e00e0d9c
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:583:13
[INFO] [stdout]   15:     0x560ddbde2706 - std::sys_common::backtrace::__rust_end_short_backtrace::h5739b8e512c09d02
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:150:18
[INFO] [stdout]   16:     0x560ddbde3fe2 - rust_begin_unwind
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:579:5
[INFO] [stdout]   17:     0x560ddbc9cd13 - core::panicking::panic_fmt::hf33a1475b4dc5c3e
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/panicking.rs:64:14
[INFO] [stdout]   18:     0x560ddbc9d1c3 - core::result::unwrap_failed::hdff5465d74574b44
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/result.rs:1750:5
[INFO] [stdout]   19:     0x560ddbc9fca9 - core::result::Result<T,E>::unwrap::h1367ed519d013aa6
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/result.rs:1090:23
[INFO] [stdout]   20:     0x560ddbca0fad - lib::test_ftp::h3dacea18710453fc
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/lib.rs:10:26
[INFO] [stdout]   21:     0x560ddbca0f57 - lib::test_ftp::{{closure}}::h13337390260f7e15
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/lib.rs:9:15
[INFO] [stdout]   22:     0x560ddbc9f175 - core::ops::function::FnOnce::call_once::he23a768b66221f9e
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x560ddbcd63df - core::ops::function::FnOnce::call_once::h7d969581be7d0075
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x560ddbcd63df - test::__rust_begin_short_backtrace::hca25a52684e56655
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/test/src/lib.rs:656:18
[INFO] [stdout]   25:     0x560ddbca79fc - test::run_test::{{closure}}::ha8ac744c4af1a4bb
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/test/src/lib.rs:647:30
[INFO] [stdout]   26:     0x560ddbca79fc - core::ops::function::FnOnce::call_once{{vtable.shim}}::h7b411a9ed45bdecf
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x560ddbcd53a6 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hd05328869a8ed200
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/alloc/src/boxed.rs:1987:9
[INFO] [stdout]   28:     0x560ddbcd53a6 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h0c601ce20bd5b2be
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/panic/unwind_safe.rs:271:9
[INFO] [stdout]   29:     0x560ddbcd53a6 - std::panicking::try::do_call::ha4be5c164fe30854
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:487:40
[INFO] [stdout]   30:     0x560ddbcd53a6 - std::panicking::try::h604546f3609af05f
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:451:19
[INFO] [stdout]   31:     0x560ddbcd53a6 - std::panic::catch_unwind::h5bfa8afe44c9c2f9
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panic.rs:140:14
[INFO] [stdout]   32:     0x560ddbcd53a6 - test::run_test_in_process::hd50dee55dd63e6aa
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/test/src/lib.rs:679:27
[INFO] [stdout]   33:     0x560ddbcd53a6 - test::run_test::run_test_inner::{{closure}}::h4aa0f433aa85cea8
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/test/src/lib.rs:573:39
[INFO] [stdout]   34:     0x560ddbca2071 - test::run_test::run_test_inner::{{closure}}::had56431adf24b4d6
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/test/src/lib.rs:600:37
[INFO] [stdout]   35:     0x560ddbca2071 - std::sys_common::backtrace::__rust_begin_short_backtrace::ha8d9890e0c73bf13
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys_common/backtrace.rs:134:18
[INFO] [stdout]   36:     0x560ddbca7a8b - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h251832bcb4a95327
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/thread/mod.rs:560:17
[INFO] [stdout]   37:     0x560ddbca7a8b - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h8fdff598fa414831
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/panic/unwind_safe.rs:271:9
[INFO] [stdout]   38:     0x560ddbca7a8b - std::panicking::try::do_call::h455dd2f7764a950f
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:487:40
[INFO] [stdout]   39:     0x560ddbca7a8b - std::panicking::try::had6f23b7b73ae72a
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panicking.rs:451:19
[INFO] [stdout]   40:     0x560ddbca7a8b - std::panic::catch_unwind::ha6a5ca3915b4dad0
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/panic.rs:140:14
[INFO] [stdout]   41:     0x560ddbca7a8b - std::thread::Builder::spawn_unchecked_::{{closure}}::h883b72ef75da6231
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/thread/mod.rs:559:30
[INFO] [stdout]   42:     0x560ddbca7a8b - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb7dff73dc8bd2ccb
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   43:     0x560ddbde88f3 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h39990b24eedef2ab
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/alloc/src/boxed.rs:1987:9
[INFO] [stdout]   44:     0x560ddbde88f3 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h01a027258444143b
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/alloc/src/boxed.rs:1987:9
[INFO] [stdout]   45:     0x560ddbde88f3 - std::sys::unix::thread::Thread::new::thread_start::ha4f1cdd9c25884ba
[INFO] [stdout]                                at /rustc/84c898d65adf2f39a5a98507f1fe0ce10a2b8dbc/library/std/src/sys/unix/thread.rs:108:17
[INFO] [stdout]   46:     0x7f712ee1db43 - <unknown>
[INFO] [stdout]   47:     0x7f712eeaebb4 - __clone
[INFO] [stdout]   48:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     test_ftp
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test lib`
[INFO] running `Command { std: "docker" "inspect" "28178f804cd38dc88a1f57d214184bdcc7433e19e32e8d3112f9551fa17ac797", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "28178f804cd38dc88a1f57d214184bdcc7433e19e32e8d3112f9551fa17ac797", kill_on_drop: false }`
[INFO] [stdout] 28178f804cd38dc88a1f57d214184bdcc7433e19e32e8d3112f9551fa17ac797
