[INFO] cloning repository https://github.com/jbyte/chip8
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jbyte/chip8" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjbyte%2Fchip8", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjbyte%2Fchip8'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 26a560fc55c7d5f815923b9628295015f4d0cc47
[INFO] checking jbyte/chip8/26a560fc55c7d5f815923b9628295015f4d0cc47 against da86f4d0726be475afbbffe40cb2f65741c51ad3 for pr-159877
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjbyte%2Fchip8" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jbyte/chip8
[INFO] finished tweaking git repo https://github.com/jbyte/chip8
[INFO] tweaked toml for git repo https://github.com/jbyte/chip8 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jbyte/chip8 on toolchain da86f4d0726be475afbbffe40cb2f65741c51ad3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+da86f4d0726be475afbbffe40cb2f65741c51ad3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jbyte/chip8 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" "+da86f4d0726be475afbbffe40cb2f65741c51ad3" "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: `chip8` (manifest) generated 1 warning
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded libc v0.2.21
[INFO] [stderr]   Downloaded nom v2.2.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:1fa6594d87c8fa7b311925a7a77a16f539833322d9dfba4ce891f211db2f90b1" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] b37a90de5a8e5a6fc7a11dfcd9c57525242e330592fee32e8683ba43c43a6a99
[INFO] running `Command { std: "docker" "start" "b37a90de5a8e5a6fc7a11dfcd9c57525242e330592fee32e8683ba43c43a6a99", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b37a90de5a8e5a6fc7a11dfcd9c57525242e330592fee32e8683ba43c43a6a99", 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" "b37a90de5a8e5a6fc7a11dfcd9c57525242e330592fee32e8683ba43c43a6a99" "/opt/rustwide/cargo-home/bin/cargo" "+da86f4d0726be475afbbffe40cb2f65741c51ad3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "b37a90de5a8e5a6fc7a11dfcd9c57525242e330592fee32e8683ba43c43a6a99", 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" "b37a90de5a8e5a6fc7a11dfcd9c57525242e330592fee32e8683ba43c43a6a99" "/opt/rustwide/cargo-home/bin/cargo" "+da86f4d0726be475afbbffe40cb2f65741c51ad3" "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: `chip8` (manifest) generated 1 warning
[INFO] [stderr]     Checking libc v0.2.21
[INFO] [stderr]     Checking nom v2.2.0
[INFO] [stderr]     Checking rand v0.3.15
[INFO] [stderr]     Checking chip8 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `chain`: please use [`do_parse!`](macro.do_parse.html) instead
[INFO] [stdout]   --> src/debugger/command.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | / named!(
[INFO] [stdout] 25 | |     command<Command>,
[INFO] [stdout] 26 | |     chain!(
[INFO] [stdout] 27 | |         c: alt_complete!(
[INFO] [stdout] ...  |
[INFO] [stdout] 31 | |             eof!(),
[INFO] [stdout] 32 | |         || c));
[INFO] [stdout]    | |______________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/debugger/command.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | / named!(
[INFO] [stdout] 25 | |     command<Command>,
[INFO] [stdout] 26 | |     chain!(
[INFO] [stdout] 27 | |         c: alt_complete!(
[INFO] [stdout] ...  |
[INFO] [stdout] 31 | |             eof!(),
[INFO] [stdout] 32 | |         || c));
[INFO] [stdout]    | |______________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `alt_complete`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: `#[deny(semicolon_in_expressions_from_macros)]` (part of `#[deny(future_incompatible)]`) on by default
[INFO] [stdout]    = note: this error originates in the macro `alt_complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/debugger/command.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | / named!(
[INFO] [stdout] 25 | |     command<Command>,
[INFO] [stdout] 26 | |     chain!(
[INFO] [stdout] 27 | |         c: alt_complete!(
[INFO] [stdout] ...  |
[INFO] [stdout] 31 | |             eof!(),
[INFO] [stdout] 32 | |         || c));
[INFO] [stdout]    | |______________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `alt_complete`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this error originates in the macro `alt_complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/debugger/command.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | / named!(
[INFO] [stdout] 25 | |     command<Command>,
[INFO] [stdout] 26 | |     chain!(
[INFO] [stdout] 27 | |         c: alt_complete!(
[INFO] [stdout] ...  |
[INFO] [stdout] 31 | |             eof!(),
[INFO] [stdout] 32 | |         || c));
[INFO] [stdout]    | |______________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `alt_complete`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this error originates in the macro `alt_complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `chain`: please use [`do_parse!`](macro.do_parse.html) instead
[INFO] [stdout]   --> src/debugger/command.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | / named!(
[INFO] [stdout] 35 | |     step<Command>,
[INFO] [stdout] 36 | |     chain!(
[INFO] [stdout] 37 | |         alt_complete!(tag!("step") | tag!("s")) ~
[INFO] [stdout] 38 | |             count: opt!(preceded!(space, usize_parser)),
[INFO] [stdout] 39 | |         || Command::Step(count.unwrap_or(1))));
[INFO] [stdout]    | |______________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/debugger/command.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | / named!(
[INFO] [stdout] 35 | |     step<Command>,
[INFO] [stdout] 36 | |     chain!(
[INFO] [stdout] 37 | |         alt_complete!(tag!("step") | tag!("s")) ~
[INFO] [stdout] 38 | |             count: opt!(preceded!(space, usize_parser)),
[INFO] [stdout] 39 | |         || Command::Step(count.unwrap_or(1))));
[INFO] [stdout]    | |______________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `preceded`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this error originates in the macro `preceded` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/debugger/command.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | / named!(
[INFO] [stdout] 42 | |     exit<Command>,
[INFO] [stdout] 43 | |     map!(
[INFO] [stdout] 44 | |         alt_complete!(tag!("exit") | tag!("quit") | tag!("e") | tag!("q")),
[INFO] [stdout] 45 | |         |_| Command::Exit));
[INFO] [stdout]    | |___________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `map`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this error originates in the macro `map` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/debugger/command.rs:51:1
[INFO] [stdout]    |
[INFO] [stdout] 51 | / named!(
[INFO] [stdout] 52 | |     usize_parser<usize>,
[INFO] [stdout] 53 | |     map_res!(
[INFO] [stdout] 54 | |         map_res!(
[INFO] [stdout] 55 | |             digit,
[INFO] [stdout] 56 | |             str::from_utf8),
[INFO] [stdout] 57 | |         FromStr::from_str));
[INFO] [stdout]    | |___________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `map_res`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this error originates in the macro `map_res` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/debugger/command.rs:51:1
[INFO] [stdout]    |
[INFO] [stdout] 51 | / named!(
[INFO] [stdout] 52 | |     usize_parser<usize>,
[INFO] [stdout] 53 | |     map_res!(
[INFO] [stdout] 54 | |         map_res!(
[INFO] [stdout] 55 | |             digit,
[INFO] [stdout] 56 | |             str::from_utf8),
[INFO] [stdout] 57 | |         FromStr::from_str));
[INFO] [stdout]    | |___________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `map_res`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this error originates in the macro `map_res` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `chain`: please use [`do_parse!`](macro.do_parse.html) instead
[INFO] [stdout]   --> src/debugger/command.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | / named!(
[INFO] [stdout] 25 | |     command<Command>,
[INFO] [stdout] 26 | |     chain!(
[INFO] [stdout] 27 | |         c: alt_complete!(
[INFO] [stdout] ...  |
[INFO] [stdout] 31 | |             eof!(),
[INFO] [stdout] 32 | |         || c));
[INFO] [stdout]    | |______________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/debugger/command.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | / named!(
[INFO] [stdout] 25 | |     command<Command>,
[INFO] [stdout] 26 | |     chain!(
[INFO] [stdout] 27 | |         c: alt_complete!(
[INFO] [stdout] ...  |
[INFO] [stdout] 31 | |             eof!(),
[INFO] [stdout] 32 | |         || c));
[INFO] [stdout]    | |______________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `alt_complete`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: `#[deny(semicolon_in_expressions_from_macros)]` (part of `#[deny(future_incompatible)]`) on by default
[INFO] [stdout]    = note: this error originates in the macro `alt_complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/debugger/command.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | / named!(
[INFO] [stdout] 25 | |     command<Command>,
[INFO] [stdout] 26 | |     chain!(
[INFO] [stdout] 27 | |         c: alt_complete!(
[INFO] [stdout] ...  |
[INFO] [stdout] 31 | |             eof!(),
[INFO] [stdout] 32 | |         || c));
[INFO] [stdout]    | |______________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `alt_complete`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this error originates in the macro `alt_complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/debugger/command.rs:24:1
[INFO] [stdout]    |
[INFO] [stdout] 24 | / named!(
[INFO] [stdout] 25 | |     command<Command>,
[INFO] [stdout] 26 | |     chain!(
[INFO] [stdout] 27 | |         c: alt_complete!(
[INFO] [stdout] ...  |
[INFO] [stdout] 31 | |             eof!(),
[INFO] [stdout] 32 | |         || c));
[INFO] [stdout]    | |______________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `alt_complete`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this error originates in the macro `alt_complete` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `chain`: please use [`do_parse!`](macro.do_parse.html) instead
[INFO] [stdout]   --> src/debugger/command.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | / named!(
[INFO] [stdout] 35 | |     step<Command>,
[INFO] [stdout] 36 | |     chain!(
[INFO] [stdout] 37 | |         alt_complete!(tag!("step") | tag!("s")) ~
[INFO] [stdout] 38 | |             count: opt!(preceded!(space, usize_parser)),
[INFO] [stdout] 39 | |         || Command::Step(count.unwrap_or(1))));
[INFO] [stdout]    | |______________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/debugger/command.rs:34:1
[INFO] [stdout]    |
[INFO] [stdout] 34 | / named!(
[INFO] [stdout] 35 | |     step<Command>,
[INFO] [stdout] 36 | |     chain!(
[INFO] [stdout] 37 | |         alt_complete!(tag!("step") | tag!("s")) ~
[INFO] [stdout] 38 | |             count: opt!(preceded!(space, usize_parser)),
[INFO] [stdout] 39 | |         || Command::Step(count.unwrap_or(1))));
[INFO] [stdout]    | |______________________________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `preceded`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this error originates in the macro `preceded` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Cow`
[INFO] [stdout]  --> src/debugger/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::borrow::Cow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/debugger/command.rs:41:1
[INFO] [stdout]    |
[INFO] [stdout] 41 | / named!(
[INFO] [stdout] 42 | |     exit<Command>,
[INFO] [stdout] 43 | |     map!(
[INFO] [stdout] 44 | |         alt_complete!(tag!("exit") | tag!("quit") | tag!("e") | tag!("q")),
[INFO] [stdout] 45 | |         |_| Command::Exit));
[INFO] [stdout]    | |___________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `map`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this error originates in the macro `map` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/debugger/command.rs:51:1
[INFO] [stdout]    |
[INFO] [stdout] 51 | / named!(
[INFO] [stdout] 52 | |     usize_parser<usize>,
[INFO] [stdout] 53 | |     map_res!(
[INFO] [stdout] 54 | |         map_res!(
[INFO] [stdout] 55 | |             digit,
[INFO] [stdout] 56 | |             str::from_utf8),
[INFO] [stdout] 57 | |         FromStr::from_str));
[INFO] [stdout]    | |___________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `map_res`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this error originates in the macro `map_res` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]   --> src/debugger/command.rs:51:1
[INFO] [stdout]    |
[INFO] [stdout] 51 | / named!(
[INFO] [stdout] 52 | |     usize_parser<usize>,
[INFO] [stdout] 53 | |     map_res!(
[INFO] [stdout] 54 | |         map_res!(
[INFO] [stdout] 55 | |             digit,
[INFO] [stdout] 56 | |             str::from_utf8),
[INFO] [stdout] 57 | |         FromStr::from_str));
[INFO] [stdout]    | |___________________________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]    = note: to ignore the value produced by the macro, add a semicolon after the invocation of `map_res`
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]    = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]    = note: this error originates in the macro `map_res` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Cow`
[INFO] [stdout]  --> src/debugger/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::borrow::Cow;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INTERPRETER_START` is never used
[INFO] [stdout]  --> src/cpu/cpu.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const INTERPRETER_START: u32 = 0x000;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INTERPRETER_END` is never used
[INFO] [stdout]  --> src/cpu/cpu.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const INTERPRETER_END: u32 = 0x1FF;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INTERPRETER_LENGTH` is never used
[INFO] [stdout]  --> src/cpu/cpu.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const INTERPRETER_LENGTH: u32 = INTERPRETER_END - INTERPRETER_START;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA_END` is never used
[INFO] [stdout]   --> src/cpu/cpu.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const DATA_END: usize = 0xFFF;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA_LENGTH` is never used
[INFO] [stdout]   --> src/cpu/cpu.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const DATA_LENGTH: usize = DATA_END - DATA_START;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/cpu/cpu.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |         stdin().read(&mut c);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[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] 102 |         let _ = stdin().read(&mut c);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `chip8` (bin "chip8") due to 14 previous errors; 9 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: constant `INTERPRETER_START` is never used
[INFO] [stdout]  --> src/cpu/cpu.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const INTERPRETER_START: u32 = 0x000;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INTERPRETER_END` is never used
[INFO] [stdout]  --> src/cpu/cpu.rs:6:7
[INFO] [stdout]   |
[INFO] [stdout] 6 | const INTERPRETER_END: u32 = 0x1FF;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `INTERPRETER_LENGTH` is never used
[INFO] [stdout]  --> src/cpu/cpu.rs:7:7
[INFO] [stdout]   |
[INFO] [stdout] 7 | const INTERPRETER_LENGTH: u32 = INTERPRETER_END - INTERPRETER_START;
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA_END` is never used
[INFO] [stdout]   --> src/cpu/cpu.rs:14:7
[INFO] [stdout]    |
[INFO] [stdout] 14 | const DATA_END: usize = 0xFFF;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DATA_LENGTH` is never used
[INFO] [stdout]   --> src/cpu/cpu.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const DATA_LENGTH: usize = DATA_END - DATA_START;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/cpu/cpu.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |         stdin().read(&mut c);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[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] 102 |         let _ = stdin().read(&mut c);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `chip8` (bin "chip8" test) due to 14 previous errors; 9 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "b37a90de5a8e5a6fc7a11dfcd9c57525242e330592fee32e8683ba43c43a6a99", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b37a90de5a8e5a6fc7a11dfcd9c57525242e330592fee32e8683ba43c43a6a99", kill_on_drop: false }`
[INFO] [stdout] b37a90de5a8e5a6fc7a11dfcd9c57525242e330592fee32e8683ba43c43a6a99
