[INFO] cloning repository https://github.com/angeldev7/bat
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/angeldev7/bat" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fangeldev7%2Fbat", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fangeldev7%2Fbat'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] cd501edcbded4dc344e0a0478472b0a4819c2251
[INFO] checking angeldev7/bat against try#09eeb2bacb9b40b2ed1d47f03177442c0632cda1 for pr-157710
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fangeldev7%2Fbat" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/angeldev7/bat
[INFO] finished tweaking git repo https://github.com/angeldev7/bat
[INFO] tweaked toml for git repo https://github.com/angeldev7/bat written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/angeldev7/bat on toolchain 09eeb2bacb9b40b2ed1d47f03177442c0632cda1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+09eeb2bacb9b40b2ed1d47f03177442c0632cda1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/angeldev7/bat already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+09eeb2bacb9b40b2ed1d47f03177442c0632cda1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `bat` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] abf7a548474319ff03d6a614e1781a96700a39905dc428cddd7ef47689c31dbb
[INFO] running `Command { std: "docker" "start" "abf7a548474319ff03d6a614e1781a96700a39905dc428cddd7ef47689c31dbb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "abf7a548474319ff03d6a614e1781a96700a39905dc428cddd7ef47689c31dbb" "/opt/rustwide/cargo-home/bin/cargo" "+09eeb2bacb9b40b2ed1d47f03177442c0632cda1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "abf7a548474319ff03d6a614e1781a96700a39905dc428cddd7ef47689c31dbb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "abf7a548474319ff03d6a614e1781a96700a39905dc428cddd7ef47689c31dbb" "/opt/rustwide/cargo-home/bin/cargo" "+09eeb2bacb9b40b2ed1d47f03177442c0632cda1" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `bat` (manifest) generated 1 warning
[INFO] [stderr]     Checking libc v0.2.43
[INFO] [stderr]    Compiling cc v1.0.25
[INFO] [stderr]    Compiling version_check v0.1.5
[INFO] [stderr]    Compiling pkg-config v0.3.14
[INFO] [stderr]    Compiling proc-macro2 v0.4.20
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling serde v1.0.79
[INFO] [stderr]    Compiling semver-parser v0.7.0
[INFO] [stderr]     Checking cfg-if v0.1.5
[INFO] [stderr]    Compiling ryu v0.2.6
[INFO] [stderr]     Checking encoding_index_tests v0.1.4
[INFO] [stderr]     Checking bitflags v1.0.4
[INFO] [stderr]     Checking void v1.0.2
[INFO] [stderr]     Checking rand_core v0.3.0
[INFO] [stderr]     Checking byteorder v1.2.6
[INFO] [stderr]     Checking matches v0.1.8
[INFO] [stderr]    Compiling unicode-width v0.1.5
[INFO] [stderr]     Checking itoa v0.4.3
[INFO] [stderr]     Checking ucd-util v0.1.1
[INFO] [stderr]     Checking stable_deref_trait v1.1.1
[INFO] [stderr]     Checking unreachable v1.0.0
[INFO] [stderr]     Checking smallvec v0.6.5
[INFO] [stderr]     Checking regex-syntax v0.6.2
[INFO] [stderr]     Checking unicode-bidi v0.3.4
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling plist v0.3.0
[INFO] [stderr]     Checking owning_ref v0.3.3
[INFO] [stderr]     Checking scopeguard v0.3.3
[INFO] [stderr]    Compiling vec_map v0.8.1
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]     Checking quick-error v1.2.2
[INFO] [stderr]     Checking rand_core v0.2.2
[INFO] [stderr]     Checking unicode-normalization v0.1.7
[INFO] [stderr]     Checking rand v0.5.5
[INFO] [stderr]    Compiling regex v1.0.5
[INFO] [stderr]     Checking safemem v0.3.0
[INFO] [stderr]    Compiling strsim v0.7.0
[INFO] [stderr]    Compiling ansi_term v0.11.0
[INFO] [stderr]    Compiling lazy_static v1.1.0
[INFO] [stderr]    Compiling memchr v2.1.0
[INFO] [stderr]    Compiling parking_lot_core v0.3.1
[INFO] [stderr]     Checking base64 v0.9.3
[INFO] [stderr]     Checking lock_api v0.1.4
[INFO] [stderr]    Compiling term_size v0.3.1
[INFO] [stderr]    Compiling atty v0.2.11
[INFO] [stderr]     Checking humantime v1.1.1
[INFO] [stderr]    Compiling textwrap v0.10.0
[INFO] [stderr]     Checking xml-rs v0.7.0
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]    Compiling quote v0.6.8
[INFO] [stderr]     Checking lazy_static v0.2.11
[INFO] [stderr]     Checking utf8-ranges v1.0.1
[INFO] [stderr]     Checking same-file v1.0.3
[INFO] [stderr]    Compiling escargot v0.3.1
[INFO] [stderr]     Checking percent-encoding v1.0.1
[INFO] [stderr]     Checking predicates-core v1.0.0
[INFO] [stderr]     Checking linked-hash-map v0.5.1
[INFO] [stderr]     Checking clicolors-control v0.2.0
[INFO] [stderr]     Checking walkdir v2.2.5
[INFO] [stderr]     Checking termios v0.3.1
[INFO] [stderr]     Checking log v0.4.5
[INFO] [stderr]    Compiling syn v0.15.9
[INFO] [stderr]     Checking yaml-rust v0.4.2
[INFO] [stderr]     Checking encoding-index-tradchinese v1.20141219.5
[INFO] [stderr]     Checking encoding-index-korean v1.20141219.5
[INFO] [stderr]     Checking encoding-index-singlebyte v1.20141219.5
[INFO] [stderr]     Checking aho-corasick v0.6.8
[INFO] [stderr]    Compiling clap v2.32.0
[INFO] [stderr]     Checking encoding-index-japanese v1.20141219.5
[INFO] [stderr]     Checking encoding-index-simpchinese v1.20141219.5
[INFO] [stderr]     Checking treeline v0.1.0
[INFO] [stderr]     Checking lazycell v1.2.0
[INFO] [stderr]    Compiling libz-sys v1.0.23
[INFO] [stderr]    Compiling miniz-sys v0.1.10
[INFO] [stderr]    Compiling onig_sys v69.0.0
[INFO] [stderr]    Compiling libgit2-sys v0.7.10
[INFO] [stderr]    Compiling ansi_colours v1.0.1
[INFO] [stderr]     Checking fnv v1.0.6
[INFO] [stderr]     Checking difference v2.0.0
[INFO] [stderr]     Checking predicates-tree v1.0.0
[INFO] [stderr]     Checking predicates v1.0.0
[INFO] [stderr]     Checking encoding v0.2.33
[INFO] [stderr]     Checking content_inspector v0.2.3
[INFO] [stderr]     Checking directories v1.0.2
[INFO] [stderr]     Checking parking_lot v0.6.4
[INFO] [stderr]     Checking rand v0.4.3
[INFO] [stderr]     Checking error-chain v0.12.0
[INFO] [stderr]     Checking wild v2.0.1
[INFO] [stderr]     Checking shell-words v0.1.0
[INFO] [stderr]     Checking remove_dir_all v0.5.1
[INFO] [stderr]     Checking idna v0.1.5
[INFO] [stderr]     Checking tempdir v0.3.7
[INFO] [stderr]     Checking flate2 v1.0.3
[INFO] [stderr]     Checking url v1.7.1
[INFO] [stderr]     Checking console v0.6.2
[INFO] [stderr]    Compiling serde_derive v1.0.79
[INFO] [stderr]    Compiling bat v0.8.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking onig v4.2.0
[INFO] [stderr]     Checking serde_json v1.0.32
[INFO] [stderr]     Checking bincode v1.0.1
[INFO] [stderr]     Checking syntect v3.0.1
[INFO] [stderr]     Checking assert_cmd v0.10.1
[INFO] [stderr]     Checking git2 v0.7.5
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/main.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | /     error_chain! {
[INFO] [stdout] 60 | |         foreign_links {
[INFO] [stdout] 61 | |             Clap(::clap::Error);
[INFO] [stdout] 62 | |             Io(::std::io::Error);
[INFO] [stdout] ...  |
[INFO] [stdout] 66 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `impl_error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/printer.rs:30:45
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn print_header(&mut self, handle: &mut Write, file: InputFile) -> Result<()>;
[INFO] [stdout]    |                                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 30 |     fn print_header(&mut self, handle: &mut dyn Write, file: InputFile) -> Result<()>;
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/printer.rs:31:45
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn print_footer(&mut self, handle: &mut Write) -> Result<()>;
[INFO] [stdout]    |                                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-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 print_footer(&mut self, handle: &mut dyn Write) -> Result<()>;
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/printer.rs:35:22
[INFO] [stdout]    |
[INFO] [stdout] 35 |         handle: &mut Write,
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |         handle: &mut dyn Write,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controller.rs:63:22
[INFO] [stdout]    |
[INFO] [stdout] 63 |         writer: &mut Write,
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 63 |         writer: &mut dyn Write,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controller.rs:76:22
[INFO] [stdout]    |
[INFO] [stdout] 76 |         writer: &mut Write,
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 76 |         writer: &mut dyn Write,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/printer.rs:162:54
[INFO] [stdout]     |
[INFO] [stdout] 162 |     fn print_horizontal_line(&mut self, handle: &mut Write, grid_char: char) -> Result<()> {
[INFO] [stdout]     |                                                      ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 162 |     fn print_horizontal_line(&mut self, handle: &mut dyn Write, grid_char: char) -> Result<()> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/printer.rs:188:45
[INFO] [stdout]     |
[INFO] [stdout] 188 |     fn print_header(&mut self, handle: &mut Write, file: InputFile) -> Result<()> {
[INFO] [stdout]     |                                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 188 |     fn print_header(&mut self, handle: &mut dyn Write, file: InputFile) -> Result<()> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/printer.rs:239:45
[INFO] [stdout]     |
[INFO] [stdout] 239 |     fn print_footer(&mut self, handle: &mut Write) -> Result<()> {
[INFO] [stdout]     |                                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 239 |     fn print_footer(&mut self, handle: &mut dyn Write) -> Result<()> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/printer.rs:250:22
[INFO] [stdout]     |
[INFO] [stdout] 250 |         handle: &mut Write,
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 250 |         handle: &mut dyn Write,
[INFO] [stdout]     |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/printer.rs:50:46
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn print_header(&mut self, _handle: &mut Write, _file: InputFile) -> Result<()> {
[INFO] [stdout]    |                                              ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-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 print_header(&mut self, _handle: &mut dyn Write, _file: InputFile) -> Result<()> {
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/printer.rs:54:46
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn print_footer(&mut self, _handle: &mut Write) -> Result<()> {
[INFO] [stdout]    |                                              ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn print_footer(&mut self, _handle: &mut dyn Write) -> Result<()> {
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/printer.rs:61:22
[INFO] [stdout]    |
[INFO] [stdout] 61 |         handle: &mut Write,
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 61 |         handle: &mut dyn Write,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/output.rs:72:45
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn handle(&mut self) -> Result<&mut Write> {
[INFO] [stdout]    |                                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn handle(&mut self) -> Result<&mut dyn Write> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::description`: use the Display impl or to_string()
[INFO] [stdout]   --> src/main.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | /     error_chain! {
[INFO] [stdout] 60 | |         foreign_links {
[INFO] [stdout] 61 | |             Clap(::clap::Error);
[INFO] [stdout] 62 | |             Io(::std::io::Error);
[INFO] [stdout] ...  |
[INFO] [stdout] 66 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `impl_error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/printer.rs:30:45
[INFO] [stdout]    |
[INFO] [stdout] 30 |     fn print_header(&mut self, handle: &mut Write, file: InputFile) -> Result<()>;
[INFO] [stdout]    |                                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 30 |     fn print_header(&mut self, handle: &mut dyn Write, file: InputFile) -> Result<()>;
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/printer.rs:31:45
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn print_footer(&mut self, handle: &mut Write) -> Result<()>;
[INFO] [stdout]    |                                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-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 print_footer(&mut self, handle: &mut dyn Write) -> Result<()>;
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/printer.rs:35:22
[INFO] [stdout]    |
[INFO] [stdout] 35 |         handle: &mut Write,
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 35 |         handle: &mut dyn Write,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controller.rs:63:22
[INFO] [stdout]    |
[INFO] [stdout] 63 |         writer: &mut Write,
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 63 |         writer: &mut dyn Write,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/controller.rs:76:22
[INFO] [stdout]    |
[INFO] [stdout] 76 |         writer: &mut Write,
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 76 |         writer: &mut dyn Write,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/printer.rs:162:54
[INFO] [stdout]     |
[INFO] [stdout] 162 |     fn print_horizontal_line(&mut self, handle: &mut Write, grid_char: char) -> Result<()> {
[INFO] [stdout]     |                                                      ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 162 |     fn print_horizontal_line(&mut self, handle: &mut dyn Write, grid_char: char) -> Result<()> {
[INFO] [stdout]     |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/printer.rs:188:45
[INFO] [stdout]     |
[INFO] [stdout] 188 |     fn print_header(&mut self, handle: &mut Write, file: InputFile) -> Result<()> {
[INFO] [stdout]     |                                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 188 |     fn print_header(&mut self, handle: &mut dyn Write, file: InputFile) -> Result<()> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/printer.rs:239:45
[INFO] [stdout]     |
[INFO] [stdout] 239 |     fn print_footer(&mut self, handle: &mut Write) -> Result<()> {
[INFO] [stdout]     |                                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 239 |     fn print_footer(&mut self, handle: &mut dyn Write) -> Result<()> {
[INFO] [stdout]     |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/printer.rs:250:22
[INFO] [stdout]     |
[INFO] [stdout] 250 |         handle: &mut Write,
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 250 |         handle: &mut dyn Write,
[INFO] [stdout]     |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/printer.rs:50:46
[INFO] [stdout]    |
[INFO] [stdout] 50 |     fn print_header(&mut self, _handle: &mut Write, _file: InputFile) -> Result<()> {
[INFO] [stdout]    |                                              ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-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 print_header(&mut self, _handle: &mut dyn Write, _file: InputFile) -> Result<()> {
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/printer.rs:54:46
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn print_footer(&mut self, _handle: &mut Write) -> Result<()> {
[INFO] [stdout]    |                                              ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn print_footer(&mut self, _handle: &mut dyn Write) -> Result<()> {
[INFO] [stdout]    |                                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/printer.rs:61:22
[INFO] [stdout]    |
[INFO] [stdout] 61 |         handle: &mut Write,
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 61 |         handle: &mut dyn Write,
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/output.rs:72:45
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn handle(&mut self) -> Result<&mut Write> {
[INFO] [stdout]    |                                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn handle(&mut self) -> Result<&mut dyn Write> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right_matches`: superseded by `trim_end_matches`
[INFO] [stdout]    --> src/printer.rs:339:38
[INFO] [stdout]     |
[INFO] [stdout] 339 | ...                   text.trim_right_matches(|c| c == '\r' || c == '\n'),
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 339 -                                 text.trim_right_matches(|c| c == '\r' || c == '\n'),
[INFO] [stdout] 339 +                                 text.trim_end_matches(|c| c == '\r' || c == '\n'),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/main.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | /     error_chain! {
[INFO] [stdout] 60 | |         foreign_links {
[INFO] [stdout] 61 | |             Clap(::clap::Error);
[INFO] [stdout] 62 | |             Io(::std::io::Error);
[INFO] [stdout] ...  |
[INFO] [stdout] 66 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right_matches`: superseded by `trim_end_matches`
[INFO] [stdout]    --> src/printer.rs:339:38
[INFO] [stdout]     |
[INFO] [stdout] 339 | ...                   text.trim_right_matches(|c| c == '\r' || c == '\n'),
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 339 -                                 text.trim_right_matches(|c| c == '\r' || c == '\n'),
[INFO] [stdout] 339 +                                 text.trim_end_matches(|c| c == '\r' || c == '\n'),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `std::error::Error::cause`: replaced by Error::source, which can support downcasting
[INFO] [stdout]   --> src/main.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | /     error_chain! {
[INFO] [stdout] 60 | |         foreign_links {
[INFO] [stdout] 61 | |             Clap(::clap::Error);
[INFO] [stdout] 62 | |             Io(::std::io::Error);
[INFO] [stdout] ...  |
[INFO] [stdout] 66 | |     }
[INFO] [stdout]    | |_____^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `impl_error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/printer.rs:318:21
[INFO] [stdout]     |
[INFO] [stdout] 318 |                 let mut ansi_iterator = AnsiCodeIterator::new(region);
[INFO] [stdout]     |                     ----^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (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/app.rs:131:19
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn config(&self) -> Result<Config> {
[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] 131 |     pub fn config(&self) -> Result<Config<'_>> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/app.rs:240:14
[INFO] [stdout]     |
[INFO] [stdout] 240 |     fn files(&self) -> Vec<InputFile> {
[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] 240 |     fn files(&self) -> Vec<InputFile<'_>> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/inputfile.rs:58:23
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn get_reader(&self, stdin: &'a io::Stdin) -> Result<InputFileReader> {
[INFO] [stdout]    |                       ^^^^^ the lifetime is elided here      ^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 58 |     pub fn get_reader(&self, stdin: &'a io::Stdin) -> Result<InputFileReader<'_>> {
[INFO] [stdout]    |                                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/printer.rs:318:21
[INFO] [stdout]     |
[INFO] [stdout] 318 |                 let mut ansi_iterator = AnsiCodeIterator::new(region);
[INFO] [stdout]     |                     ----^^^^^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (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/app.rs:131:19
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn config(&self) -> Result<Config> {
[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] 131 |     pub fn config(&self) -> Result<Config<'_>> {
[INFO] [stdout]     |                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/app.rs:240:14
[INFO] [stdout]     |
[INFO] [stdout] 240 |     fn files(&self) -> Vec<InputFile> {
[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] 240 |     fn files(&self) -> Vec<InputFile<'_>> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/inputfile.rs:58:23
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn get_reader(&self, stdin: &'a io::Stdin) -> Result<InputFileReader> {
[INFO] [stdout]    |                       ^^^^^ the lifetime is elided here      ^^^^^^^^^^^^^^^ the same lifetime is hidden 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] 58 |     pub fn get_reader(&self, stdin: &'a io::Stdin) -> Result<InputFileReader<'_>> {
[INFO] [stdout]    |                                                                             ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 44.70s
[INFO] running `Command { std: "docker" "inspect" "abf7a548474319ff03d6a614e1781a96700a39905dc428cddd7ef47689c31dbb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "abf7a548474319ff03d6a614e1781a96700a39905dc428cddd7ef47689c31dbb", kill_on_drop: false }`
[INFO] [stdout] abf7a548474319ff03d6a614e1781a96700a39905dc428cddd7ef47689c31dbb
