[INFO] fetching crate specinfra 0.3.0...
[INFO] building specinfra-0.3.0 against master#ad85bc524b1ad696e42061ad8338d382dffbdbe5 for pr-146237-1
[INFO] extracting crate specinfra 0.3.0 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate specinfra 0.3.0
[INFO] finished tweaking crates.io crate specinfra 0.3.0
[INFO] tweaked toml for crates.io crate specinfra 0.3.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate specinfra 0.3.0 on toolchain ad85bc524b1ad696e42061ad8338d382dffbdbe5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 26 packages to latest compatible versions
[INFO] [stderr]       Adding md5 v0.3.8 (available: v0.8.0)
[INFO] [stderr]       Adding nix v0.9.0 (available: v0.30.1)
[INFO] [stderr]       Adding sha2 v0.6.0 (available: v0.10.9)
[INFO] [stderr]       Adding ssh2 v0.3.3 (available: v0.9.5)
[INFO] [stderr]       Adding users v0.5.3 (available: v0.11.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded users v0.5.3
[INFO] [stderr]   Downloaded uname v0.1.1
[INFO] [stderr]   Downloaded byte-tools v0.2.0
[INFO] [stderr]   Downloaded ssh2 v0.3.3
[INFO] [stderr]   Downloaded block-buffer v0.2.0
[INFO] [stderr]   Downloaded digest v0.6.1
[INFO] [stderr]   Downloaded generic-array v0.8.4
[INFO] [stderr]   Downloaded bitflags v0.9.1
[INFO] [stderr]   Downloaded sha2 v0.6.0
[INFO] [stderr]   Downloaded bitflags v0.7.0
[INFO] [stderr]   Downloaded nix v0.9.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8100e00d0ea95e0dc8ece4aaff22d68f729e2511f227b54e718038d9aed483f4
[INFO] running `Command { std: "docker" "start" "-a" "8100e00d0ea95e0dc8ece4aaff22d68f729e2511f227b54e718038d9aed483f4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8100e00d0ea95e0dc8ece4aaff22d68f729e2511f227b54e718038d9aed483f4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8100e00d0ea95e0dc8ece4aaff22d68f729e2511f227b54e718038d9aed483f4", kill_on_drop: false }`
[INFO] [stdout] 8100e00d0ea95e0dc8ece4aaff22d68f729e2511f227b54e718038d9aed483f4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9cbf0590eafaac99c1810721edcb2b72f45a2a8f78a267f35f6f87f10cadc111
[INFO] running `Command { std: "docker" "start" "-a" "9cbf0590eafaac99c1810721edcb2b72f45a2a8f78a267f35f6f87f10cadc111", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling generic-array v0.8.4
[INFO] [stderr]    Compiling libssh2-sys v0.2.23
[INFO] [stderr]    Compiling byte-tools v0.2.0
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling bitflags v0.9.1
[INFO] [stderr]    Compiling bitflags v0.7.0
[INFO] [stderr]    Compiling users v0.5.3
[INFO] [stderr]    Compiling uname v0.1.1
[INFO] [stderr]    Compiling md5 v0.3.8
[INFO] [stderr]    Compiling nix v0.9.0
[INFO] [stderr]    Compiling digest v0.6.1
[INFO] [stderr]    Compiling block-buffer v0.2.0
[INFO] [stderr]    Compiling sha2 v0.6.0
[INFO] [stderr]    Compiling ssh2 v0.3.3
[INFO] [stderr]    Compiling specinfra v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/direct.rs:53:19
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let out = try!(Command::new("sh").args(&["-c", c]).output());
[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/backend/direct.rs:54:19
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let res = try!(String::from_utf8(out.stdout));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/ssh.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         try!(session.handshake(&tcp));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/ssh.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |         try!(session.userauth_agent(&user));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/ssh.rs:42:19
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let tcp = try!(TcpStream::connect(remote_addr));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/ssh.rs:45:20
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let user = try!(env::var("USER"));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/ssh.rs:78:24
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let mut chan = try!(self.session.channel_session());
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/backend/mod.rs:13:22
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn handle(&self, Box<HandleFunc>) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Box<HandleFunc>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/backend/mod.rs:14:27
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn run_command(&self, &str) -> Result<String, Box<Error>>;
[INFO] [stdout]    |                           ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/platform/platform.rs:10:30
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn shell_detector(&self, &Backend) -> Option<Box<Platform>>;
[INFO] [stdout]    |                              ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Backend`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:13:23
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn is_file(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                       ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn exist(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                     ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:15:28
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn is_directory(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                            ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:16:31
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn is_block_device(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                               ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:17:35
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn is_character_device(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                                   ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn is_pipe(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                       ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:19:25
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn is_socket(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                         ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:20:26
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn is_symlink(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                          ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:21:24
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn contents(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                        ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:22:20
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn mode(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                    ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:23:21
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn owner(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                     ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn group(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                     ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:25:25
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn linked_to(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                         ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:26:27
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn is_readable(&self, &str, Option<&Whom>) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                           ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:26:33
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn is_readable(&self, &str, Option<&Whom>) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Option<&Whom>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:27:27
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn is_writable(&self, &str, Option<&Whom>) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                           ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:27:33
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn is_writable(&self, &str, Option<&Whom>) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Option<&Whom>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:28:22
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn md5sum(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                      ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:29:25
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn sha256sum(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                         ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:30:29
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn selinux_label(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                             ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:31:20
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn size(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                    ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:27:19
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let uid = try!(fs::metadata(name).map(|m| MetadataExt::uid(&m)));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let owner = try!(users::get_user_by_uid(uid)
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:34:19
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let gid = try!(fs::metadata(name).map(|m| MetadataExt::gid(&m)));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:35:21
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let group = try!(users::get_group_by_gid(gid)
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         try!(buf_reader.read_to_string(&mut contents));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:41:20
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let file = try!(fs::File::open(name));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:51:26
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let file_owner = try!(self.file_owner(name));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:56:30
[INFO] [stdout]    |
[INFO] [stdout] 56 |             let file_group = try!(self.file_group(name));
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:67:26
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let file_owner = try!(self.file_owner(name));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:72:30
[INFO] [stdout]    |
[INFO] [stdout] 72 |             let file_group = try!(self.file_group(name));
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:85:19
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let res = try!(fs::metadata(name).map(|m| Output::U32(m.permissions().mode())));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:90:19
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let res = try!(fs::metadata(name).map(|m| Output::Bool(m.is_file())));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:100:19
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let res = try!(fs::metadata(name).map(|m| Output::Bool(m.is_dir())));
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:105:19
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let res = try!(fs::metadata(name)
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:111:19
[INFO] [stdout]     |
[INFO] [stdout] 111 |         let res = try!(fs::metadata(name)
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:117:19
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let res = try!(fs::metadata(name)
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:123:19
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let res = try!(fs::metadata(name)
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:129:19
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let res = try!(fs::symlink_metadata(name)
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:135:30
[INFO] [stdout]     |
[INFO] [stdout] 135 |         let string_content = try!(self.file_content(name));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:141:21
[INFO] [stdout]     |
[INFO] [stdout] 141 |         let owner = try!(self.file_owner(name));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:146:21
[INFO] [stdout]     |
[INFO] [stdout] 146 |         let group = try!(self.file_group(name));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:151:29
[INFO] [stdout]     |
[INFO] [stdout] 151 |         let followed_path = try!(fs::read_link(name));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:152:34
[INFO] [stdout]     |
[INFO] [stdout] 152 |         let followed_path_name = try!(followed_path.to_str().ok_or("Path is invalid utf-8"));
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:157:20
[INFO] [stdout]     |
[INFO] [stdout] 157 |         let mode = try!(self.mode(name));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:158:26
[INFO] [stdout]     |
[INFO] [stdout] 158 |         let mode_octal = try!(Output::to_u32(mode));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:165:42
[INFO] [stdout]     |
[INFO] [stdout] 165 |                     Whom::User(ref u) => try!(self.is_readable_by_user(name, &u)),
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:174:20
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let mode = try!(self.mode(name));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:175:26
[INFO] [stdout]     |
[INFO] [stdout] 175 |         let mode_octal = try!(Output::to_u32(mode));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:182:42
[INFO] [stdout]     |
[INFO] [stdout] 182 |                     Whom::User(ref u) => try!(self.is_writable_by_user(name, &u)),
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:191:23
[INFO] [stdout]     |
[INFO] [stdout] 191 |         let content = try!(self.file_content(name));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:197:23
[INFO] [stdout]     |
[INFO] [stdout] 197 |         let content = try!(self.file_content(name));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:207:20
[INFO] [stdout]     |
[INFO] [stdout] 207 |         let file = try!(fs::File::open(name));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:209:25
[INFO] [stdout]     |
[INFO] [stdout] 209 |         let file_stat = try!(nix::sys::stat::fstat(raw_fd));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]  --> src/provider/file/shell/mod.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn mode(&self, &str, &Backend) -> Result<Output, Box<Error>>;
[INFO] [stdout]   |                    ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]   = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]  --> src/provider/file/shell/mod.rs:8:26
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn mode(&self, &str, &Backend) -> Result<Output, Box<Error>>;
[INFO] [stdout]   |                          ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Backend`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]   = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/shell/bsd.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 |         let res = try!(b.run_command(&c));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/shell/bsd.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let m = try!(u32::from_str_radix(&res, 8));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/lib.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let p = try!(b.detect_platform().ok_or(SpecinfraError));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint32_t`: Use u32 instead.
[INFO] [stdout]  --> src/resource/file.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | use libc::uint32_t;
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint32_t`: Use u32 instead.
[INFO] [stdout]   --> src/resource/file.rs:42:59
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub extern "C" fn resource_file_mode(ptr: *const File) -> uint32_t {
[INFO] [stdout]    |                                                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/mod.rs:19:22
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub backend: Box<Backend>,
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub backend: Box<dyn Backend>,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/platform/platforms.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 |     base_platforms: Vec<Box<BasePlatform<Item = Box<Platform>>>>,
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 7 |     base_platforms: Vec<Box<dyn BasePlatform<Item = Box<Platform>>>>,
[INFO] [stdout]   |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/platform/platforms.rs:7:53
[INFO] [stdout]   |
[INFO] [stdout] 7 |     base_platforms: Vec<Box<BasePlatform<Item = Box<Platform>>>>,
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 7 |     base_platforms: Vec<Box<BasePlatform<Item = Box<dyn Platform>>>>,
[INFO] [stdout]   |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/bsd/mod.rs:10:24
[INFO] [stdout]    |
[INFO] [stdout] 10 |     platforms: Vec<Box<Platform>>,
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |     platforms: Vec<Box<dyn Platform>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/resource/file.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 |     backend: &'a Backend,
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     backend: &'a dyn Backend,
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/provider/file/mod.rs:6:28
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub inline: Option<Box<InlineProvider>>,
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub inline: Option<Box<dyn InlineProvider>>,
[INFO] [stdout]   |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/provider/file/mod.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub shell: Option<Box<ShellProvider>>,
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub shell: Option<Box<dyn ShellProvider>>,
[INFO] [stdout]   |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/mod.rs:14:28
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub inline: Option<Box<Fn() -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub inline: Option<Box<dyn Fn() -> Result<Output, Box<Error>>>>,
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/mod.rs:14:55
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub inline: Option<Box<Fn() -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub inline: Option<Box<Fn() -> Result<Output, Box<dyn Error>>>>,
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/mod.rs:15:27
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub shell: Option<Box<Fn(&Backend) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub shell: Option<Box<dyn Fn(&Backend) -> Result<Output, Box<Error>>>>,
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/mod.rs:15:31
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub shell: Option<Box<Fn(&Backend) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub shell: Option<Box<Fn(&dyn Backend) -> Result<Output, Box<Error>>>>,
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/mod.rs:15:62
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub shell: Option<Box<Fn(&Backend) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub shell: Option<Box<Fn(&Backend) -> Result<Output, Box<dyn Error>>>>,
[INFO] [stdout]    |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:25:22
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub backend: &'a Backend,
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub backend: &'a dyn Backend,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:26:23
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub platform: Box<Platform>,
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub platform: Box<dyn Platform>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/direct.rs:22:45
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn detect_platform(&self) -> Option<Box<Platform>> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn detect_platform(&self) -> Option<Box<dyn Platform>> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/mod.rs:12:45
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn detect_platform(&self) -> Option<Box<Platform>>;
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn detect_platform(&self) -> Option<Box<dyn Platform>>;
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/platform/platform.rs:8:45
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn inline_detector(&self) -> Option<Box<Platform>>;
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn inline_detector(&self) -> Option<Box<dyn Platform>>;
[INFO] [stdout]   |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/platform.rs:10:31
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn shell_detector(&self, &Backend) -> Option<Box<Platform>>;
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn shell_detector(&self, &dyn Backend) -> Option<Box<Platform>>;
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/platform.rs:10:54
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn shell_detector(&self, &Backend) -> Option<Box<Platform>>;
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn shell_detector(&self, &Backend) -> Option<Box<dyn Platform>>;
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/platform.rs:16:32
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn clone_box(&self) -> Box<Platform>;
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn clone_box(&self) -> Box<dyn Platform>;
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/direct.rs:38:84
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn handle(&self, handle_func: Box<provider::HandleFunc>) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn handle(&self, handle_func: Box<provider::HandleFunc>) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]    |                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/mod.rs:13:61
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn handle(&self, Box<HandleFunc>) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn handle(&self, Box<HandleFunc>) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/direct.rs:52:58
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn run_command(&self, c: &str) -> Result<String, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn run_command(&self, c: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/mod.rs:14:55
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn run_command(&self, &str) -> Result<String, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn run_command(&self, &str) -> Result<String, Box<dyn Error>>;
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/ssh.rs:57:45
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn detect_platform(&self) -> Option<Box<Platform>> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn detect_platform(&self) -> Option<Box<dyn Platform>> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/ssh.rs:68:84
[INFO] [stdout]    |
[INFO] [stdout] 68 |     fn handle(&self, handle_func: Box<provider::HandleFunc>) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 68 |     fn handle(&self, handle_func: Box<provider::HandleFunc>) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]    |                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/ssh.rs:77:58
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn run_command(&self, c: &str) -> Result<String, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn run_command(&self, c: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/platforms.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |     type Item = Box<Platform>;
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     type Item = Box<dyn Platform>;
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/platform.rs:22:32
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn clone_box(&self) -> Box<Platform> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn clone_box(&self) -> Box<dyn Platform> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/platform.rs:27:20
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl Clone for Box<Platform> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl Clone for Box<dyn Platform> {
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:36:20
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Clone for Box<InlineProvider> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Clone for Box<dyn InlineProvider> {
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/shell/mod.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Clone for Box<ShellProvider> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Clone for Box<dyn ShellProvider> {
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/platform.rs:28:28
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn clone(&self) -> Box<Platform> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn clone(&self) -> Box<dyn Platform> {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/bsd/darwin.rs:24:45
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn inline_detector(&self) -> Option<Box<Platform>> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn inline_detector(&self) -> Option<Box<dyn Platform>> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/bsd/darwin.rs:41:34
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn shell_detector(&self, b: &Backend) -> Option<Box<Platform>> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn shell_detector(&self, b: &dyn Backend) -> Option<Box<Platform>> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/bsd/darwin.rs:41:57
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn shell_detector(&self, b: &Backend) -> Option<Box<Platform>> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn shell_detector(&self, b: &Backend) -> Option<Box<dyn Platform>> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/bsd/mod.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 |     type Item = Box<Platform>;
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     type Item = Box<dyn Platform>;
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:13:51
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn is_file(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn is_file(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:14:49
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn exist(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn exist(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:15:56
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn is_directory(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn is_directory(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:16:59
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn is_block_device(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn is_block_device(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:17:63
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn is_character_device(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn is_character_device(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:18:51
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn is_pipe(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn is_pipe(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:19:53
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn is_socket(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn is_socket(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:20:54
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn is_symlink(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn is_symlink(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:21:52
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn contents(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn contents(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:22:48
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn mode(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn mode(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:23:49
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn owner(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn owner(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:24:49
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn group(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn group(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:25:53
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn linked_to(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn linked_to(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:26:70
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn is_readable(&self, &str, Option<&Whom>) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn is_readable(&self, &str, Option<&Whom>) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:27:70
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn is_writable(&self, &str, Option<&Whom>) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn is_writable(&self, &str, Option<&Whom>) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:28:50
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn md5sum(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn md5sum(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:29:53
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn sha256sum(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn sha256sum(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:30:57
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn selinux_label(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn selinux_label(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:31:48
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn size(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn size(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:33:32
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn box_clone(&self) -> Box<InlineProvider>;
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn box_clone(&self) -> Box<dyn InlineProvider>;
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/provider/file/shell/mod.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn mode(&self, &str, &Backend) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn mode(&self, &str, &dyn Backend) -> Result<Output, Box<Error>>;
[INFO] [stdout]   |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/provider/file/shell/mod.rs:8:58
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn mode(&self, &str, &Backend) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn mode(&self, &str, &Backend) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]   |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/provider/file/shell/mod.rs:9:32
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn box_clone(&self) -> Box<ShellProvider>;
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn box_clone(&self) -> Box<dyn ShellProvider>;
[INFO] [stdout]   |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resource/file.rs:14:40
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(n: &'static str, b: &'a Backend, p: &'a Provider) -> File<'a> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(n: &'static str, b: &'a dyn Backend, p: &'a Provider) -> File<'a> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resource/file.rs:22:43
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn mode(&self) -> Result<u32, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn mode(&self) -> Result<u32, Box<dyn Error>> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:37:28
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn clone(&self) -> Box<InlineProvider> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn clone(&self) -> Box<dyn InlineProvider> {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:84:54
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn mode(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn mode(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:89:57
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn is_file(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn is_file(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:94:55
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn exist(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn exist(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:99:62
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn is_directory(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn is_directory(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]    |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:104:65
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn is_block_device(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn is_block_device(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:110:69
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn is_character_device(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn is_character_device(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:116:57
[INFO] [stdout]     |
[INFO] [stdout] 116 |     fn is_pipe(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 116 |     fn is_pipe(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:122:59
[INFO] [stdout]     |
[INFO] [stdout] 122 |     fn is_socket(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 122 |     fn is_socket(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:128:60
[INFO] [stdout]     |
[INFO] [stdout] 128 |     fn is_symlink(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 128 |     fn is_symlink(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:134:58
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn contents(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn contents(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:140:55
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn owner(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn owner(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:145:55
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn group(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn group(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:150:59
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn linked_to(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn linked_to(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:156:82
[INFO] [stdout]     |
[INFO] [stdout] 156 |     fn is_readable(&self, name: &str, whom: Option<&Whom>) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 156 |     fn is_readable(&self, name: &str, whom: Option<&Whom>) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:173:82
[INFO] [stdout]     |
[INFO] [stdout] 173 |     fn is_writable(&self, name: &str, whom: Option<&Whom>) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 173 |     fn is_writable(&self, name: &str, whom: Option<&Whom>) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:190:56
[INFO] [stdout]     |
[INFO] [stdout] 190 |     fn md5sum(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 190 |     fn md5sum(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:196:59
[INFO] [stdout]     |
[INFO] [stdout] 196 |     fn sha256sum(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 196 |     fn sha256sum(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:202:60
[INFO] [stdout]     |
[INFO] [stdout] 202 |     fn selinux_label(&self, _: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 202 |     fn selinux_label(&self, _: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:206:54
[INFO] [stdout]     |
[INFO] [stdout] 206 |     fn size(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 206 |     fn size(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:214:32
[INFO] [stdout]     |
[INFO] [stdout] 214 |     fn box_clone(&self) -> Box<InlineProvider> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 214 |     fn box_clone(&self) -> Box<dyn InlineProvider> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/shell/mod.rs:13:28
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn clone(&self) -> Box<ShellProvider> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn clone(&self) -> Box<dyn ShellProvider> {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/shell/bsd.rs:12:36
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn mode(&self, name: &str, b: &Backend) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn mode(&self, name: &str, b: &dyn Backend) -> Result<Output, Box<Error>> {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/shell/bsd.rs:12:67
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn mode(&self, name: &str, b: &Backend) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn mode(&self, name: &str, b: &Backend) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/shell/bsd.rs:19:32
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn box_clone(&self) -> Box<ShellProvider> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn box_clone(&self) -> Box<dyn ShellProvider> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:45:16
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn new(b: &Backend) -> Result<Specinfra, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn new(b: &dyn Backend) -> Result<Specinfra, Box<Error>> {
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:45:50
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn new(b: &Backend) -> Result<Specinfra, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn new(b: &Backend) -> Result<Specinfra, Box<dyn Error>> {
[INFO] [stdout]    |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/ssh.rs:39:46
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn finalize(self) -> Result<SSH, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn finalize(self) -> Result<SSH, Box<dyn Error>> {
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/mod.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(i: Option<Box<InlineProvider>>, s: Option<Box<ShellProvider>>) -> FileProvider {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(i: Option<Box<dyn InlineProvider>>, s: Option<Box<ShellProvider>>) -> FileProvider {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/mod.rs:11:62
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(i: Option<Box<InlineProvider>>, s: Option<Box<ShellProvider>>) -> FileProvider {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(i: Option<Box<InlineProvider>>, s: Option<Box<dyn ShellProvider>>) -> FileProvider {
[INFO] [stdout]    |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:26:65
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn file_owner(&self, name: &str) -> Result<users::User, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn file_owner(&self, name: &str) -> Result<users::User, Box<dyn Error>> {
[INFO] [stdout]    |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:33:66
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn file_group(&self, name: &str) -> Result<users::Group, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn file_group(&self, name: &str) -> Result<users::Group, Box<dyn Error>> {
[INFO] [stdout]    |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:40:62
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn file_content(&self, name: &str) -> Result<String, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn file_content(&self, name: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:50:81
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn is_readable_by_user(&self, name: &str, user: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn is_readable_by_user(&self, name: &str, user: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]    |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:66:81
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn is_writable_by_user(&self, name: &str, user: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn is_writable_by_user(&self, name: &str, user: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]    |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/mod.rs:41:49
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn to_u32(o: Output) -> Result<u32, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn to_u32(o: Output) -> Result<u32, Box<dyn Error>> {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/mod.rs:48:49
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn to_i64(o: Output) -> Result<i64, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn to_i64(o: Output) -> Result<i64, Box<dyn Error>> {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/mod.rs:55:51
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn to_bool(o: Output) -> Result<bool, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn to_bool(o: Output) -> Result<bool, Box<dyn Error>> {
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/mod.rs:62:55
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn to_string(o: Output) -> Result<String, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn to_string(o: Output) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/platforms.rs:12:28
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let mut p: Vec<Box<BasePlatform<Item = Box<Platform>>>> = Vec::new();
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let mut p: Vec<Box<dyn BasePlatform<Item = Box<Platform>>>> = Vec::new();
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/platforms.rs:12:52
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let mut p: Vec<Box<BasePlatform<Item = Box<Platform>>>> = Vec::new();
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let mut p: Vec<Box<BasePlatform<Item = Box<dyn Platform>>>> = Vec::new();
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `release` are never read
[INFO] [stdout]   --> src/platform/bsd/darwin.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Darwin {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 12 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 13 |     release: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Darwin` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:45:15
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn new(b: &Backend) -> Result<Specinfra, Box<Error>> {
[INFO] [stdout]    |               ^^^^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |               |
[INFO] [stdout]    |               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn new(b: &Backend) -> Result<Specinfra<'_>, Box<Error>> {
[INFO] [stdout]    |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:56:17
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn file(&self, name: &'static str) -> File {
[INFO] [stdout]    |                 ^^^^^                         ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn file(&self, name: &'static str) -> File<'_> {
[INFO] [stdout]    |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> src/lib.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         Box::from_raw(ptr);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let _ = Box::from_raw(ptr);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> src/backend/direct.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         Box::from_raw(ptr);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let _ = Box::from_raw(ptr);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> src/backend/ssh.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |         Box::from_raw(ptr);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let _ = Box::from_raw(ptr);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> src/resource/file.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |         Box::from_raw(ptr);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let _ = Box::from_raw(ptr);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.62s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.7.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "9cbf0590eafaac99c1810721edcb2b72f45a2a8f78a267f35f6f87f10cadc111", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9cbf0590eafaac99c1810721edcb2b72f45a2a8f78a267f35f6f87f10cadc111", kill_on_drop: false }`
[INFO] [stdout] 9cbf0590eafaac99c1810721edcb2b72f45a2a8f78a267f35f6f87f10cadc111
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+ad85bc524b1ad696e42061ad8338d382dffbdbe5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6274806476bb203582ff79a6951c0280ca0cf59b4850c436f99cf5fefb24c176
[INFO] running `Command { std: "docker" "start" "-a" "6274806476bb203582ff79a6951c0280ca0cf59b4850c436f99cf5fefb24c176", kill_on_drop: false }`
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/direct.rs:53:19
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let out = try!(Command::new("sh").args(&["-c", c]).output());
[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/backend/direct.rs:54:19
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let res = try!(String::from_utf8(out.stdout));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/ssh.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         try!(session.handshake(&tcp));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/ssh.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |         try!(session.userauth_agent(&user));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/ssh.rs:42:19
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let tcp = try!(TcpStream::connect(remote_addr));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/ssh.rs:45:20
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let user = try!(env::var("USER"));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/ssh.rs:78:24
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let mut chan = try!(self.session.channel_session());
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/backend/mod.rs:13:22
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn handle(&self, Box<HandleFunc>) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Box<HandleFunc>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/backend/mod.rs:14:27
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn run_command(&self, &str) -> Result<String, Box<Error>>;
[INFO] [stdout]    |                           ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/platform/platform.rs:10:30
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn shell_detector(&self, &Backend) -> Option<Box<Platform>>;
[INFO] [stdout]    |                              ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Backend`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:13:23
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn is_file(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                       ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn exist(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                     ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:15:28
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn is_directory(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                            ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:16:31
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn is_block_device(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                               ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:17:35
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn is_character_device(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                                   ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn is_pipe(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                       ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:19:25
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn is_socket(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                         ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:20:26
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn is_symlink(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                          ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:21:24
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn contents(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                        ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:22:20
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn mode(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                    ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:23:21
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn owner(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                     ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn group(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                     ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:25:25
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn linked_to(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                         ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:26:27
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn is_readable(&self, &str, Option<&Whom>) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                           ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:26:33
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn is_readable(&self, &str, Option<&Whom>) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Option<&Whom>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:27:27
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn is_writable(&self, &str, Option<&Whom>) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                           ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:27:33
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn is_writable(&self, &str, Option<&Whom>) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Option<&Whom>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:28:22
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn md5sum(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                      ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:29:25
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn sha256sum(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                         ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:30:29
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn selinux_label(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                             ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:31:20
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn size(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                    ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:27:19
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let uid = try!(fs::metadata(name).map(|m| MetadataExt::uid(&m)));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let owner = try!(users::get_user_by_uid(uid)
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:34:19
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let gid = try!(fs::metadata(name).map(|m| MetadataExt::gid(&m)));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:35:21
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let group = try!(users::get_group_by_gid(gid)
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         try!(buf_reader.read_to_string(&mut contents));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:41:20
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let file = try!(fs::File::open(name));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:51:26
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let file_owner = try!(self.file_owner(name));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:56:30
[INFO] [stdout]    |
[INFO] [stdout] 56 |             let file_group = try!(self.file_group(name));
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:67:26
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let file_owner = try!(self.file_owner(name));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:72:30
[INFO] [stdout]    |
[INFO] [stdout] 72 |             let file_group = try!(self.file_group(name));
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:85:19
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let res = try!(fs::metadata(name).map(|m| Output::U32(m.permissions().mode())));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:90:19
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let res = try!(fs::metadata(name).map(|m| Output::Bool(m.is_file())));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:100:19
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let res = try!(fs::metadata(name).map(|m| Output::Bool(m.is_dir())));
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:105:19
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let res = try!(fs::metadata(name)
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:111:19
[INFO] [stdout]     |
[INFO] [stdout] 111 |         let res = try!(fs::metadata(name)
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:117:19
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let res = try!(fs::metadata(name)
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:123:19
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let res = try!(fs::metadata(name)
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:129:19
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let res = try!(fs::symlink_metadata(name)
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:135:30
[INFO] [stdout]     |
[INFO] [stdout] 135 |         let string_content = try!(self.file_content(name));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:141:21
[INFO] [stdout]     |
[INFO] [stdout] 141 |         let owner = try!(self.file_owner(name));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:146:21
[INFO] [stdout]     |
[INFO] [stdout] 146 |         let group = try!(self.file_group(name));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:151:29
[INFO] [stdout]     |
[INFO] [stdout] 151 |         let followed_path = try!(fs::read_link(name));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:152:34
[INFO] [stdout]     |
[INFO] [stdout] 152 |         let followed_path_name = try!(followed_path.to_str().ok_or("Path is invalid utf-8"));
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:157:20
[INFO] [stdout]     |
[INFO] [stdout] 157 |         let mode = try!(self.mode(name));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:158:26
[INFO] [stdout]     |
[INFO] [stdout] 158 |         let mode_octal = try!(Output::to_u32(mode));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:165:42
[INFO] [stdout]     |
[INFO] [stdout] 165 |                     Whom::User(ref u) => try!(self.is_readable_by_user(name, &u)),
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:174:20
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let mode = try!(self.mode(name));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:175:26
[INFO] [stdout]     |
[INFO] [stdout] 175 |         let mode_octal = try!(Output::to_u32(mode));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:182:42
[INFO] [stdout]     |
[INFO] [stdout] 182 |                     Whom::User(ref u) => try!(self.is_writable_by_user(name, &u)),
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:191:23
[INFO] [stdout]     |
[INFO] [stdout] 191 |         let content = try!(self.file_content(name));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:197:23
[INFO] [stdout]     |
[INFO] [stdout] 197 |         let content = try!(self.file_content(name));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:207:20
[INFO] [stdout]     |
[INFO] [stdout] 207 |         let file = try!(fs::File::open(name));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:209:25
[INFO] [stdout]     |
[INFO] [stdout] 209 |         let file_stat = try!(nix::sys::stat::fstat(raw_fd));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]  --> src/provider/file/shell/mod.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn mode(&self, &str, &Backend) -> Result<Output, Box<Error>>;
[INFO] [stdout]   |                    ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]   = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]  --> src/provider/file/shell/mod.rs:8:26
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn mode(&self, &str, &Backend) -> Result<Output, Box<Error>>;
[INFO] [stdout]   |                          ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Backend`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]   = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/shell/bsd.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 |         let res = try!(b.run_command(&c));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/shell/bsd.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let m = try!(u32::from_str_radix(&res, 8));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/lib.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let p = try!(b.detect_platform().ok_or(SpecinfraError));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint32_t`: Use u32 instead.
[INFO] [stdout]  --> src/resource/file.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | use libc::uint32_t;
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint32_t`: Use u32 instead.
[INFO] [stdout]   --> src/resource/file.rs:42:59
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub extern "C" fn resource_file_mode(ptr: *const File) -> uint32_t {
[INFO] [stdout]    |                                                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/mod.rs:19:22
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub backend: Box<Backend>,
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub backend: Box<dyn Backend>,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/platform/platforms.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 |     base_platforms: Vec<Box<BasePlatform<Item = Box<Platform>>>>,
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 7 |     base_platforms: Vec<Box<dyn BasePlatform<Item = Box<Platform>>>>,
[INFO] [stdout]   |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/platform/platforms.rs:7:53
[INFO] [stdout]   |
[INFO] [stdout] 7 |     base_platforms: Vec<Box<BasePlatform<Item = Box<Platform>>>>,
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 7 |     base_platforms: Vec<Box<BasePlatform<Item = Box<dyn Platform>>>>,
[INFO] [stdout]   |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/bsd/mod.rs:10:24
[INFO] [stdout]    |
[INFO] [stdout] 10 |     platforms: Vec<Box<Platform>>,
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |     platforms: Vec<Box<dyn Platform>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/resource/file.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 |     backend: &'a Backend,
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     backend: &'a dyn Backend,
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/provider/file/mod.rs:6:28
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub inline: Option<Box<InlineProvider>>,
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub inline: Option<Box<dyn InlineProvider>>,
[INFO] [stdout]   |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/provider/file/mod.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub shell: Option<Box<ShellProvider>>,
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub shell: Option<Box<dyn ShellProvider>>,
[INFO] [stdout]   |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/mod.rs:14:28
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub inline: Option<Box<Fn() -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub inline: Option<Box<dyn Fn() -> Result<Output, Box<Error>>>>,
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/mod.rs:14:55
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub inline: Option<Box<Fn() -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub inline: Option<Box<Fn() -> Result<Output, Box<dyn Error>>>>,
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/mod.rs:15:27
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub shell: Option<Box<Fn(&Backend) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub shell: Option<Box<dyn Fn(&Backend) -> Result<Output, Box<Error>>>>,
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/mod.rs:15:31
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub shell: Option<Box<Fn(&Backend) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub shell: Option<Box<Fn(&dyn Backend) -> Result<Output, Box<Error>>>>,
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/mod.rs:15:62
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub shell: Option<Box<Fn(&Backend) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub shell: Option<Box<Fn(&Backend) -> Result<Output, Box<dyn Error>>>>,
[INFO] [stdout]    |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:25:22
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub backend: &'a Backend,
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub backend: &'a dyn Backend,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:26:23
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub platform: Box<Platform>,
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub platform: Box<dyn Platform>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/direct.rs:22:45
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn detect_platform(&self) -> Option<Box<Platform>> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn detect_platform(&self) -> Option<Box<dyn Platform>> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/mod.rs:12:45
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn detect_platform(&self) -> Option<Box<Platform>>;
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn detect_platform(&self) -> Option<Box<dyn Platform>>;
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/platform/platform.rs:8:45
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn inline_detector(&self) -> Option<Box<Platform>>;
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn inline_detector(&self) -> Option<Box<dyn Platform>>;
[INFO] [stdout]   |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/platform.rs:10:31
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn shell_detector(&self, &Backend) -> Option<Box<Platform>>;
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn shell_detector(&self, &dyn Backend) -> Option<Box<Platform>>;
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/platform.rs:10:54
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn shell_detector(&self, &Backend) -> Option<Box<Platform>>;
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn shell_detector(&self, &Backend) -> Option<Box<dyn Platform>>;
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/platform.rs:16:32
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn clone_box(&self) -> Box<Platform>;
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn clone_box(&self) -> Box<dyn Platform>;
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/direct.rs:38:84
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn handle(&self, handle_func: Box<provider::HandleFunc>) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn handle(&self, handle_func: Box<provider::HandleFunc>) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]    |                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/mod.rs:13:61
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn handle(&self, Box<HandleFunc>) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn handle(&self, Box<HandleFunc>) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/direct.rs:52:58
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn run_command(&self, c: &str) -> Result<String, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn run_command(&self, c: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/mod.rs:14:55
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn run_command(&self, &str) -> Result<String, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn run_command(&self, &str) -> Result<String, Box<dyn Error>>;
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/ssh.rs:57:45
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn detect_platform(&self) -> Option<Box<Platform>> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn detect_platform(&self) -> Option<Box<dyn Platform>> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/ssh.rs:68:84
[INFO] [stdout]    |
[INFO] [stdout] 68 |     fn handle(&self, handle_func: Box<provider::HandleFunc>) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 68 |     fn handle(&self, handle_func: Box<provider::HandleFunc>) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]    |                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/ssh.rs:77:58
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn run_command(&self, c: &str) -> Result<String, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn run_command(&self, c: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/platforms.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |     type Item = Box<Platform>;
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     type Item = Box<dyn Platform>;
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/platform.rs:22:32
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn clone_box(&self) -> Box<Platform> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn clone_box(&self) -> Box<dyn Platform> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/platform.rs:27:20
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl Clone for Box<Platform> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl Clone for Box<dyn Platform> {
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:36:20
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Clone for Box<InlineProvider> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Clone for Box<dyn InlineProvider> {
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/shell/mod.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Clone for Box<ShellProvider> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Clone for Box<dyn ShellProvider> {
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/platform.rs:28:28
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn clone(&self) -> Box<Platform> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn clone(&self) -> Box<dyn Platform> {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/bsd/darwin.rs:24:45
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn inline_detector(&self) -> Option<Box<Platform>> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn inline_detector(&self) -> Option<Box<dyn Platform>> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/bsd/darwin.rs:41:34
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn shell_detector(&self, b: &Backend) -> Option<Box<Platform>> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn shell_detector(&self, b: &dyn Backend) -> Option<Box<Platform>> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/bsd/darwin.rs:41:57
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn shell_detector(&self, b: &Backend) -> Option<Box<Platform>> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn shell_detector(&self, b: &Backend) -> Option<Box<dyn Platform>> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/bsd/mod.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 |     type Item = Box<Platform>;
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     type Item = Box<dyn Platform>;
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:13:51
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn is_file(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn is_file(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:14:49
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn exist(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn exist(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:15:56
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn is_directory(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn is_directory(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:16:59
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn is_block_device(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn is_block_device(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:17:63
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn is_character_device(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn is_character_device(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:18:51
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn is_pipe(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn is_pipe(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:19:53
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn is_socket(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn is_socket(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:20:54
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn is_symlink(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn is_symlink(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:21:52
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn contents(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn contents(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:22:48
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn mode(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn mode(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:23:49
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn owner(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn owner(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:24:49
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn group(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn group(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:25:53
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn linked_to(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn linked_to(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:26:70
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn is_readable(&self, &str, Option<&Whom>) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn is_readable(&self, &str, Option<&Whom>) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:27:70
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn is_writable(&self, &str, Option<&Whom>) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn is_writable(&self, &str, Option<&Whom>) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:28:50
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn md5sum(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn md5sum(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:29:53
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn sha256sum(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn sha256sum(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:30:57
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn selinux_label(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn selinux_label(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:31:48
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn size(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn size(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:33:32
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn box_clone(&self) -> Box<InlineProvider>;
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn box_clone(&self) -> Box<dyn InlineProvider>;
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/provider/file/shell/mod.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn mode(&self, &str, &Backend) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn mode(&self, &str, &dyn Backend) -> Result<Output, Box<Error>>;
[INFO] [stdout]   |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/provider/file/shell/mod.rs:8:58
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn mode(&self, &str, &Backend) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn mode(&self, &str, &Backend) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]   |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/provider/file/shell/mod.rs:9:32
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn box_clone(&self) -> Box<ShellProvider>;
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn box_clone(&self) -> Box<dyn ShellProvider>;
[INFO] [stdout]   |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resource/file.rs:14:40
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(n: &'static str, b: &'a Backend, p: &'a Provider) -> File<'a> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(n: &'static str, b: &'a dyn Backend, p: &'a Provider) -> File<'a> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resource/file.rs:22:43
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn mode(&self) -> Result<u32, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn mode(&self) -> Result<u32, Box<dyn Error>> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:37:28
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn clone(&self) -> Box<InlineProvider> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn clone(&self) -> Box<dyn InlineProvider> {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:84:54
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn mode(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn mode(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:89:57
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn is_file(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn is_file(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:94:55
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn exist(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn exist(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:99:62
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn is_directory(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn is_directory(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]    |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:104:65
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn is_block_device(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn is_block_device(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:110:69
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn is_character_device(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn is_character_device(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:116:57
[INFO] [stdout]     |
[INFO] [stdout] 116 |     fn is_pipe(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 116 |     fn is_pipe(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:122:59
[INFO] [stdout]     |
[INFO] [stdout] 122 |     fn is_socket(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 122 |     fn is_socket(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:128:60
[INFO] [stdout]     |
[INFO] [stdout] 128 |     fn is_symlink(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 128 |     fn is_symlink(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:134:58
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn contents(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn contents(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:140:55
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn owner(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn owner(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:145:55
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn group(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn group(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:150:59
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn linked_to(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn linked_to(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:156:82
[INFO] [stdout]     |
[INFO] [stdout] 156 |     fn is_readable(&self, name: &str, whom: Option<&Whom>) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 156 |     fn is_readable(&self, name: &str, whom: Option<&Whom>) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:173:82
[INFO] [stdout]     |
[INFO] [stdout] 173 |     fn is_writable(&self, name: &str, whom: Option<&Whom>) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 173 |     fn is_writable(&self, name: &str, whom: Option<&Whom>) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:190:56
[INFO] [stdout]     |
[INFO] [stdout] 190 |     fn md5sum(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 190 |     fn md5sum(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:196:59
[INFO] [stdout]     |
[INFO] [stdout] 196 |     fn sha256sum(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 196 |     fn sha256sum(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:202:60
[INFO] [stdout]     |
[INFO] [stdout] 202 |     fn selinux_label(&self, _: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 202 |     fn selinux_label(&self, _: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:206:54
[INFO] [stdout]     |
[INFO] [stdout] 206 |     fn size(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 206 |     fn size(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:214:32
[INFO] [stdout]     |
[INFO] [stdout] 214 |     fn box_clone(&self) -> Box<InlineProvider> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 214 |     fn box_clone(&self) -> Box<dyn InlineProvider> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/shell/mod.rs:13:28
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn clone(&self) -> Box<ShellProvider> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn clone(&self) -> Box<dyn ShellProvider> {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/shell/bsd.rs:12:36
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn mode(&self, name: &str, b: &Backend) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn mode(&self, name: &str, b: &dyn Backend) -> Result<Output, Box<Error>> {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/shell/bsd.rs:12:67
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn mode(&self, name: &str, b: &Backend) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn mode(&self, name: &str, b: &Backend) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/shell/bsd.rs:19:32
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn box_clone(&self) -> Box<ShellProvider> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn box_clone(&self) -> Box<dyn ShellProvider> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:45:16
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn new(b: &Backend) -> Result<Specinfra, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn new(b: &dyn Backend) -> Result<Specinfra, Box<Error>> {
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:45:50
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn new(b: &Backend) -> Result<Specinfra, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn new(b: &Backend) -> Result<Specinfra, Box<dyn Error>> {
[INFO] [stdout]    |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/ssh.rs:39:46
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn finalize(self) -> Result<SSH, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn finalize(self) -> Result<SSH, Box<dyn Error>> {
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/mod.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(i: Option<Box<InlineProvider>>, s: Option<Box<ShellProvider>>) -> FileProvider {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(i: Option<Box<dyn InlineProvider>>, s: Option<Box<ShellProvider>>) -> FileProvider {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/mod.rs:11:62
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(i: Option<Box<InlineProvider>>, s: Option<Box<ShellProvider>>) -> FileProvider {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(i: Option<Box<InlineProvider>>, s: Option<Box<dyn ShellProvider>>) -> FileProvider {
[INFO] [stdout]    |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:26:65
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn file_owner(&self, name: &str) -> Result<users::User, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn file_owner(&self, name: &str) -> Result<users::User, Box<dyn Error>> {
[INFO] [stdout]    |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:33:66
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn file_group(&self, name: &str) -> Result<users::Group, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn file_group(&self, name: &str) -> Result<users::Group, Box<dyn Error>> {
[INFO] [stdout]    |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:40:62
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn file_content(&self, name: &str) -> Result<String, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn file_content(&self, name: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:50:81
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn is_readable_by_user(&self, name: &str, user: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn is_readable_by_user(&self, name: &str, user: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]    |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:66:81
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn is_writable_by_user(&self, name: &str, user: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn is_writable_by_user(&self, name: &str, user: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]    |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/mod.rs:41:49
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn to_u32(o: Output) -> Result<u32, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn to_u32(o: Output) -> Result<u32, Box<dyn Error>> {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/mod.rs:48:49
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn to_i64(o: Output) -> Result<i64, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn to_i64(o: Output) -> Result<i64, Box<dyn Error>> {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/mod.rs:55:51
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn to_bool(o: Output) -> Result<bool, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn to_bool(o: Output) -> Result<bool, Box<dyn Error>> {
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/mod.rs:62:55
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn to_string(o: Output) -> Result<String, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn to_string(o: Output) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/platforms.rs:12:28
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let mut p: Vec<Box<BasePlatform<Item = Box<Platform>>>> = Vec::new();
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let mut p: Vec<Box<dyn BasePlatform<Item = Box<Platform>>>> = Vec::new();
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/platforms.rs:12:52
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let mut p: Vec<Box<BasePlatform<Item = Box<Platform>>>> = Vec::new();
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let mut p: Vec<Box<BasePlatform<Item = Box<dyn Platform>>>> = Vec::new();
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `release` are never read
[INFO] [stdout]   --> src/platform/bsd/darwin.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Darwin {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 12 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 13 |     release: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Darwin` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:45:15
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn new(b: &Backend) -> Result<Specinfra, Box<Error>> {
[INFO] [stdout]    |               ^^^^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |               |
[INFO] [stdout]    |               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn new(b: &Backend) -> Result<Specinfra<'_>, Box<Error>> {
[INFO] [stdout]    |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:56:17
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn file(&self, name: &'static str) -> File {
[INFO] [stdout]    |                 ^^^^^                         ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn file(&self, name: &'static str) -> File<'_> {
[INFO] [stdout]    |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> src/lib.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         Box::from_raw(ptr);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let _ = Box::from_raw(ptr);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> src/backend/direct.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         Box::from_raw(ptr);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let _ = Box::from_raw(ptr);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> src/backend/ssh.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |         Box::from_raw(ptr);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let _ = Box::from_raw(ptr);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling specinfra v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> src/resource/file.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |         Box::from_raw(ptr);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let _ = Box::from_raw(ptr);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/direct.rs:53:19
[INFO] [stdout]    |
[INFO] [stdout] 53 |         let out = try!(Command::new("sh").args(&["-c", c]).output());
[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/backend/direct.rs:54:19
[INFO] [stdout]    |
[INFO] [stdout] 54 |         let res = try!(String::from_utf8(out.stdout));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/ssh.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         try!(session.handshake(&tcp));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/ssh.rs:46:9
[INFO] [stdout]    |
[INFO] [stdout] 46 |         try!(session.userauth_agent(&user));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/ssh.rs:42:19
[INFO] [stdout]    |
[INFO] [stdout] 42 |         let tcp = try!(TcpStream::connect(remote_addr));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/ssh.rs:45:20
[INFO] [stdout]    |
[INFO] [stdout] 45 |         let user = try!(env::var("USER"));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/backend/ssh.rs:78:24
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let mut chan = try!(self.session.channel_session());
[INFO] [stdout]    |                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/backend/mod.rs:13:22
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn handle(&self, Box<HandleFunc>) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Box<HandleFunc>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout]    = note: `#[warn(anonymous_parameters)]` (part of `#[warn(rust_2018_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/backend/mod.rs:14:27
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn run_command(&self, &str) -> Result<String, Box<Error>>;
[INFO] [stdout]    |                           ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/platform/platform.rs:10:30
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn shell_detector(&self, &Backend) -> Option<Box<Platform>>;
[INFO] [stdout]    |                              ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Backend`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:13:23
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn is_file(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                       ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn exist(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                     ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:15:28
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn is_directory(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                            ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:16:31
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn is_block_device(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                               ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:17:35
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn is_character_device(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                                   ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn is_pipe(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                       ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:19:25
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn is_socket(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                         ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:20:26
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn is_symlink(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                          ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:21:24
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn contents(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                        ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:22:20
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn mode(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                    ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:23:21
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn owner(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                     ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn group(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                     ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:25:25
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn linked_to(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                         ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:26:27
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn is_readable(&self, &str, Option<&Whom>) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                           ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:26:33
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn is_readable(&self, &str, Option<&Whom>) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Option<&Whom>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:27:27
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn is_writable(&self, &str, Option<&Whom>) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                           ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:27:33
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn is_writable(&self, &str, Option<&Whom>) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: Option<&Whom>`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:28:22
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn md5sum(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                      ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:29:25
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn sha256sum(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                         ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:30:29
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn selinux_label(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                             ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:31:20
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn size(&self, &str) -> Result<Output, Box<Error>>;
[INFO] [stdout]    |                    ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]    = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:27:19
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let uid = try!(fs::metadata(name).map(|m| MetadataExt::uid(&m)));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:28:21
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let owner = try!(users::get_user_by_uid(uid)
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:34:19
[INFO] [stdout]    |
[INFO] [stdout] 34 |         let gid = try!(fs::metadata(name).map(|m| MetadataExt::gid(&m)));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:35:21
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let group = try!(users::get_group_by_gid(gid)
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:44:9
[INFO] [stdout]    |
[INFO] [stdout] 44 |         try!(buf_reader.read_to_string(&mut contents));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:41:20
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let file = try!(fs::File::open(name));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:51:26
[INFO] [stdout]    |
[INFO] [stdout] 51 |         let file_owner = try!(self.file_owner(name));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:56:30
[INFO] [stdout]    |
[INFO] [stdout] 56 |             let file_group = try!(self.file_group(name));
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:67:26
[INFO] [stdout]    |
[INFO] [stdout] 67 |         let file_owner = try!(self.file_owner(name));
[INFO] [stdout]    |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:72:30
[INFO] [stdout]    |
[INFO] [stdout] 72 |             let file_group = try!(self.file_group(name));
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:85:19
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let res = try!(fs::metadata(name).map(|m| Output::U32(m.permissions().mode())));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:90:19
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let res = try!(fs::metadata(name).map(|m| Output::Bool(m.is_file())));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:100:19
[INFO] [stdout]     |
[INFO] [stdout] 100 |         let res = try!(fs::metadata(name).map(|m| Output::Bool(m.is_dir())));
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:105:19
[INFO] [stdout]     |
[INFO] [stdout] 105 |         let res = try!(fs::metadata(name)
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:111:19
[INFO] [stdout]     |
[INFO] [stdout] 111 |         let res = try!(fs::metadata(name)
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:117:19
[INFO] [stdout]     |
[INFO] [stdout] 117 |         let res = try!(fs::metadata(name)
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:123:19
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let res = try!(fs::metadata(name)
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:129:19
[INFO] [stdout]     |
[INFO] [stdout] 129 |         let res = try!(fs::symlink_metadata(name)
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:135:30
[INFO] [stdout]     |
[INFO] [stdout] 135 |         let string_content = try!(self.file_content(name));
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:141:21
[INFO] [stdout]     |
[INFO] [stdout] 141 |         let owner = try!(self.file_owner(name));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:146:21
[INFO] [stdout]     |
[INFO] [stdout] 146 |         let group = try!(self.file_group(name));
[INFO] [stdout]     |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:151:29
[INFO] [stdout]     |
[INFO] [stdout] 151 |         let followed_path = try!(fs::read_link(name));
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:152:34
[INFO] [stdout]     |
[INFO] [stdout] 152 |         let followed_path_name = try!(followed_path.to_str().ok_or("Path is invalid utf-8"));
[INFO] [stdout]     |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:157:20
[INFO] [stdout]     |
[INFO] [stdout] 157 |         let mode = try!(self.mode(name));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:158:26
[INFO] [stdout]     |
[INFO] [stdout] 158 |         let mode_octal = try!(Output::to_u32(mode));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:165:42
[INFO] [stdout]     |
[INFO] [stdout] 165 |                     Whom::User(ref u) => try!(self.is_readable_by_user(name, &u)),
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:174:20
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let mode = try!(self.mode(name));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:175:26
[INFO] [stdout]     |
[INFO] [stdout] 175 |         let mode_octal = try!(Output::to_u32(mode));
[INFO] [stdout]     |                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:182:42
[INFO] [stdout]     |
[INFO] [stdout] 182 |                     Whom::User(ref u) => try!(self.is_writable_by_user(name, &u)),
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:191:23
[INFO] [stdout]     |
[INFO] [stdout] 191 |         let content = try!(self.file_content(name));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:197:23
[INFO] [stdout]     |
[INFO] [stdout] 197 |         let content = try!(self.file_content(name));
[INFO] [stdout]     |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:207:20
[INFO] [stdout]     |
[INFO] [stdout] 207 |         let file = try!(fs::File::open(name));
[INFO] [stdout]     |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:209:25
[INFO] [stdout]     |
[INFO] [stdout] 209 |         let file_stat = try!(nix::sys::stat::fstat(raw_fd));
[INFO] [stdout]     |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]  --> src/provider/file/shell/mod.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn mode(&self, &str, &Backend) -> Result<Output, Box<Error>>;
[INFO] [stdout]   |                    ^^^^ help: try naming the parameter or explicitly ignoring it: `_: &str`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]   = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: anonymous parameters are deprecated and will be removed in the next edition
[INFO] [stdout]  --> src/provider/file/shell/mod.rs:8:26
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn mode(&self, &str, &Backend) -> Result<Output, Box<Error>>;
[INFO] [stdout]   |                          ^^^^^^^^ help: try naming the parameter or explicitly ignoring it: `_: &Backend`
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2018!
[INFO] [stdout]   = note: for more information, see issue #41686 <https://github.com/rust-lang/rust/issues/41686>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/shell/bsd.rs:14:19
[INFO] [stdout]    |
[INFO] [stdout] 14 |         let res = try!(b.run_command(&c));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/provider/file/shell/bsd.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 |         let m = try!(u32::from_str_radix(&res, 8));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/lib.rs:46:13
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let p = try!(b.detect_platform().ok_or(SpecinfraError));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint32_t`: Use u32 instead.
[INFO] [stdout]  --> src/resource/file.rs:5:11
[INFO] [stdout]   |
[INFO] [stdout] 5 | use libc::uint32_t;
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `libc::uint32_t`: Use u32 instead.
[INFO] [stdout]   --> src/resource/file.rs:42:59
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub extern "C" fn resource_file_mode(ptr: *const File) -> uint32_t {
[INFO] [stdout]    |                                                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/mod.rs:19:22
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub backend: Box<Backend>,
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub backend: Box<dyn Backend>,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/platform/platforms.rs:7:29
[INFO] [stdout]   |
[INFO] [stdout] 7 |     base_platforms: Vec<Box<BasePlatform<Item = Box<Platform>>>>,
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 7 |     base_platforms: Vec<Box<dyn BasePlatform<Item = Box<Platform>>>>,
[INFO] [stdout]   |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/platform/platforms.rs:7:53
[INFO] [stdout]   |
[INFO] [stdout] 7 |     base_platforms: Vec<Box<BasePlatform<Item = Box<Platform>>>>,
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 7 |     base_platforms: Vec<Box<BasePlatform<Item = Box<dyn Platform>>>>,
[INFO] [stdout]   |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/bsd/mod.rs:10:24
[INFO] [stdout]    |
[INFO] [stdout] 10 |     platforms: Vec<Box<Platform>>,
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |     platforms: Vec<Box<dyn Platform>>,
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/resource/file.rs:9:18
[INFO] [stdout]   |
[INFO] [stdout] 9 |     backend: &'a Backend,
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     backend: &'a dyn Backend,
[INFO] [stdout]   |                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/provider/file/mod.rs:6:28
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub inline: Option<Box<InlineProvider>>,
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub inline: Option<Box<dyn InlineProvider>>,
[INFO] [stdout]   |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/provider/file/mod.rs:7:27
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub shell: Option<Box<ShellProvider>>,
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub shell: Option<Box<dyn ShellProvider>>,
[INFO] [stdout]   |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/mod.rs:14:28
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub inline: Option<Box<Fn() -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub inline: Option<Box<dyn Fn() -> Result<Output, Box<Error>>>>,
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/mod.rs:14:55
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub inline: Option<Box<Fn() -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub inline: Option<Box<Fn() -> Result<Output, Box<dyn Error>>>>,
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/mod.rs:15:27
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub shell: Option<Box<Fn(&Backend) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub shell: Option<Box<dyn Fn(&Backend) -> Result<Output, Box<Error>>>>,
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/mod.rs:15:31
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub shell: Option<Box<Fn(&Backend) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub shell: Option<Box<Fn(&dyn Backend) -> Result<Output, Box<Error>>>>,
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/mod.rs:15:62
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub shell: Option<Box<Fn(&Backend) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub shell: Option<Box<Fn(&Backend) -> Result<Output, Box<dyn Error>>>>,
[INFO] [stdout]    |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:25:22
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub backend: &'a Backend,
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub backend: &'a dyn Backend,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:26:23
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub platform: Box<Platform>,
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub platform: Box<dyn Platform>,
[INFO] [stdout]    |                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/direct.rs:22:45
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn detect_platform(&self) -> Option<Box<Platform>> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn detect_platform(&self) -> Option<Box<dyn Platform>> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/mod.rs:12:45
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn detect_platform(&self) -> Option<Box<Platform>>;
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn detect_platform(&self) -> Option<Box<dyn Platform>>;
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/platform/platform.rs:8:45
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn inline_detector(&self) -> Option<Box<Platform>>;
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn inline_detector(&self) -> Option<Box<dyn Platform>>;
[INFO] [stdout]   |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/platform.rs:10:31
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn shell_detector(&self, &Backend) -> Option<Box<Platform>>;
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn shell_detector(&self, &dyn Backend) -> Option<Box<Platform>>;
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/platform.rs:10:54
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn shell_detector(&self, &Backend) -> Option<Box<Platform>>;
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |     fn shell_detector(&self, &Backend) -> Option<Box<dyn Platform>>;
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/platform.rs:16:32
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn clone_box(&self) -> Box<Platform>;
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn clone_box(&self) -> Box<dyn Platform>;
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/direct.rs:38:84
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn handle(&self, handle_func: Box<provider::HandleFunc>) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 38 |     fn handle(&self, handle_func: Box<provider::HandleFunc>) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]    |                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/mod.rs:13:61
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn handle(&self, Box<HandleFunc>) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn handle(&self, Box<HandleFunc>) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/direct.rs:52:58
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn run_command(&self, c: &str) -> Result<String, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn run_command(&self, c: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/mod.rs:14:55
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn run_command(&self, &str) -> Result<String, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn run_command(&self, &str) -> Result<String, Box<dyn Error>>;
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/ssh.rs:57:45
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn detect_platform(&self) -> Option<Box<Platform>> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn detect_platform(&self) -> Option<Box<dyn Platform>> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/ssh.rs:68:84
[INFO] [stdout]    |
[INFO] [stdout] 68 |     fn handle(&self, handle_func: Box<provider::HandleFunc>) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 68 |     fn handle(&self, handle_func: Box<provider::HandleFunc>) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]    |                                                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/ssh.rs:77:58
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn run_command(&self, c: &str) -> Result<String, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn run_command(&self, c: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/platforms.rs:22:21
[INFO] [stdout]    |
[INFO] [stdout] 22 |     type Item = Box<Platform>;
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     type Item = Box<dyn Platform>;
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/platform.rs:22:32
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn clone_box(&self) -> Box<Platform> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn clone_box(&self) -> Box<dyn Platform> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/platform.rs:27:20
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl Clone for Box<Platform> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl Clone for Box<dyn Platform> {
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:36:20
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Clone for Box<InlineProvider> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Clone for Box<dyn InlineProvider> {
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/shell/mod.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Clone for Box<ShellProvider> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Clone for Box<dyn ShellProvider> {
[INFO] [stdout]    |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/platform.rs:28:28
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn clone(&self) -> Box<Platform> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn clone(&self) -> Box<dyn Platform> {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/bsd/darwin.rs:24:45
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn inline_detector(&self) -> Option<Box<Platform>> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn inline_detector(&self) -> Option<Box<dyn Platform>> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/bsd/darwin.rs:41:34
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn shell_detector(&self, b: &Backend) -> Option<Box<Platform>> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn shell_detector(&self, b: &dyn Backend) -> Option<Box<Platform>> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/bsd/darwin.rs:41:57
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn shell_detector(&self, b: &Backend) -> Option<Box<Platform>> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn shell_detector(&self, b: &Backend) -> Option<Box<dyn Platform>> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/bsd/mod.rs:27:21
[INFO] [stdout]    |
[INFO] [stdout] 27 |     type Item = Box<Platform>;
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     type Item = Box<dyn Platform>;
[INFO] [stdout]    |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:13:51
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn is_file(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn is_file(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:14:49
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn exist(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn exist(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:15:56
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn is_directory(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     fn is_directory(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:16:59
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn is_block_device(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn is_block_device(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:17:63
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn is_character_device(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn is_character_device(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:18:51
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn is_pipe(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn is_pipe(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:19:53
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn is_socket(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn is_socket(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:20:54
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn is_symlink(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn is_symlink(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:21:52
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn contents(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn contents(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:22:48
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn mode(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn mode(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:23:49
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn owner(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn owner(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:24:49
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn group(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn group(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:25:53
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn linked_to(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn linked_to(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:26:70
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn is_readable(&self, &str, Option<&Whom>) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn is_readable(&self, &str, Option<&Whom>) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:27:70
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn is_writable(&self, &str, Option<&Whom>) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn is_writable(&self, &str, Option<&Whom>) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:28:50
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn md5sum(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 28 |     fn md5sum(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:29:53
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn sha256sum(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn sha256sum(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:30:57
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn selinux_label(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn selinux_label(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:31:48
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn size(&self, &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn size(&self, &str) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]    |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:33:32
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn box_clone(&self) -> Box<InlineProvider>;
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn box_clone(&self) -> Box<dyn InlineProvider>;
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/provider/file/shell/mod.rs:8:27
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn mode(&self, &str, &Backend) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn mode(&self, &str, &dyn Backend) -> Result<Output, Box<Error>>;
[INFO] [stdout]   |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/provider/file/shell/mod.rs:8:58
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn mode(&self, &str, &Backend) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 |     fn mode(&self, &str, &Backend) -> Result<Output, Box<dyn Error>>;
[INFO] [stdout]   |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/provider/file/shell/mod.rs:9:32
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn box_clone(&self) -> Box<ShellProvider>;
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn box_clone(&self) -> Box<dyn ShellProvider>;
[INFO] [stdout]   |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resource/file.rs:14:40
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(n: &'static str, b: &'a Backend, p: &'a Provider) -> File<'a> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(n: &'static str, b: &'a dyn Backend, p: &'a Provider) -> File<'a> {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resource/file.rs:22:43
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn mode(&self) -> Result<u32, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 |     pub fn mode(&self) -> Result<u32, Box<dyn Error>> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/mod.rs:37:28
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn clone(&self) -> Box<InlineProvider> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     fn clone(&self) -> Box<dyn InlineProvider> {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:84:54
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn mode(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 84 |     fn mode(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:89:57
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn is_file(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 89 |     fn is_file(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:94:55
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn exist(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 94 |     fn exist(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:99:62
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn is_directory(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn is_directory(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]    |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:104:65
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn is_block_device(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn is_block_device(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:110:69
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn is_character_device(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn is_character_device(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:116:57
[INFO] [stdout]     |
[INFO] [stdout] 116 |     fn is_pipe(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 116 |     fn is_pipe(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:122:59
[INFO] [stdout]     |
[INFO] [stdout] 122 |     fn is_socket(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 122 |     fn is_socket(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:128:60
[INFO] [stdout]     |
[INFO] [stdout] 128 |     fn is_symlink(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 128 |     fn is_symlink(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:134:58
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn contents(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 134 |     fn contents(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:140:55
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn owner(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 140 |     fn owner(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:145:55
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn group(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn group(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:150:59
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn linked_to(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 150 |     fn linked_to(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:156:82
[INFO] [stdout]     |
[INFO] [stdout] 156 |     fn is_readable(&self, name: &str, whom: Option<&Whom>) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 156 |     fn is_readable(&self, name: &str, whom: Option<&Whom>) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:173:82
[INFO] [stdout]     |
[INFO] [stdout] 173 |     fn is_writable(&self, name: &str, whom: Option<&Whom>) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 173 |     fn is_writable(&self, name: &str, whom: Option<&Whom>) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:190:56
[INFO] [stdout]     |
[INFO] [stdout] 190 |     fn md5sum(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 190 |     fn md5sum(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:196:59
[INFO] [stdout]     |
[INFO] [stdout] 196 |     fn sha256sum(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 196 |     fn sha256sum(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:202:60
[INFO] [stdout]     |
[INFO] [stdout] 202 |     fn selinux_label(&self, _: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 202 |     fn selinux_label(&self, _: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:206:54
[INFO] [stdout]     |
[INFO] [stdout] 206 |     fn size(&self, name: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 206 |     fn size(&self, name: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/provider/file/inline/posix.rs:214:32
[INFO] [stdout]     |
[INFO] [stdout] 214 |     fn box_clone(&self) -> Box<InlineProvider> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 214 |     fn box_clone(&self) -> Box<dyn InlineProvider> {
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/shell/mod.rs:13:28
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn clone(&self) -> Box<ShellProvider> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn clone(&self) -> Box<dyn ShellProvider> {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/shell/bsd.rs:12:36
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn mode(&self, name: &str, b: &Backend) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn mode(&self, name: &str, b: &dyn Backend) -> Result<Output, Box<Error>> {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/shell/bsd.rs:12:67
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn mode(&self, name: &str, b: &Backend) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     fn mode(&self, name: &str, b: &Backend) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/shell/bsd.rs:19:32
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn box_clone(&self) -> Box<ShellProvider> {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn box_clone(&self) -> Box<dyn ShellProvider> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:45:16
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn new(b: &Backend) -> Result<Specinfra, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn new(b: &dyn Backend) -> Result<Specinfra, Box<Error>> {
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/lib.rs:45:50
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn new(b: &Backend) -> Result<Specinfra, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn new(b: &Backend) -> Result<Specinfra, Box<dyn Error>> {
[INFO] [stdout]    |                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/backend/ssh.rs:39:46
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn finalize(self) -> Result<SSH, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn finalize(self) -> Result<SSH, Box<dyn Error>> {
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/mod.rs:11:30
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(i: Option<Box<InlineProvider>>, s: Option<Box<ShellProvider>>) -> FileProvider {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(i: Option<Box<dyn InlineProvider>>, s: Option<Box<ShellProvider>>) -> FileProvider {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/mod.rs:11:62
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(i: Option<Box<InlineProvider>>, s: Option<Box<ShellProvider>>) -> FileProvider {
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(i: Option<Box<InlineProvider>>, s: Option<Box<dyn ShellProvider>>) -> FileProvider {
[INFO] [stdout]    |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:26:65
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn file_owner(&self, name: &str) -> Result<users::User, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn file_owner(&self, name: &str) -> Result<users::User, Box<dyn Error>> {
[INFO] [stdout]    |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:33:66
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn file_group(&self, name: &str) -> Result<users::Group, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 33 |     fn file_group(&self, name: &str) -> Result<users::Group, Box<dyn Error>> {
[INFO] [stdout]    |                                                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:40:62
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn file_content(&self, name: &str) -> Result<String, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn file_content(&self, name: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:50:81
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn is_readable_by_user(&self, name: &str, user: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn is_readable_by_user(&self, name: &str, user: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]    |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/file/inline/posix.rs:66:81
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn is_writable_by_user(&self, name: &str, user: &str) -> Result<Output, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn is_writable_by_user(&self, name: &str, user: &str) -> Result<Output, Box<dyn Error>> {
[INFO] [stdout]    |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/mod.rs:41:49
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn to_u32(o: Output) -> Result<u32, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn to_u32(o: Output) -> Result<u32, Box<dyn Error>> {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/mod.rs:48:49
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn to_i64(o: Output) -> Result<i64, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn to_i64(o: Output) -> Result<i64, Box<dyn Error>> {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/mod.rs:55:51
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn to_bool(o: Output) -> Result<bool, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn to_bool(o: Output) -> Result<bool, Box<dyn Error>> {
[INFO] [stdout]    |                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/provider/mod.rs:62:55
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn to_string(o: Output) -> Result<String, Box<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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn to_string(o: Output) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/platforms.rs:12:28
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let mut p: Vec<Box<BasePlatform<Item = Box<Platform>>>> = Vec::new();
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let mut p: Vec<Box<dyn BasePlatform<Item = Box<Platform>>>> = Vec::new();
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/platform/platforms.rs:12:52
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let mut p: Vec<Box<BasePlatform<Item = Box<Platform>>>> = Vec::new();
[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/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |         let mut p: Vec<Box<BasePlatform<Item = Box<dyn Platform>>>> = Vec::new();
[INFO] [stdout]    |                                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `release` are never read
[INFO] [stdout]   --> src/platform/bsd/darwin.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Darwin {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 12 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 13 |     release: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Darwin` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:45:15
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn new(b: &Backend) -> Result<Specinfra, Box<Error>> {
[INFO] [stdout]    |               ^^^^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |               |
[INFO] [stdout]    |               the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub fn new(b: &Backend) -> Result<Specinfra<'_>, Box<Error>> {
[INFO] [stdout]    |                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/lib.rs:56:17
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn file(&self, name: &'static str) -> File {
[INFO] [stdout]    |                 ^^^^^                         ^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn file(&self, name: &'static str) -> File<'_> {
[INFO] [stdout]    |                                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> src/lib.rs:80:9
[INFO] [stdout]    |
[INFO] [stdout] 80 |         Box::from_raw(ptr);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let _ = Box::from_raw(ptr);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> src/backend/direct.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |         Box::from_raw(ptr);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 75 |         let _ = Box::from_raw(ptr);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]    --> src/backend/ssh.rs:109:9
[INFO] [stdout]     |
[INFO] [stdout] 109 |         Box::from_raw(ptr);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 109 |         let _ = Box::from_raw(ptr);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused return value of `Box::<T>::from_raw` that must be used
[INFO] [stdout]   --> src/resource/file.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 37 |         Box::from_raw(ptr);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: call `drop(Box::from_raw(ptr))` if you intend to drop the `Box`
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 37 |         let _ = Box::from_raw(ptr);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.92s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: bitflags v0.7.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "6274806476bb203582ff79a6951c0280ca0cf59b4850c436f99cf5fefb24c176", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6274806476bb203582ff79a6951c0280ca0cf59b4850c436f99cf5fefb24c176", kill_on_drop: false }`
[INFO] [stdout] 6274806476bb203582ff79a6951c0280ca0cf59b4850c436f99cf5fefb24c176
