[INFO] cloning repository https://github.com/1011X/REL-16
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/1011X/REL-16" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F1011X%2FREL-16", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F1011X%2FREL-16'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] da97ec477cd158ccc34b36664b8d2cd9c951b51f
[INFO] checking 1011X/REL-16 against try#f77b5bc6c7c84df104f86b0dd01d9490e3923fa8 for pr-147834
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2F1011X%2FREL-16" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/1011X/REL-16
[INFO] finished tweaking git repo https://github.com/1011X/REL-16
[INFO] tweaked toml for git repo https://github.com/1011X/REL-16 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/1011X/REL-16 on toolchain f77b5bc6c7c84df104f86b0dd01d9490e3923fa8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/1011X/REL-16 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" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8f3eb9efc93dadfe633ccfa3115f0fab55314202ad66a95a3fef44a7927b019f
[INFO] running `Command { std: "docker" "start" "-a" "8f3eb9efc93dadfe633ccfa3115f0fab55314202ad66a95a3fef44a7927b019f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8f3eb9efc93dadfe633ccfa3115f0fab55314202ad66a95a3fef44a7927b019f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8f3eb9efc93dadfe633ccfa3115f0fab55314202ad66a95a3fef44a7927b019f", kill_on_drop: false }`
[INFO] [stdout] 8f3eb9efc93dadfe633ccfa3115f0fab55314202ad66a95a3fef44a7927b019f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e170041197433dea135652abde7f82dde47d84de81dfef3e4f49e6b7e42375ba
[INFO] running `Command { std: "docker" "start" "-a" "e170041197433dea135652abde7f82dde47d84de81dfef3e4f49e6b7e42375ba", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.24
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling syn v1.0.60
[INFO] [stderr]    Compiling regex-syntax v0.6.22
[INFO] [stderr]    Compiling utf8-ranges v1.0.4
[INFO] [stderr]    Compiling beef v0.4.4
[INFO] [stderr]     Checking unicode-width v0.1.5
[INFO] [stderr]     Checking getopts v0.2.18
[INFO] [stderr]    Compiling quote v1.0.8
[INFO] [stderr]    Compiling logos-derive v0.11.5
[INFO] [stderr]     Checking logos v0.11.4
[INFO] [stderr]     Checking rel v0.6.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::convert::From`
[INFO] [stdout]  --> src/vm/instr.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::convert::From;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/vm/instr.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/vm/cpu.rs:13:42
[INFO] [stdout]     |
[INFO] [stdout]  13 |         std::mem::swap(&mut $left, &mut $right);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 126 |                 swap!(self.pc, self.reg[r]),
[INFO] [stdout]     |                 --------------------------- in this macro invocation
[INFO] [stdout]     |
[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 `swap` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `labels`
[INFO] [stdout]   --> src/assembler/mod.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 39 |     if cfg!(feature = "labels") {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `labels` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `labels`
[INFO] [stdout]   --> src/isa/op.rs:67:11
[INFO] [stdout]    |
[INFO] [stdout] 67 |     #[cfg(feature = "labels")]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `labels` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `labels`
[INFO] [stdout]   --> src/isa/op.rs:78:19
[INFO] [stdout]    |
[INFO] [stdout] 78 |             #[cfg(feature = "labels")]
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `labels` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `labels`
[INFO] [stdout]   --> src/isa/op.rs:89:19
[INFO] [stdout]    |
[INFO] [stdout] 89 |             #[cfg(feature = "labels")]
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `labels` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `labels`
[INFO] [stdout]    --> src/isa/op.rs:100:19
[INFO] [stdout]     |
[INFO] [stdout] 100 |             #[cfg(feature = "labels")]
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `labels` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `labels`
[INFO] [stdout]    --> src/isa/op.rs:243:19
[INFO] [stdout]     |
[INFO] [stdout] 243 |             #[cfg(feature = "labels")]
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `labels` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `labels`
[INFO] [stdout]    --> src/isa/op.rs:349:23
[INFO] [stdout]     |
[INFO] [stdout] 349 |                 #[cfg(feature = "labels")]
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout] ...
[INFO] [stdout] 409 |             "bo" => Op::BranchParity(true, reg!(), offset!(0xFF)),
[INFO] [stdout]     |                                                    ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `labels` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the macro `offset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `labels`
[INFO] [stdout]    --> src/isa/op.rs:349:23
[INFO] [stdout]     |
[INFO] [stdout] 349 |                 #[cfg(feature = "labels")]
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout] ...
[INFO] [stdout] 410 |             "be" => Op::BranchParity(false, reg!(), offset!(0xFF)),
[INFO] [stdout]     |                                                     ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `labels` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the macro `offset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `labels`
[INFO] [stdout]    --> src/isa/op.rs:349:23
[INFO] [stdout]     |
[INFO] [stdout] 349 |                 #[cfg(feature = "labels")]
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout] ...
[INFO] [stdout] 411 |             "bs" => Op::BranchSign(true, reg!(), offset!(0xFF)),
[INFO] [stdout]     |                                                  ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `labels` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the macro `offset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `labels`
[INFO] [stdout]    --> src/isa/op.rs:349:23
[INFO] [stdout]     |
[INFO] [stdout] 349 |                 #[cfg(feature = "labels")]
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout] ...
[INFO] [stdout] 412 |             "bn" => Op::BranchSign(false, reg!(), offset!(0xFF)),
[INFO] [stdout]     |                                                   ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `labels` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the macro `offset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `labels`
[INFO] [stdout]    --> src/isa/op.rs:349:23
[INFO] [stdout]     |
[INFO] [stdout] 349 |                 #[cfg(feature = "labels")]
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout] ...
[INFO] [stdout] 414 |             "jmp" => Op::Jump(offset!(0x1FFF)),
[INFO] [stdout]     |                               --------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `labels` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the macro `offset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Offset`
[INFO] [stdout]  --> src/isa/mod.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use self::op::{Op, Offset};
[INFO] [stdout]   |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `super::super::reg`
[INFO] [stdout]    --> src/vm/instr.rs:196:23
[INFO] [stdout]     |
[INFO] [stdout] 196 |     use super::super::reg::Reg;
[INFO] [stdout]     |                       ^^^ could not find `reg` in `super`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `super::Op`, `super::Offset`
[INFO] [stdout]    --> src/vm/instr.rs:195:17
[INFO] [stdout]     |
[INFO] [stdout] 195 |     use super::{Op, Offset};
[INFO] [stdout]     |                 ^^  ^^^^^^ no `Offset` in `vm::instr`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 no `Op` in `vm::instr`
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider importing this enum through its public re-export instead:
[INFO] [stdout]             crate::isa::Op
[INFO] [stdout]     = help: consider importing this enum through its public re-export instead:
[INFO] [stdout]             crate::isa::Offset
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::From`
[INFO] [stdout]  --> src/vm/instr.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::convert::From;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/vm/instr.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]    --> src/vm/instr.rs:194:9
[INFO] [stdout]     |
[INFO] [stdout] 194 |     use std::str::FromStr;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/vm/cpu.rs:13:42
[INFO] [stdout]     |
[INFO] [stdout]  13 |         std::mem::swap(&mut $left, &mut $right);
[INFO] [stdout]     |                                                ^
[INFO] [stdout] ...
[INFO] [stdout] 126 |                 swap!(self.pc, self.reg[r]),
[INFO] [stdout]     |                 --------------------------- in this macro invocation
[INFO] [stdout]     |
[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 `swap` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `labels`
[INFO] [stdout]   --> src/assembler/mod.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 39 |     if cfg!(feature = "labels") {
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `labels` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]    = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `labels`
[INFO] [stdout]   --> src/isa/op.rs:67:11
[INFO] [stdout]    |
[INFO] [stdout] 67 |     #[cfg(feature = "labels")]
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `labels` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `labels`
[INFO] [stdout]   --> src/isa/op.rs:78:19
[INFO] [stdout]    |
[INFO] [stdout] 78 |             #[cfg(feature = "labels")]
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `labels` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `labels`
[INFO] [stdout]   --> src/isa/op.rs:89:19
[INFO] [stdout]    |
[INFO] [stdout] 89 |             #[cfg(feature = "labels")]
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]    |
[INFO] [stdout]    = note: no expected values for `feature`
[INFO] [stdout]    = help: consider adding `labels` as a feature in `Cargo.toml`
[INFO] [stdout]    = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `labels`
[INFO] [stdout]    --> src/isa/op.rs:100:19
[INFO] [stdout]     |
[INFO] [stdout] 100 |             #[cfg(feature = "labels")]
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `labels` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `labels`
[INFO] [stdout]    --> src/isa/op.rs:243:19
[INFO] [stdout]     |
[INFO] [stdout] 243 |             #[cfg(feature = "labels")]
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `labels` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `labels`
[INFO] [stdout]    --> src/isa/op.rs:349:23
[INFO] [stdout]     |
[INFO] [stdout] 349 |                 #[cfg(feature = "labels")]
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout] ...
[INFO] [stdout] 409 |             "bo" => Op::BranchParity(true, reg!(), offset!(0xFF)),
[INFO] [stdout]     |                                                    ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `labels` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the macro `offset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `labels`
[INFO] [stdout]    --> src/isa/op.rs:349:23
[INFO] [stdout]     |
[INFO] [stdout] 349 |                 #[cfg(feature = "labels")]
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout] ...
[INFO] [stdout] 410 |             "be" => Op::BranchParity(false, reg!(), offset!(0xFF)),
[INFO] [stdout]     |                                                     ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `labels` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the macro `offset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `labels`
[INFO] [stdout]    --> src/isa/op.rs:349:23
[INFO] [stdout]     |
[INFO] [stdout] 349 |                 #[cfg(feature = "labels")]
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout] ...
[INFO] [stdout] 411 |             "bs" => Op::BranchSign(true, reg!(), offset!(0xFF)),
[INFO] [stdout]     |                                                  ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `labels` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the macro `offset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `labels`
[INFO] [stdout]    --> src/isa/op.rs:349:23
[INFO] [stdout]     |
[INFO] [stdout] 349 |                 #[cfg(feature = "labels")]
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout] ...
[INFO] [stdout] 412 |             "bn" => Op::BranchSign(false, reg!(), offset!(0xFF)),
[INFO] [stdout]     |                                                   ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `labels` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the macro `offset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `labels`
[INFO] [stdout]    --> src/isa/op.rs:349:23
[INFO] [stdout]     |
[INFO] [stdout] 349 |                 #[cfg(feature = "labels")]
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout] ...
[INFO] [stdout] 414 |             "jmp" => Op::Jump(offset!(0x1FFF)),
[INFO] [stdout]     |                               --------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `labels` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: this warning originates in the macro `offset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]    --> src/isa/op.rs:430:9
[INFO] [stdout]     |
[INFO] [stdout] 430 |     use std::str::FromStr;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Offset` and `Op`
[INFO] [stdout]    --> src/isa/op.rs:431:17
[INFO] [stdout]     |
[INFO] [stdout] 431 |     use super::{Op, Offset};
[INFO] [stdout]     |                 ^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::super::reg::Reg`
[INFO] [stdout]    --> src/isa/op.rs:432:9
[INFO] [stdout]     |
[INFO] [stdout] 432 |     use super::super::reg::Reg;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Offset`
[INFO] [stdout]  --> src/isa/mod.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub use self::op::{Op, Offset};
[INFO] [stdout]   |                        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> src/vm/instr.rs:238:42
[INFO] [stdout]     |
[INFO] [stdout] 238 |             assert_eq!(op, Op::from_str(&op.to_string()).unwrap());
[INFO] [stdout]     |                                          ^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `&Address`
[INFO] [stdout]    --> src/isa/op.rs:173:22
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 173 |     Exchange(RegMut, Address),
[INFO] [stdout]     |                      ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `Address`
[INFO] [stdout]    --> src/isa/op.rs:132:1
[INFO] [stdout]     |
[INFO] [stdout] 132 | enum Address {
[INFO] [stdout]     | ^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `Address` with `#[derive(PartialEq)]`
[INFO] [stdout]     |
[INFO] [stdout] 132 + #[derive(PartialEq)]
[INFO] [stdout] 133 | enum Address {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `&Value`
[INFO] [stdout]    --> src/isa/op.rs:177:17
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 177 |     Xor(RegMut, Value),
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `Value`
[INFO] [stdout]    --> src/isa/op.rs:126:1
[INFO] [stdout]     |
[INFO] [stdout] 126 | enum Value {
[INFO] [stdout]     | ^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `Value` with `#[derive(PartialEq)]`
[INFO] [stdout]     |
[INFO] [stdout] 126 + #[derive(PartialEq)]
[INFO] [stdout] 127 | enum Value {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `&Value`
[INFO] [stdout]    --> src/isa/op.rs:181:17
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 181 |     Add(RegMut, Value),
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `Value`
[INFO] [stdout]    --> src/isa/op.rs:126:1
[INFO] [stdout]     |
[INFO] [stdout] 126 | enum Value {
[INFO] [stdout]     | ^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `Value` with `#[derive(PartialEq)]`
[INFO] [stdout]     |
[INFO] [stdout] 126 + #[derive(PartialEq)]
[INFO] [stdout] 127 | enum Value {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `&Value`
[INFO] [stdout]    --> src/isa/op.rs:185:17
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 185 |     Sub(RegMut, Value),
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `Value`
[INFO] [stdout]    --> src/isa/op.rs:126:1
[INFO] [stdout]     |
[INFO] [stdout] 126 | enum Value {
[INFO] [stdout]     | ^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `Value` with `#[derive(PartialEq)]`
[INFO] [stdout]     |
[INFO] [stdout] 126 + #[derive(PartialEq)]
[INFO] [stdout] 127 | enum Value {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `&Value`
[INFO] [stdout]    --> src/isa/op.rs:191:18
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 191 |     LRot(RegMut, Value),
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `Value`
[INFO] [stdout]    --> src/isa/op.rs:126:1
[INFO] [stdout]     |
[INFO] [stdout] 126 | enum Value {
[INFO] [stdout]     | ^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `Value` with `#[derive(PartialEq)]`
[INFO] [stdout]     |
[INFO] [stdout] 126 + #[derive(PartialEq)]
[INFO] [stdout] 127 | enum Value {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `&Value`
[INFO] [stdout]    --> src/isa/op.rs:197:18
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 197 |     RRot(RegMut, Value),
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `Value`
[INFO] [stdout]    --> src/isa/op.rs:126:1
[INFO] [stdout]     |
[INFO] [stdout] 126 | enum Value {
[INFO] [stdout]     | ^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `Value` with `#[derive(PartialEq)]`
[INFO] [stdout]     |
[INFO] [stdout] 126 + #[derive(PartialEq)]
[INFO] [stdout] 127 | enum Value {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `&Address`
[INFO] [stdout]    --> src/isa/op.rs:214:10
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 214 |     Jump(Address),
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `Address`
[INFO] [stdout]    --> src/isa/op.rs:132:1
[INFO] [stdout]     |
[INFO] [stdout] 132 | enum Address {
[INFO] [stdout]     | ^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `Address` with `#[derive(PartialEq)]`
[INFO] [stdout]     |
[INFO] [stdout] 132 + #[derive(PartialEq)]
[INFO] [stdout] 133 | enum Address {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `&Address`
[INFO] [stdout]    --> src/isa/op.rs:218:20
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 218 |     BranchOdd(Reg, Address),
[INFO] [stdout]     |                    ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `Address`
[INFO] [stdout]    --> src/isa/op.rs:132:1
[INFO] [stdout]     |
[INFO] [stdout] 132 | enum Address {
[INFO] [stdout]     | ^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `Address` with `#[derive(PartialEq)]`
[INFO] [stdout]     |
[INFO] [stdout] 132 + #[derive(PartialEq)]
[INFO] [stdout] 133 | enum Address {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `&Address`
[INFO] [stdout]    --> src/isa/op.rs:222:21
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 222 |     BranchEven(Reg, Address),
[INFO] [stdout]     |                     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `Address`
[INFO] [stdout]    --> src/isa/op.rs:132:1
[INFO] [stdout]     |
[INFO] [stdout] 132 | enum Address {
[INFO] [stdout]     | ^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `Address` with `#[derive(PartialEq)]`
[INFO] [stdout]     |
[INFO] [stdout] 132 + #[derive(PartialEq)]
[INFO] [stdout] 133 | enum Address {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `&Address`
[INFO] [stdout]    --> src/isa/op.rs:226:21
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 226 |     BranchSign(Reg, Address),
[INFO] [stdout]     |                     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `Address`
[INFO] [stdout]    --> src/isa/op.rs:132:1
[INFO] [stdout]     |
[INFO] [stdout] 132 | enum Address {
[INFO] [stdout]     | ^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `Address` with `#[derive(PartialEq)]`
[INFO] [stdout]     |
[INFO] [stdout] 132 + #[derive(PartialEq)]
[INFO] [stdout] 133 | enum Address {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `&Address`
[INFO] [stdout]    --> src/isa/op.rs:230:23
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 230 |     BranchUnsign(Reg, Address),
[INFO] [stdout]     |                       ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `Address`
[INFO] [stdout]    --> src/isa/op.rs:132:1
[INFO] [stdout]     |
[INFO] [stdout] 132 | enum Address {
[INFO] [stdout]     | ^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `Address` with `#[derive(PartialEq)]`
[INFO] [stdout]     |
[INFO] [stdout] 132 + #[derive(PartialEq)]
[INFO] [stdout] 133 | enum Address {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Address: Eq` is not satisfied
[INFO] [stdout]    --> src/isa/op.rs:173:22
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                                   -- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 173 |     Exchange(RegMut, Address),
[INFO] [stdout]     |                      ^^^^^^^ the trait `Eq` is not implemented for `Address`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `AssertParamIsEq`
[INFO] [stdout]    --> /rustc/f77b5bc6c7c84df104f86b0dd01d9490e3923fa8/library/core/src/cmp.rs:367:1
[INFO] [stdout] help: consider annotating `Address` with `#[derive(Eq)]`
[INFO] [stdout]     |
[INFO] [stdout] 132 + #[derive(Eq)]
[INFO] [stdout] 133 | enum Address {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Value: Eq` is not satisfied
[INFO] [stdout]    --> src/isa/op.rs:177:17
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                                   -- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 177 |     Xor(RegMut, Value),
[INFO] [stdout]     |                 ^^^^^ the trait `Eq` is not implemented for `Value`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `AssertParamIsEq`
[INFO] [stdout]    --> /rustc/f77b5bc6c7c84df104f86b0dd01d9490e3923fa8/library/core/src/cmp.rs:367:1
[INFO] [stdout] help: consider annotating `Value` with `#[derive(Eq)]`
[INFO] [stdout]     |
[INFO] [stdout] 126 + #[derive(Eq)]
[INFO] [stdout] 127 | enum Value {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: `?` operator has incompatible types
[INFO] [stdout]    --> src/isa/op.rs:331:13
[INFO] [stdout]     |
[INFO] [stdout] 331 |             token!().parse::<Reg>()?
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^ expected `Address`, found `Reg`
[INFO] [stdout] ...
[INFO] [stdout] 392 |             "xchg" => Op::Exchange(reg!(), reg!()),
[INFO] [stdout]     |                                            ------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `?` operator cannot convert from `Reg` to `Address`
[INFO] [stdout]     = note: this error originates in the macro `reg` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: `?` operator has incompatible types
[INFO] [stdout]    --> src/isa/op.rs:331:13
[INFO] [stdout]     |
[INFO] [stdout] 331 |             token!().parse::<Reg>()?
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^ expected `Value`, found `Reg`
[INFO] [stdout] ...
[INFO] [stdout] 393 |             "xor"  => Op::Xor(reg!(), reg!()),
[INFO] [stdout]     |                                       ------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `?` operator cannot convert from `Reg` to `Value`
[INFO] [stdout]     = note: this error originates in the macro `reg` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: try wrapping the expression in `isa::op::Value::Reg`
[INFO] [stdout]     |
[INFO] [stdout] 331 |             isa::op::Value::Reg(token!().parse::<Reg>()?)
[INFO] [stdout]     |             ++++++++++++++++++++                        +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: `?` operator has incompatible types
[INFO] [stdout]    --> src/isa/op.rs:331:13
[INFO] [stdout]     |
[INFO] [stdout] 331 |             token!().parse::<Reg>()?
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^ expected `Value`, found `Reg`
[INFO] [stdout] ...
[INFO] [stdout] 394 |             "add"  => Op::Add(reg!(), reg!()),
[INFO] [stdout]     |                                       ------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `?` operator cannot convert from `Reg` to `Value`
[INFO] [stdout]     = note: this error originates in the macro `reg` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: try wrapping the expression in `isa::op::Value::Reg`
[INFO] [stdout]     |
[INFO] [stdout] 331 |             isa::op::Value::Reg(token!().parse::<Reg>()?)
[INFO] [stdout]     |             ++++++++++++++++++++                        +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: `?` operator has incompatible types
[INFO] [stdout]    --> src/isa/op.rs:331:13
[INFO] [stdout]     |
[INFO] [stdout] 331 |             token!().parse::<Reg>()?
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^ expected `Value`, found `Reg`
[INFO] [stdout] ...
[INFO] [stdout] 395 |             "sub"  => Op::Sub(reg!(), reg!()),
[INFO] [stdout]     |                                       ------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `?` operator cannot convert from `Reg` to `Value`
[INFO] [stdout]     = note: this error originates in the macro `reg` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: try wrapping the expression in `isa::op::Value::Reg`
[INFO] [stdout]     |
[INFO] [stdout] 331 |             isa::op::Value::Reg(token!().parse::<Reg>()?)
[INFO] [stdout]     |             ++++++++++++++++++++                        +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: `?` operator has incompatible types
[INFO] [stdout]    --> src/isa/op.rs:331:13
[INFO] [stdout]     |
[INFO] [stdout] 331 |             token!().parse::<Reg>()?
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^ expected `Value`, found `Reg`
[INFO] [stdout] ...
[INFO] [stdout] 396 |             "rol"  => Op::LRot(reg!(), reg!()),
[INFO] [stdout]     |                                        ------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `?` operator cannot convert from `Reg` to `Value`
[INFO] [stdout]     = note: this error originates in the macro `reg` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: try wrapping the expression in `isa::op::Value::Reg`
[INFO] [stdout]     |
[INFO] [stdout] 331 |             isa::op::Value::Reg(token!().parse::<Reg>()?)
[INFO] [stdout]     |             ++++++++++++++++++++                        +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: `?` operator has incompatible types
[INFO] [stdout]    --> src/isa/op.rs:331:13
[INFO] [stdout]     |
[INFO] [stdout] 331 |             token!().parse::<Reg>()?
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^ expected `Value`, found `Reg`
[INFO] [stdout] ...
[INFO] [stdout] 397 |             "ror"  => Op::RRot(reg!(), reg!()),
[INFO] [stdout]     |                                        ------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `?` operator cannot convert from `Reg` to `Value`
[INFO] [stdout]     = note: this error originates in the macro `reg` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: try wrapping the expression in `isa::op::Value::Reg`
[INFO] [stdout]     |
[INFO] [stdout] 331 |             isa::op::Value::Reg(token!().parse::<Reg>()?)
[INFO] [stdout]     |             ++++++++++++++++++++                        +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `XorImm` found for enum `Op` in the current scope
[INFO] [stdout]    --> src/isa/op.rs:399:27
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum Op {
[INFO] [stdout]     | ----------- variant or associated item `XorImm` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 399 |             "xori" => Op::XorImm(reg!(), imm!(0xFF)),
[INFO] [stdout]     |                           ^^^^^^ variant or associated item not found in `Op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `AddImm` found for enum `Op` in the current scope
[INFO] [stdout]    --> src/isa/op.rs:400:27
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum Op {
[INFO] [stdout]     | ----------- variant or associated item `AddImm` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 400 |             "addi" => Op::AddImm(reg!(), imm!(0xFF)),
[INFO] [stdout]     |                           ^^^^^^ variant or associated item not found in `Op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `SubImm` found for enum `Op` in the current scope
[INFO] [stdout]    --> src/isa/op.rs:401:27
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum Op {
[INFO] [stdout]     | ----------- variant or associated item `SubImm` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 401 |             "subi" => Op::SubImm(reg!(), imm!(0xFF)),
[INFO] [stdout]     |                           ^^^^^^ variant or associated item not found in `Op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `LRotImm` found for enum `Op` in the current scope
[INFO] [stdout]    --> src/isa/op.rs:402:27
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum Op {
[INFO] [stdout]     | ----------- variant or associated item `LRotImm` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 402 |             "roli" => Op::LRotImm(reg!(), imm!(0xFF)),
[INFO] [stdout]     |                           ^^^^^^^ variant or associated item not found in `Op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `RRotImm` found for enum `Op` in the current scope
[INFO] [stdout]    --> src/isa/op.rs:403:27
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum Op {
[INFO] [stdout]     | ----------- variant or associated item `RRotImm` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 403 |             "rori" => Op::RRotImm(reg!(), imm!(0xFF)),
[INFO] [stdout]     |                           ^^^^^^^ variant or associated item not found in `Op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `BranchParity` found for enum `Op` in the current scope
[INFO] [stdout]    --> src/isa/op.rs:409:25
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum Op {
[INFO] [stdout]     | ----------- variant or associated item `BranchParity` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 409 |             "bo" => Op::BranchParity(true, reg!(), offset!(0xFF)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^ variant or associated item not found in `Op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `&Address`
[INFO] [stdout]    --> src/isa/op.rs:173:22
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 173 |     Exchange(RegMut, Address),
[INFO] [stdout]     |                      ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `Address`
[INFO] [stdout]    --> src/isa/op.rs:132:1
[INFO] [stdout]     |
[INFO] [stdout] 132 | enum Address {
[INFO] [stdout]     | ^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `Address` with `#[derive(PartialEq)]`
[INFO] [stdout]     |
[INFO] [stdout] 132 + #[derive(PartialEq)]
[INFO] [stdout] 133 | enum Address {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `&Value`
[INFO] [stdout]    --> src/isa/op.rs:177:17
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 177 |     Xor(RegMut, Value),
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `Value`
[INFO] [stdout]    --> src/isa/op.rs:126:1
[INFO] [stdout]     |
[INFO] [stdout] 126 | enum Value {
[INFO] [stdout]     | ^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `Value` with `#[derive(PartialEq)]`
[INFO] [stdout]     |
[INFO] [stdout] 126 + #[derive(PartialEq)]
[INFO] [stdout] 127 | enum Value {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `&Value`
[INFO] [stdout]    --> src/isa/op.rs:181:17
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 181 |     Add(RegMut, Value),
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `Value`
[INFO] [stdout]    --> src/isa/op.rs:126:1
[INFO] [stdout]     |
[INFO] [stdout] 126 | enum Value {
[INFO] [stdout]     | ^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `Value` with `#[derive(PartialEq)]`
[INFO] [stdout]     |
[INFO] [stdout] 126 + #[derive(PartialEq)]
[INFO] [stdout] 127 | enum Value {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `&Value`
[INFO] [stdout]    --> src/isa/op.rs:185:17
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 185 |     Sub(RegMut, Value),
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `Value`
[INFO] [stdout]    --> src/isa/op.rs:126:1
[INFO] [stdout]     |
[INFO] [stdout] 126 | enum Value {
[INFO] [stdout]     | ^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `Value` with `#[derive(PartialEq)]`
[INFO] [stdout]     |
[INFO] [stdout] 126 + #[derive(PartialEq)]
[INFO] [stdout] 127 | enum Value {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `&Value`
[INFO] [stdout]    --> src/isa/op.rs:191:18
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 191 |     LRot(RegMut, Value),
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `Value`
[INFO] [stdout]    --> src/isa/op.rs:126:1
[INFO] [stdout]     |
[INFO] [stdout] 126 | enum Value {
[INFO] [stdout]     | ^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `Value` with `#[derive(PartialEq)]`
[INFO] [stdout]     |
[INFO] [stdout] 126 + #[derive(PartialEq)]
[INFO] [stdout] 127 | enum Value {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `&Value`
[INFO] [stdout]    --> src/isa/op.rs:197:18
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 197 |     RRot(RegMut, Value),
[INFO] [stdout]     |                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `Value`
[INFO] [stdout]    --> src/isa/op.rs:126:1
[INFO] [stdout]     |
[INFO] [stdout] 126 | enum Value {
[INFO] [stdout]     | ^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `Value` with `#[derive(PartialEq)]`
[INFO] [stdout]     |
[INFO] [stdout] 126 + #[derive(PartialEq)]
[INFO] [stdout] 127 | enum Value {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `&Address`
[INFO] [stdout]    --> src/isa/op.rs:214:10
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 214 |     Jump(Address),
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `Address`
[INFO] [stdout]    --> src/isa/op.rs:132:1
[INFO] [stdout]     |
[INFO] [stdout] 132 | enum Address {
[INFO] [stdout]     | ^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `Address` with `#[derive(PartialEq)]`
[INFO] [stdout]     |
[INFO] [stdout] 132 + #[derive(PartialEq)]
[INFO] [stdout] 133 | enum Address {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `BranchParity` found for enum `Op` in the current scope
[INFO] [stdout]    --> src/isa/op.rs:410:25
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum Op {
[INFO] [stdout]     | ----------- variant or associated item `BranchParity` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 410 |             "be" => Op::BranchParity(false, reg!(), offset!(0xFF)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^ variant or associated item not found in `Op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: `?` operator has incompatible types
[INFO] [stdout]    --> src/isa/op.rs:331:13
[INFO] [stdout]     |
[INFO] [stdout] 331 |             token!().parse::<Reg>()?
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^ expected `Address`, found `Reg`
[INFO] [stdout] ...
[INFO] [stdout] 411 |             "bs" => Op::BranchSign(true, reg!(), offset!(0xFF)),
[INFO] [stdout]     |                                          ------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `?` operator cannot convert from `Reg` to `Address`
[INFO] [stdout]     = note: this error originates in the macro `reg` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this enum variant takes 2 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/isa/op.rs:411:21
[INFO] [stdout]     |
[INFO] [stdout] 411 |             "bs" => Op::BranchSign(true, reg!(), offset!(0xFF)),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^ ----          ------------- unexpected argument #3 of type `Offset`
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    expected `Reg`, found `bool`
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> src/isa/op.rs:226:5
[INFO] [stdout]     |
[INFO] [stdout] 226 |     BranchSign(Reg, Address),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 411 -             "bs" => Op::BranchSign(true, reg!(), offset!(0xFF)),
[INFO] [stdout] 411 +             "bs" => Op::BranchSign(/* Reg */, reg!()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `&Address`
[INFO] [stdout]    --> src/isa/op.rs:218:20
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 218 |     BranchOdd(Reg, Address),
[INFO] [stdout]     |                    ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `Address`
[INFO] [stdout]    --> src/isa/op.rs:132:1
[INFO] [stdout]     |
[INFO] [stdout] 132 | enum Address {
[INFO] [stdout]     | ^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `Address` with `#[derive(PartialEq)]`
[INFO] [stdout]     |
[INFO] [stdout] 132 + #[derive(PartialEq)]
[INFO] [stdout] 133 | enum Address {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `&Address`
[INFO] [stdout]    --> src/isa/op.rs:222:21
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 222 |     BranchEven(Reg, Address),
[INFO] [stdout]     |                     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `Address`
[INFO] [stdout]    --> src/isa/op.rs:132:1
[INFO] [stdout]     |
[INFO] [stdout] 132 | enum Address {
[INFO] [stdout]     | ^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `Address` with `#[derive(PartialEq)]`
[INFO] [stdout]     |
[INFO] [stdout] 132 + #[derive(PartialEq)]
[INFO] [stdout] 133 | enum Address {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: `?` operator has incompatible types
[INFO] [stdout]    --> src/isa/op.rs:331:13
[INFO] [stdout]     |
[INFO] [stdout] 331 |             token!().parse::<Reg>()?
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^ expected `Address`, found `Reg`
[INFO] [stdout] ...
[INFO] [stdout] 412 |             "bn" => Op::BranchSign(false, reg!(), offset!(0xFF)),
[INFO] [stdout]     |                                           ------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `?` operator cannot convert from `Reg` to `Address`
[INFO] [stdout]     = note: this error originates in the macro `reg` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `&Address`
[INFO] [stdout]    --> src/isa/op.rs:226:21
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 226 |     BranchSign(Reg, Address),
[INFO] [stdout]     |                     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `Address`
[INFO] [stdout]    --> src/isa/op.rs:132:1
[INFO] [stdout]     |
[INFO] [stdout] 132 | enum Address {
[INFO] [stdout]     | ^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `Address` with `#[derive(PartialEq)]`
[INFO] [stdout]     |
[INFO] [stdout] 132 + #[derive(PartialEq)]
[INFO] [stdout] 133 | enum Address {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0369]: binary operation `==` cannot be applied to type `&Address`
[INFO] [stdout]    --> src/isa/op.rs:230:23
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                        --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 230 |     BranchUnsign(Reg, Address),
[INFO] [stdout]     |                       ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: an implementation of `PartialEq` might be missing for `Address`
[INFO] [stdout]    --> src/isa/op.rs:132:1
[INFO] [stdout]     |
[INFO] [stdout] 132 | enum Address {
[INFO] [stdout]     | ^^^^^^^^^^^^ must implement `PartialEq`
[INFO] [stdout] help: consider annotating `Address` with `#[derive(PartialEq)]`
[INFO] [stdout]     |
[INFO] [stdout] 132 + #[derive(PartialEq)]
[INFO] [stdout] 133 | enum Address {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this enum variant takes 2 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/isa/op.rs:412:21
[INFO] [stdout]     |
[INFO] [stdout] 412 |             "bn" => Op::BranchSign(false, reg!(), offset!(0xFF)),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^ -----          ------------- unexpected argument #3 of type `Offset`
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    expected `Reg`, found `bool`
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> src/isa/op.rs:226:5
[INFO] [stdout]     |
[INFO] [stdout] 226 |     BranchSign(Reg, Address),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 412 -             "bn" => Op::BranchSign(false, reg!(), offset!(0xFF)),
[INFO] [stdout] 412 +             "bn" => Op::BranchSign(/* Reg */, reg!()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Address: Eq` is not satisfied
[INFO] [stdout]    --> src/isa/op.rs:173:22
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                                   -- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 173 |     Exchange(RegMut, Address),
[INFO] [stdout]     |                      ^^^^^^^ the trait `Eq` is not implemented for `Address`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `AssertParamIsEq`
[INFO] [stdout]    --> /rustc/f77b5bc6c7c84df104f86b0dd01d9490e3923fa8/library/core/src/cmp.rs:367:1
[INFO] [stdout] help: consider annotating `Address` with `#[derive(Eq)]`
[INFO] [stdout]     |
[INFO] [stdout] 132 + #[derive(Eq)]
[INFO] [stdout] 133 | enum Address {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/isa/op.rs:353:38
[INFO] [stdout]     |
[INFO] [stdout] 353 |                     if val <= $max { offset }
[INFO] [stdout]     |                                      ^^^^^^ expected `Address`, found `Offset`
[INFO] [stdout] ...
[INFO] [stdout] 414 |             "jmp" => Op::Jump(offset!(0x1FFF)),
[INFO] [stdout]     |                               --------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `offset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Value: Eq` is not satisfied
[INFO] [stdout]    --> src/isa/op.rs:177:17
[INFO] [stdout]     |
[INFO] [stdout] 146 | #[derive(Debug, Clone, PartialEq, Eq)]
[INFO] [stdout]     |                                   -- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 177 |     Xor(RegMut, Value),
[INFO] [stdout]     |                 ^^^^^ the trait `Eq` is not implemented for `Value`
[INFO] [stdout]     |
[INFO] [stdout] note: required by a bound in `AssertParamIsEq`
[INFO] [stdout]    --> /rustc/f77b5bc6c7c84df104f86b0dd01d9490e3923fa8/library/core/src/cmp.rs:367:1
[INFO] [stdout] help: consider annotating `Value` with `#[derive(Eq)]`
[INFO] [stdout]     |
[INFO] [stdout] 126 + #[derive(Eq)]
[INFO] [stdout] 127 | enum Value {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Instr: From<Op>` is not satisfied
[INFO] [stdout]   --> src/main.rs:61:55
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let code: Vec<_> = assembly.into_iter().map(|op| op.into()).collect();
[INFO] [stdout]    |                                                             ^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<Op>` is not implemented for `Instr`
[INFO] [stdout]   --> src/vm/instr.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub enum Instr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `Op` to implement `Into<Instr>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: `?` operator has incompatible types
[INFO] [stdout]    --> src/isa/op.rs:331:13
[INFO] [stdout]     |
[INFO] [stdout] 331 |             token!().parse::<Reg>()?
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^ expected `Address`, found `Reg`
[INFO] [stdout] ...
[INFO] [stdout] 392 |             "xchg" => Op::Exchange(reg!(), reg!()),
[INFO] [stdout]     |                                            ------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `?` operator cannot convert from `Reg` to `Address`
[INFO] [stdout]     = note: this error originates in the macro `reg` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: `?` operator has incompatible types
[INFO] [stdout]    --> src/isa/op.rs:331:13
[INFO] [stdout]     |
[INFO] [stdout] 331 |             token!().parse::<Reg>()?
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^ expected `Value`, found `Reg`
[INFO] [stdout] ...
[INFO] [stdout] 393 |             "xor"  => Op::Xor(reg!(), reg!()),
[INFO] [stdout]     |                                       ------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `?` operator cannot convert from `Reg` to `Value`
[INFO] [stdout]     = note: this error originates in the macro `reg` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: try wrapping the expression in `isa::op::Value::Reg`
[INFO] [stdout]     |
[INFO] [stdout] 331 |             isa::op::Value::Reg(token!().parse::<Reg>()?)
[INFO] [stdout]     |             ++++++++++++++++++++                        +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: `?` operator has incompatible types
[INFO] [stdout]    --> src/isa/op.rs:331:13
[INFO] [stdout]     |
[INFO] [stdout] 331 |             token!().parse::<Reg>()?
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^ expected `Value`, found `Reg`
[INFO] [stdout] ...
[INFO] [stdout] 394 |             "add"  => Op::Add(reg!(), reg!()),
[INFO] [stdout]     |                                       ------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `?` operator cannot convert from `Reg` to `Value`
[INFO] [stdout]     = note: this error originates in the macro `reg` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: try wrapping the expression in `isa::op::Value::Reg`
[INFO] [stdout]     |
[INFO] [stdout] 331 |             isa::op::Value::Reg(token!().parse::<Reg>()?)
[INFO] [stdout]     |             ++++++++++++++++++++                        +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: `?` operator has incompatible types
[INFO] [stdout]    --> src/isa/op.rs:331:13
[INFO] [stdout]     |
[INFO] [stdout] 331 |             token!().parse::<Reg>()?
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^ expected `Value`, found `Reg`
[INFO] [stdout] ...
[INFO] [stdout] 395 |             "sub"  => Op::Sub(reg!(), reg!()),
[INFO] [stdout]     |                                       ------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `?` operator cannot convert from `Reg` to `Value`
[INFO] [stdout]     = note: this error originates in the macro `reg` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: try wrapping the expression in `isa::op::Value::Reg`
[INFO] [stdout]     |
[INFO] [stdout] 331 |             isa::op::Value::Reg(token!().parse::<Reg>()?)
[INFO] [stdout]     |             ++++++++++++++++++++                        +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: `?` operator has incompatible types
[INFO] [stdout]    --> src/isa/op.rs:331:13
[INFO] [stdout]     |
[INFO] [stdout] 331 |             token!().parse::<Reg>()?
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^ expected `Value`, found `Reg`
[INFO] [stdout] ...
[INFO] [stdout] 396 |             "rol"  => Op::LRot(reg!(), reg!()),
[INFO] [stdout]     |                                        ------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `?` operator cannot convert from `Reg` to `Value`
[INFO] [stdout]     = note: this error originates in the macro `reg` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: try wrapping the expression in `isa::op::Value::Reg`
[INFO] [stdout]     |
[INFO] [stdout] 331 |             isa::op::Value::Reg(token!().parse::<Reg>()?)
[INFO] [stdout]     |             ++++++++++++++++++++                        +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: `?` operator has incompatible types
[INFO] [stdout]    --> src/isa/op.rs:331:13
[INFO] [stdout]     |
[INFO] [stdout] 331 |             token!().parse::<Reg>()?
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^ expected `Value`, found `Reg`
[INFO] [stdout] ...
[INFO] [stdout] 397 |             "ror"  => Op::RRot(reg!(), reg!()),
[INFO] [stdout]     |                                        ------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `?` operator cannot convert from `Reg` to `Value`
[INFO] [stdout]     = note: this error originates in the macro `reg` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: try wrapping the expression in `isa::op::Value::Reg`
[INFO] [stdout]     |
[INFO] [stdout] 331 |             isa::op::Value::Reg(token!().parse::<Reg>()?)
[INFO] [stdout]     |             ++++++++++++++++++++                        +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `XorImm` found for enum `Op` in the current scope
[INFO] [stdout]    --> src/isa/op.rs:399:27
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum Op {
[INFO] [stdout]     | ----------- variant or associated item `XorImm` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 399 |             "xori" => Op::XorImm(reg!(), imm!(0xFF)),
[INFO] [stdout]     |                           ^^^^^^ variant or associated item not found in `Op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `AddImm` found for enum `Op` in the current scope
[INFO] [stdout]    --> src/isa/op.rs:400:27
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum Op {
[INFO] [stdout]     | ----------- variant or associated item `AddImm` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 400 |             "addi" => Op::AddImm(reg!(), imm!(0xFF)),
[INFO] [stdout]     |                           ^^^^^^ variant or associated item not found in `Op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `SubImm` found for enum `Op` in the current scope
[INFO] [stdout]    --> src/isa/op.rs:401:27
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum Op {
[INFO] [stdout]     | ----------- variant or associated item `SubImm` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 401 |             "subi" => Op::SubImm(reg!(), imm!(0xFF)),
[INFO] [stdout]     |                           ^^^^^^ variant or associated item not found in `Op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `LRotImm` found for enum `Op` in the current scope
[INFO] [stdout]    --> src/isa/op.rs:402:27
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum Op {
[INFO] [stdout]     | ----------- variant or associated item `LRotImm` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 402 |             "roli" => Op::LRotImm(reg!(), imm!(0xFF)),
[INFO] [stdout]     |                           ^^^^^^^ variant or associated item not found in `Op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `RRotImm` found for enum `Op` in the current scope
[INFO] [stdout]    --> src/isa/op.rs:403:27
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum Op {
[INFO] [stdout]     | ----------- variant or associated item `RRotImm` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 403 |             "rori" => Op::RRotImm(reg!(), imm!(0xFF)),
[INFO] [stdout]     |                           ^^^^^^^ variant or associated item not found in `Op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `BranchParity` found for enum `Op` in the current scope
[INFO] [stdout]    --> src/isa/op.rs:409:25
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum Op {
[INFO] [stdout]     | ----------- variant or associated item `BranchParity` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 409 |             "bo" => Op::BranchParity(true, reg!(), offset!(0xFF)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^ variant or associated item not found in `Op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `BranchParity` found for enum `Op` in the current scope
[INFO] [stdout]    --> src/isa/op.rs:410:25
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub enum Op {
[INFO] [stdout]     | ----------- variant or associated item `BranchParity` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 410 |             "be" => Op::BranchParity(false, reg!(), offset!(0xFF)),
[INFO] [stdout]     |                         ^^^^^^^^^^^^ variant or associated item not found in `Op`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: `?` operator has incompatible types
[INFO] [stdout]    --> src/isa/op.rs:331:13
[INFO] [stdout]     |
[INFO] [stdout] 331 |             token!().parse::<Reg>()?
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^ expected `Address`, found `Reg`
[INFO] [stdout] ...
[INFO] [stdout] 411 |             "bs" => Op::BranchSign(true, reg!(), offset!(0xFF)),
[INFO] [stdout]     |                                          ------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `?` operator cannot convert from `Reg` to `Address`
[INFO] [stdout]     = note: this error originates in the macro `reg` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this enum variant takes 2 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/isa/op.rs:411:21
[INFO] [stdout]     |
[INFO] [stdout] 411 |             "bs" => Op::BranchSign(true, reg!(), offset!(0xFF)),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^ ----          ------------- unexpected argument #3 of type `Offset`
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    expected `Reg`, found `bool`
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> src/isa/op.rs:226:5
[INFO] [stdout]     |
[INFO] [stdout] 226 |     BranchSign(Reg, Address),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 411 -             "bs" => Op::BranchSign(true, reg!(), offset!(0xFF)),
[INFO] [stdout] 411 +             "bs" => Op::BranchSign(/* Reg */, reg!()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: `?` operator has incompatible types
[INFO] [stdout]    --> src/isa/op.rs:331:13
[INFO] [stdout]     |
[INFO] [stdout] 331 |             token!().parse::<Reg>()?
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^ expected `Address`, found `Reg`
[INFO] [stdout] ...
[INFO] [stdout] 412 |             "bn" => Op::BranchSign(false, reg!(), offset!(0xFF)),
[INFO] [stdout]     |                                           ------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: `?` operator cannot convert from `Reg` to `Address`
[INFO] [stdout]     = note: this error originates in the macro `reg` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this enum variant takes 2 arguments but 3 arguments were supplied
[INFO] [stdout]    --> src/isa/op.rs:412:21
[INFO] [stdout]     |
[INFO] [stdout] 412 |             "bn" => Op::BranchSign(false, reg!(), offset!(0xFF)),
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^ -----          ------------- unexpected argument #3 of type `Offset`
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    expected `Reg`, found `bool`
[INFO] [stdout]     |
[INFO] [stdout] note: tuple variant defined here
[INFO] [stdout]    --> src/isa/op.rs:226:5
[INFO] [stdout]     |
[INFO] [stdout] 226 |     BranchSign(Reg, Address),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 412 -             "bn" => Op::BranchSign(false, reg!(), offset!(0xFF)),
[INFO] [stdout] 412 +             "bn" => Op::BranchSign(/* Reg */, reg!()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> src/isa/op.rs:353:38
[INFO] [stdout]     |
[INFO] [stdout] 353 |                     if val <= $max { offset }
[INFO] [stdout]     |                                      ^^^^^^ expected `Address`, found `Offset`
[INFO] [stdout] ...
[INFO] [stdout] 414 |             "jmp" => Op::Jump(offset!(0x1FFF)),
[INFO] [stdout]     |                               --------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `offset` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Instr: From<Op>` is not satisfied
[INFO] [stdout]   --> src/main.rs:61:55
[INFO] [stdout]    |
[INFO] [stdout] 61 |         let code: Vec<_> = assembly.into_iter().map(|op| op.into()).collect();
[INFO] [stdout]    |                                                             ^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<Op>` is not implemented for `Instr`
[INFO] [stdout]   --> src/vm/instr.rs:35:1
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub enum Instr {
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `Op` to implement `Into<Instr>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0277, E0308, E0369, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rel` (bin "rel") due to 34 previous errors; 14 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] Some errors have detailed explanations: E0061, E0277, E0282, E0308, E0369, E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rel` (bin "rel" test) due to 37 previous errors; 18 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "e170041197433dea135652abde7f82dde47d84de81dfef3e4f49e6b7e42375ba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e170041197433dea135652abde7f82dde47d84de81dfef3e4f49e6b7e42375ba", kill_on_drop: false }`
[INFO] [stdout] e170041197433dea135652abde7f82dde47d84de81dfef3e4f49e6b7e42375ba
