[INFO] fetching crate outer_cgi 0.2.0... [INFO] checking outer_cgi-0.2.0 against try#8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 for pr-82565 [INFO] extracting crate outer_cgi 0.2.0 into /workspace/builds/worker-0/source [INFO] validating manifest of crates.io crate outer_cgi 0.2.0 on toolchain 8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate outer_cgi 0.2.0 [INFO] finished tweaking crates.io crate outer_cgi 0.2.0 [INFO] tweaked toml for crates.io crate outer_cgi 0.2.0 written to /workspace/builds/worker-0/source/Cargo.toml [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }` [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c0a35f1de2dc72aeb2420cd247ec495287e3c5c0145aed754095ce482f03fc25 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "c0a35f1de2dc72aeb2420cd247ec495287e3c5c0145aed754095ce482f03fc25", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c0a35f1de2dc72aeb2420cd247ec495287e3c5c0145aed754095ce482f03fc25", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c0a35f1de2dc72aeb2420cd247ec495287e3c5c0145aed754095ce482f03fc25", kill_on_drop: false }` [INFO] [stdout] c0a35f1de2dc72aeb2420cd247ec495287e3c5c0145aed754095ce482f03fc25 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:f2f6bcd4b43ebee4e173f653a26493129bdb64017c85f916b780ca7fbdbaa79d" "/opt/rustwide/cargo-home/bin/cargo" "+8e3afc79c11f48cb3acd1be5b3b7de98fe3f93a8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3f21a4211dba420ac2f17a1014caf30d27826088a0db4c7cd8a915ebe6b49c74 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "3f21a4211dba420ac2f17a1014caf30d27826088a0db4c7cd8a915ebe6b49c74", kill_on_drop: false }` [INFO] [stderr] Compiling maybe-uninit v2.0.0 [INFO] [stderr] Compiling arrayvec v0.4.12 [INFO] [stderr] Checking nodrop v0.1.14 [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Checking scopeguard v0.3.3 [INFO] [stderr] Checking memoffset v0.2.1 [INFO] [stderr] Checking crossbeam-utils v0.3.2 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking iovec v0.1.4 [INFO] [stderr] Checking nix v0.20.0 [INFO] [stderr] Checking owning_ref v0.3.3 [INFO] [stderr] Checking bytes v0.4.12 [INFO] [stderr] Checking smallvec v0.6.14 [INFO] [stderr] Checking nix v0.10.0 [INFO] [stderr] Checking crossbeam-epoch v0.4.3 [INFO] [stderr] Checking parking_lot_core v0.2.14 [INFO] [stderr] Checking parking_lot v0.5.5 [INFO] [stderr] Checking crossbeam-channel v0.1.3 [INFO] [stderr] Checking ctrlc v3.1.8 [INFO] [stderr] Checking outer_cgi v0.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/unix.rs:106:60 [INFO] [stdout] | [INFO] [stdout] 106 | pub fn fix_fds(env: &HashMap) -> Option> { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Listener` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/unix.rs:106:60 [INFO] [stdout] | [INFO] [stdout] 106 | pub fn fix_fds(env: &HashMap) -> Option> { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Listener` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/fcgi.rs:451:22 [INFO] [stdout] | [INFO] [stdout] 451 | where H: Fn(&mut IO, HashMap) [INFO] [stdout] | ^^ help: use `dyn`: `dyn IO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/fcgi.rs:451:22 [INFO] [stdout] | [INFO] [stdout] 451 | where H: Fn(&mut IO, HashMap) [INFO] [stdout] | ^^ help: use `dyn`: `dyn IO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/fcgi.rs:479:22 [INFO] [stdout] | [INFO] [stdout] 479 | where H: Fn(&mut IO, HashMap) -> io::Result { [INFO] [stdout] | ^^ help: use `dyn`: `dyn IO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/fcgi.rs:479:22 [INFO] [stdout] | [INFO] [stdout] 479 | where H: Fn(&mut IO, HashMap) -> io::Result { [INFO] [stdout] | ^^ help: use `dyn`: `dyn IO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/fcgi.rs:640:28 [INFO] [stdout] | [INFO] [stdout] 640 | where H: 'static + Fn(&mut IO, HashMap) -> io::Result [INFO] [stdout] | ^^ help: use `dyn`: `dyn IO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/fcgi.rs:640:28 [INFO] [stdout] | [INFO] [stdout] 640 | where H: 'static + Fn(&mut IO, HashMap) -> io::Result [INFO] [stdout] | ^^ help: use `dyn`: `dyn IO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/fcgi.rs:636:41 [INFO] [stdout] | [INFO] [stdout] 636 | pub fn listen_loop(mut listener: Box, handler: H, [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Listener` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/options.rs:37:60 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn fix_fds(env: &HashMap) -> Option> { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Listener` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/options.rs:161:53 [INFO] [stdout] | [INFO] [stdout] 161 | pub fn handle_command_line<'a>(handlers: &mut [&mut OptionHandler], [INFO] [stdout] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn OptionHandler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:223:28 [INFO] [stdout] | [INFO] [stdout] 223 | H: 'static + Fn(&mut IO, HashMap) -> io::Result [INFO] [stdout] | ^^ help: use `dyn`: `dyn IO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:237:28 [INFO] [stdout] | [INFO] [stdout] 237 | H: 'static + Fn(&mut IO, HashMap) -> io::Result [INFO] [stdout] | ^^ help: use `dyn`: `dyn IO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:296:39 [INFO] [stdout] | [INFO] [stdout] 296 | let listener: Box = [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Listener` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/fcgi.rs:636:41 [INFO] [stdout] | [INFO] [stdout] 636 | pub fn listen_loop(mut listener: Box, handler: H, [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Listener` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/options.rs:37:60 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn fix_fds(env: &HashMap) -> Option> { [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Listener` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/options.rs:161:53 [INFO] [stdout] | [INFO] [stdout] 161 | pub fn handle_command_line<'a>(handlers: &mut [&mut OptionHandler], [INFO] [stdout] | ^^^^^^^^^^^^^ help: use `dyn`: `dyn OptionHandler` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:223:28 [INFO] [stdout] | [INFO] [stdout] 223 | H: 'static + Fn(&mut IO, HashMap) -> io::Result [INFO] [stdout] | ^^ help: use `dyn`: `dyn IO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:237:28 [INFO] [stdout] | [INFO] [stdout] 237 | H: 'static + Fn(&mut IO, HashMap) -> io::Result [INFO] [stdout] | ^^ help: use `dyn`: `dyn IO` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/lib.rs:296:39 [INFO] [stdout] | [INFO] [stdout] 296 | let listener: Box = [INFO] [stdout] | ^^^^^^^^ help: use `dyn`: `dyn Listener` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/fcgi.rs:121:36 [INFO] [stdout] | [INFO] [stdout] 121 | let mut b1: [u8; 1] = unsafe { std::mem::uninitialized() }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/fcgi.rs:130:40 [INFO] [stdout] | [INFO] [stdout] 130 | let mut b2: [u8; 3] = unsafe { std::mem::uninitialized() }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/fcgi.rs:317:35 [INFO] [stdout] | [INFO] [stdout] 317 | recvbuf: unsafe { std::mem::uninitialized() }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/fcgi.rs:325:31 [INFO] [stdout] | [INFO] [stdout] 325 | sendbuf: unsafe { std::mem::uninitialized() }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/fcgi.rs:121:36 [INFO] [stdout] | [INFO] [stdout] 121 | let mut b1: [u8; 1] = unsafe { std::mem::uninitialized() }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/fcgi.rs:130:40 [INFO] [stdout] | [INFO] [stdout] 130 | let mut b2: [u8; 3] = unsafe { std::mem::uninitialized() }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/fcgi.rs:317:35 [INFO] [stdout] | [INFO] [stdout] 317 | recvbuf: unsafe { std::mem::uninitialized() }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated function `std::mem::uninitialized`: use `mem::MaybeUninit` instead [INFO] [stdout] --> src/fcgi.rs:325:31 [INFO] [stdout] | [INFO] [stdout] 325 | sendbuf: unsafe { std::mem::uninitialized() }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lib.rs:337:25 [INFO] [stdout] | [INFO] [stdout] 337 | let mut listener [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/lib.rs:337:25 [INFO] [stdout] | [INFO] [stdout] 337 | let mut listener [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: unused return value of `Result::::is_ok` that must be used [INFO] [stdout] --> src/unix.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | nix::unistd::close(write_fd).is_ok(); // ignore error [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Result::::is_ok` that must be used [INFO] [stdout] --> src/unix.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 63 | nix::unistd::close(write_fd).is_ok(); // ignore result [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Result::::is_ok` that must be used [INFO] [stdout] --> src/unix.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | nix::unistd::close(read_fd).is_ok(); // ignore result [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Result::::is_ok` that must be used [INFO] [stdout] --> src/fcgi.rs:677:13 [INFO] [stdout] | [INFO] [stdout] 677 | listen_tx.send(to_send).is_ok(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Result::::is_ok` that must be used [INFO] [stdout] --> src/unix.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 45 | nix::unistd::close(write_fd).is_ok(); // ignore error [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Result::::is_ok` that must be used [INFO] [stdout] --> src/unix.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 63 | nix::unistd::close(write_fd).is_ok(); // ignore result [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Result::::is_ok` that must be used [INFO] [stdout] --> src/unix.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 82 | nix::unistd::close(read_fd).is_ok(); // ignore result [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Result::::is_ok` that must be used [INFO] [stdout] --> src/fcgi.rs:677:13 [INFO] [stdout] | [INFO] [stdout] 677 | listen_tx.send(to_send).is_ok(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this is ok, consider `.unwrap()` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 19 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 19 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:12:21 [INFO] [stdout] | [INFO] [stdout] 12 | fn handler(io: &mut IO, env: HashMap) -> io::Result { [INFO] [stdout] | ^^ help: use `dyn`: `dyn IO` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stdout] --> src/main.rs:12:21 [INFO] [stdout] | [INFO] [stdout] 12 | fn handler(io: &mut IO, env: HashMap) -> io::Result { [INFO] [stdout] | ^^ help: use `dyn`: `dyn IO` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 12.95s [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "3f21a4211dba420ac2f17a1014caf30d27826088a0db4c7cd8a915ebe6b49c74", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3f21a4211dba420ac2f17a1014caf30d27826088a0db4c7cd8a915ebe6b49c74", kill_on_drop: false }` [INFO] [stdout] 3f21a4211dba420ac2f17a1014caf30d27826088a0db4c7cd8a915ebe6b49c74