[INFO] cloning repository https://github.com/teozkr/rsbf
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/teozkr/rsbf" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fteozkr%2Frsbf", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fteozkr%2Frsbf'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 41600141aace3584cbb8f8e5910e2dce0a36d89b
[INFO] checking teozkr/rsbf/41600141aace3584cbb8f8e5910e2dce0a36d89b against 4fcf39725a9c99bd495d8c73af83628a256ff9a9 for pr-162233-crater-rollup
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fteozkr%2Frsbf" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/teozkr/rsbf
[INFO] finished tweaking git repo https://github.com/teozkr/rsbf
[INFO] tweaked toml for git repo https://github.com/teozkr/rsbf written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/teozkr/rsbf on toolchain 4fcf39725a9c99bd495d8c73af83628a256ff9a9
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4fcf39725a9c99bd495d8c73af83628a256ff9a9" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/teozkr/rsbf 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" "+4fcf39725a9c99bd495d8c73af83628a256ff9a9" "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: `rsbf` (manifest) generated 1 warning
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] f9cc52a6e160b402cecf5df758c37cf7e87e666f85c5e8c017f52a0dce8c7ff8
[INFO] running `Command { std: "docker" "start" "f9cc52a6e160b402cecf5df758c37cf7e87e666f85c5e8c017f52a0dce8c7ff8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f9cc52a6e160b402cecf5df758c37cf7e87e666f85c5e8c017f52a0dce8c7ff8", 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" "f9cc52a6e160b402cecf5df758c37cf7e87e666f85c5e8c017f52a0dce8c7ff8" "/opt/rustwide/cargo-home/bin/cargo" "+4fcf39725a9c99bd495d8c73af83628a256ff9a9" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f9cc52a6e160b402cecf5df758c37cf7e87e666f85c5e8c017f52a0dce8c7ff8", 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" "f9cc52a6e160b402cecf5df758c37cf7e87e666f85c5e8c017f52a0dce8c7ff8" "/opt/rustwide/cargo-home/bin/cargo" "+4fcf39725a9c99bd495d8c73af83628a256ff9a9" "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: `rsbf` (manifest) generated 1 warning
[INFO] [stderr]     Checking rsbf v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bf/interp.rs:62:17
[INFO] [stdout]    |
[INFO] [stdout] 62 |                 try!(self.stdin.read(&mut buf));
[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/bf/interp.rs:88:17
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 try!(self.run_token(tok));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bf/interp.rs:99:11
[INFO] [stdout]    |
[INFO] [stdout] 99 |     while try!(state.run_next()) {
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bf/interp.rs:105:15
[INFO] [stdout]     |
[INFO] [stdout] 105 |     let buf = try!(read_file(path));
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io`
[INFO] [stdout]    --> src/bf/interp.rs:116:13
[INFO] [stdout]     |
[INFO] [stdout] 116 |         use std::io;
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bf/asm.rs:136:15
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let buf = try!(read_file(path));
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bf/internals.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     try!(file.read_to_end(&mut buf));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bf/internals.rs:68:20
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let mut file = try!(File::open(path));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/bf/interp.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 |     stdin: &'a mut Read,
[INFO] [stdout]   |                    ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 7 |     stdin: &'a mut dyn Read,
[INFO] [stdout]   |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/bf/interp.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 |     stdout: &'a 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] 8 |     stdout: &'a mut dyn Write,
[INFO] [stdout]   |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bf/interp.rs:16:27
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn new(stdin: &'a mut Read, stdout: &'a mut Write, src: &'a [u8]) -> BFState<'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] 16 |     fn new(stdin: &'a mut dyn Read, stdout: &'a mut Write, src: &'a [u8]) -> BFState<'a> {
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bf/interp.rs:16:49
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn new(stdin: &'a mut Read, stdout: &'a mut Write, src: &'a [u8]) -> BFState<'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] 16 |     fn new(stdin: &'a mut Read, stdout: &'a mut dyn Write, src: &'a [u8]) -> BFState<'a> {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bf/interp.rs:97:28
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub fn run_buf(stdin: &mut Read, stdout: &mut Write, buf: &[u8]) -> 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] 97 | pub fn run_buf(stdin: &mut dyn Read, stdout: &mut Write, buf: &[u8]) -> Result<()> {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bf/interp.rs:97:47
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub fn run_buf(stdin: &mut Read, stdout: &mut Write, buf: &[u8]) -> 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] 97 | pub fn run_buf(stdin: &mut Read, stdout: &mut dyn Write, buf: &[u8]) -> Result<()> {
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bf/interp.rs:104:29
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn run_file(stdin: &mut Read, stdout: &mut Write, path: &Path) -> 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] 104 | pub fn run_file(stdin: &mut dyn Read, stdout: &mut Write, path: &Path) -> Result<()> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bf/interp.rs:104:48
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn run_file(stdin: &mut Read, stdout: &mut Write, path: &Path) -> 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] 104 | pub fn run_file(stdin: &mut Read, stdout: &mut dyn Write, path: &Path) -> Result<()> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/bf/asm.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn new(src: &[u8]) -> BFCState {
[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] 13 |     fn new(src: &[u8]) -> BFCState<'_> {
[INFO] [stdout]    |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bf/interp.rs:62:17
[INFO] [stdout]    |
[INFO] [stdout] 62 |                 try!(self.stdin.read(&mut buf));
[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/bf/interp.rs:88:17
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 try!(self.run_token(tok));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bf/interp.rs:99:11
[INFO] [stdout]    |
[INFO] [stdout] 99 |     while try!(state.run_next()) {
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bf/interp.rs:105:15
[INFO] [stdout]     |
[INFO] [stdout] 105 |     let buf = try!(read_file(path));
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/bf/asm.rs:136:15
[INFO] [stdout]     |
[INFO] [stdout] 136 |     let buf = try!(read_file(path));
[INFO] [stdout]     |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bf/internals.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     try!(file.read_to_end(&mut buf));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/bf/internals.rs:68:20
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let mut file = try!(File::open(path));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/bf/interp.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 |     stdin: &'a mut Read,
[INFO] [stdout]   |                    ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 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] 7 |     stdin: &'a mut dyn Read,
[INFO] [stdout]   |                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/bf/interp.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 |     stdout: &'a 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] 8 |     stdout: &'a mut dyn Write,
[INFO] [stdout]   |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bf/interp.rs:16:27
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn new(stdin: &'a mut Read, stdout: &'a mut Write, src: &'a [u8]) -> BFState<'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] 16 |     fn new(stdin: &'a mut dyn Read, stdout: &'a mut Write, src: &'a [u8]) -> BFState<'a> {
[INFO] [stdout]    |                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bf/interp.rs:16:49
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn new(stdin: &'a mut Read, stdout: &'a mut Write, src: &'a [u8]) -> BFState<'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] 16 |     fn new(stdin: &'a mut Read, stdout: &'a mut dyn Write, src: &'a [u8]) -> BFState<'a> {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bf/interp.rs:97:28
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub fn run_buf(stdin: &mut Read, stdout: &mut Write, buf: &[u8]) -> 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] 97 | pub fn run_buf(stdin: &mut dyn Read, stdout: &mut Write, buf: &[u8]) -> Result<()> {
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/bf/interp.rs:97:47
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub fn run_buf(stdin: &mut Read, stdout: &mut Write, buf: &[u8]) -> 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] 97 | pub fn run_buf(stdin: &mut Read, stdout: &mut dyn Write, buf: &[u8]) -> Result<()> {
[INFO] [stdout]    |                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bf/interp.rs:104:29
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn run_file(stdin: &mut Read, stdout: &mut Write, path: &Path) -> 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] 104 | pub fn run_file(stdin: &mut dyn Read, stdout: &mut Write, path: &Path) -> Result<()> {
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bf/interp.rs:104:48
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub fn run_file(stdin: &mut Read, stdout: &mut Write, path: &Path) -> 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] 104 | pub fn run_file(stdin: &mut Read, stdout: &mut dyn Write, path: &Path) -> Result<()> {
[INFO] [stdout]     |                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/bf/asm.rs:13:17
[INFO] [stdout]    |
[INFO] [stdout] 13 |     fn new(src: &[u8]) -> BFCState {
[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] 13 |     fn new(src: &[u8]) -> BFCState<'_> {
[INFO] [stdout]    |                                   ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.34s
[INFO] running `Command { std: "docker" "inspect" "f9cc52a6e160b402cecf5df758c37cf7e87e666f85c5e8c017f52a0dce8c7ff8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f9cc52a6e160b402cecf5df758c37cf7e87e666f85c5e8c017f52a0dce8c7ff8", kill_on_drop: false }`
[INFO] [stdout] f9cc52a6e160b402cecf5df758c37cf7e87e666f85c5e8c017f52a0dce8c7ff8
