[INFO] fetching crate riscy 0.4.0...
[INFO] testing riscy-0.4.0 against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] extracting crate riscy 0.4.0 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate riscy 0.4.0
[INFO] finished tweaking crates.io crate riscy 0.4.0
[INFO] tweaked toml for crates.io crate riscy 0.4.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate riscy 0.4.0 on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate riscy 0.4.0 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" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded proc-macro-error v1.0.4
[INFO] [stderr]   Downloaded quote v1.0.8
[INFO] [stderr]   Downloaded proc-macro-error-attr v1.0.4
[INFO] [stderr]   Downloaded structopt-derive v0.4.14
[INFO] [stderr]   Downloaded version_check v0.9.2
[INFO] [stderr]   Downloaded proc-macro2 v1.0.24
[INFO] [stderr]   Downloaded plain v0.2.3
[INFO] [stderr]   Downloaded unicode-xid v0.2.1
[INFO] [stderr]   Downloaded cfg-if v0.1.10
[INFO] [stderr]   Downloaded scroll_derive v0.10.4
[INFO] [stderr]   Downloaded scroll v0.10.2
[INFO] [stderr]   Downloaded ansi_term v0.11.0
[INFO] [stderr]   Downloaded log v0.4.11
[INFO] [stderr]   Downloaded heck v0.3.2
[INFO] [stderr]   Downloaded structopt v0.3.21
[INFO] [stderr]   Downloaded unicode-width v0.1.8
[INFO] [stderr]   Downloaded syn v1.0.55
[INFO] [stderr]   Downloaded unicode-segmentation v1.7.1
[INFO] [stderr]   Downloaded bitflags v1.2.1
[INFO] [stderr]   Downloaded hermit-abi v0.1.17
[INFO] [stderr]   Downloaded goblin v0.3.0
[INFO] [stderr]   Downloaded clap v2.33.3
[INFO] [stderr]   Downloaded libc v0.2.81
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 98c138b5832ea57c00ce1d1138083190688e0f38b2523946e19637e5fe86859b
[INFO] running `Command { std: "docker" "start" "-a" "98c138b5832ea57c00ce1d1138083190688e0f38b2523946e19637e5fe86859b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "98c138b5832ea57c00ce1d1138083190688e0f38b2523946e19637e5fe86859b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "98c138b5832ea57c00ce1d1138083190688e0f38b2523946e19637e5fe86859b", kill_on_drop: false }`
[INFO] [stdout] 98c138b5832ea57c00ce1d1138083190688e0f38b2523946e19637e5fe86859b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f6f22a6c8a3833008718e23ead695a74f0540b7471e4bff2ad332ffdd3559972
[INFO] running `Command { std: "docker" "start" "-a" "f6f22a6c8a3833008718e23ead695a74f0540b7471e4bff2ad332ffdd3559972", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.24
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling version_check v0.9.2
[INFO] [stderr]    Compiling syn v1.0.55
[INFO] [stderr]    Compiling libc v0.2.81
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling log v0.4.11
[INFO] [stderr]    Compiling unicode-segmentation v1.7.1
[INFO] [stderr]    Compiling unicode-width v0.1.8
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling ansi_term v0.11.0
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling lazy_static v1.4.0
[INFO] [stderr]    Compiling plain v0.2.3
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling heck v0.3.2
[INFO] [stderr]    Compiling quote v1.0.8
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling clap v2.33.3
[INFO] [stderr]    Compiling scroll_derive v0.10.4
[INFO] [stderr]    Compiling structopt-derive v0.4.14
[INFO] [stderr]    Compiling scroll v0.10.2
[INFO] [stderr]    Compiling goblin v0.3.0
[INFO] [stderr]    Compiling structopt v0.3.21
[INFO] [stderr]    Compiling riscy v0.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/lib.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | use std::convert::TryInto;
[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 variable: `memory`
[INFO] [stdout]    --> src/lib.rs:110:54
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn flush_instruction_cache<M: Memory>(&mut self, memory: &mut M) {
[INFO] [stdout]     |                                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/lib.rs:137:25
[INFO] [stdout]     |
[INFO] [stdout] 137 |                     Err(e) => return decoded_instr,
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/decode.rs:480:25
[INFO] [stdout]     |
[INFO] [stdout] 480 |         0b011 => panic!(format!("Bad funct7 for store: {}", funct3(instruction))),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 480 -         0b011 => panic!(format!("Bad funct7 for store: {}", funct3(instruction))),
[INFO] [stdout] 480 +         0b011 => panic!("Bad funct7 for store: {}", funct3(instruction)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/decode.rs:483:25
[INFO] [stdout]     |
[INFO] [stdout] 483 |         0b110 => panic!(format!("Can't lwu in rv32i.")),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 483 -         0b110 => panic!(format!("Can't lwu in rv32i.")),
[INFO] [stdout] 483 +         0b110 => panic!("Can't lwu in rv32i."),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/decode.rs:484:25
[INFO] [stdout]     |
[INFO] [stdout] 484 |         0b111 => panic!(format!("Bad funct7 for store: {}", funct3(instruction))),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 484 -         0b111 => panic!(format!("Bad funct7 for store: {}", funct3(instruction))),
[INFO] [stdout] 484 +         0b111 => panic!("Bad funct7 for store: {}", funct3(instruction)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/main.rs:239:23
[INFO] [stdout]     |
[INFO] [stdout] 239 | fn load_elf_from(buf: &[u8]) -> elf::Elf {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 239 | fn load_elf_from(buf: &[u8]) -> elf::Elf<'_> {
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.86s
[INFO] running `Command { std: "docker" "inspect" "f6f22a6c8a3833008718e23ead695a74f0540b7471e4bff2ad332ffdd3559972", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f6f22a6c8a3833008718e23ead695a74f0540b7471e4bff2ad332ffdd3559972", kill_on_drop: false }`
[INFO] [stdout] f6f22a6c8a3833008718e23ead695a74f0540b7471e4bff2ad332ffdd3559972
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c226bc4d93e6c4b0addfc8c47bf390c109219449465ab3298890108f16a3b4e4
[INFO] running `Command { std: "docker" "start" "-a" "c226bc4d93e6c4b0addfc8c47bf390c109219449465ab3298890108f16a3b4e4", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/lib.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | use std::convert::TryInto;
[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 variable: `memory`
[INFO] [stdout]    --> src/lib.rs:110:54
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn flush_instruction_cache<M: Memory>(&mut self, memory: &mut M) {
[INFO] [stdout]     |                                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/lib.rs:137:25
[INFO] [stdout]     |
[INFO] [stdout] 137 |                     Err(e) => return decoded_instr,
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/decode.rs:480:25
[INFO] [stdout]     |
[INFO] [stdout] 480 |         0b011 => panic!(format!("Bad funct7 for store: {}", funct3(instruction))),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 480 -         0b011 => panic!(format!("Bad funct7 for store: {}", funct3(instruction))),
[INFO] [stdout] 480 +         0b011 => panic!("Bad funct7 for store: {}", funct3(instruction)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling riscy v0.4.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/decode.rs:483:25
[INFO] [stdout]     |
[INFO] [stdout] 483 |         0b110 => panic!(format!("Can't lwu in rv32i.")),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 483 -         0b110 => panic!(format!("Can't lwu in rv32i.")),
[INFO] [stdout] 483 +         0b110 => panic!("Can't lwu in rv32i."),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/decode.rs:484:25
[INFO] [stdout]     |
[INFO] [stdout] 484 |         0b111 => panic!(format!("Bad funct7 for store: {}", funct3(instruction))),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 484 -         0b111 => panic!(format!("Bad funct7 for store: {}", funct3(instruction))),
[INFO] [stdout] 484 +         0b111 => panic!("Bad funct7 for store: {}", funct3(instruction)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::convert::TryInto`
[INFO] [stdout]   --> src/lib.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | use std::convert::TryInto;
[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 variable: `memory`
[INFO] [stdout]    --> src/lib.rs:110:54
[INFO] [stdout]     |
[INFO] [stdout] 110 |     fn flush_instruction_cache<M: Memory>(&mut self, memory: &mut M) {
[INFO] [stdout]     |                                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/lib.rs:137:25
[INFO] [stdout]     |
[INFO] [stdout] 137 |                     Err(e) => return decoded_instr,
[INFO] [stdout]     |                         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/decode.rs:480:25
[INFO] [stdout]     |
[INFO] [stdout] 480 |         0b011 => panic!(format!("Bad funct7 for store: {}", funct3(instruction))),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 480 -         0b011 => panic!(format!("Bad funct7 for store: {}", funct3(instruction))),
[INFO] [stdout] 480 +         0b011 => panic!("Bad funct7 for store: {}", funct3(instruction)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/decode.rs:483:25
[INFO] [stdout]     |
[INFO] [stdout] 483 |         0b110 => panic!(format!("Can't lwu in rv32i.")),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 483 -         0b110 => panic!(format!("Can't lwu in rv32i.")),
[INFO] [stdout] 483 +         0b110 => panic!("Can't lwu in rv32i."),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/decode.rs:484:25
[INFO] [stdout]     |
[INFO] [stdout] 484 |         0b111 => panic!(format!("Bad funct7 for store: {}", funct3(instruction))),
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stdout] help: remove the `format!(..)` macro call
[INFO] [stdout]     |
[INFO] [stdout] 484 -         0b111 => panic!(format!("Bad funct7 for store: {}", funct3(instruction))),
[INFO] [stdout] 484 +         0b111 => panic!("Bad funct7 for store: {}", funct3(instruction)),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/main.rs:239:23
[INFO] [stdout]     |
[INFO] [stdout] 239 | fn load_elf_from(buf: &[u8]) -> elf::Elf {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 239 | fn load_elf_from(buf: &[u8]) -> elf::Elf<'_> {
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.65s
[INFO] running `Command { std: "docker" "inspect" "c226bc4d93e6c4b0addfc8c47bf390c109219449465ab3298890108f16a3b4e4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c226bc4d93e6c4b0addfc8c47bf390c109219449465ab3298890108f16a3b4e4", kill_on_drop: false }`
[INFO] [stdout] c226bc4d93e6c4b0addfc8c47bf390c109219449465ab3298890108f16a3b4e4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 2e65b4f82ca6072018f0a0a351954488e3b80d52c6db0694611c2f6a43bcb476
[INFO] running `Command { std: "docker" "start" "-a" "2e65b4f82ca6072018f0a0a351954488e3b80d52c6db0694611c2f6a43bcb476", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::convert::TryInto`
[INFO] [stderr]   --> src/lib.rs:57:5
[INFO] [stderr]    |
[INFO] [stderr] 57 | use std::convert::TryInto;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `memory`
[INFO] [stderr]    --> src/lib.rs:110:54
[INFO] [stderr]     |
[INFO] [stderr] 110 |     fn flush_instruction_cache<M: Memory>(&mut self, memory: &mut M) {
[INFO] [stderr]     |                                                      ^^^^^^ help: if this is intentional, prefix it with an underscore: `_memory`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e`
[INFO] [stderr]    --> src/lib.rs:137:25
[INFO] [stderr]     |
[INFO] [stderr] 137 |                     Err(e) => return decoded_instr,
[INFO] [stderr]     |                         ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/decode.rs:480:25
[INFO] [stderr]     |
[INFO] [stderr] 480 |         0b011 => panic!(format!("Bad funct7 for store: {}", funct3(instruction))),
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 480 -         0b011 => panic!(format!("Bad funct7 for store: {}", funct3(instruction))),
[INFO] [stderr] 480 +         0b011 => panic!("Bad funct7 for store: {}", funct3(instruction)),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/decode.rs:483:25
[INFO] [stderr]     |
[INFO] [stderr] 483 |         0b110 => panic!(format!("Can't lwu in rv32i.")),
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 483 -         0b110 => panic!(format!("Can't lwu in rv32i.")),
[INFO] [stderr] 483 +         0b110 => panic!("Can't lwu in rv32i."),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> src/decode.rs:484:25
[INFO] [stderr]     |
[INFO] [stderr] 484 |         0b111 => panic!(format!("Bad funct7 for store: {}", funct3(instruction))),
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stderr]     = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here
[INFO] [stderr] help: remove the `format!(..)` macro call
[INFO] [stderr]     |
[INFO] [stderr] 484 -         0b111 => panic!(format!("Bad funct7 for store: {}", funct3(instruction))),
[INFO] [stderr] 484 +         0b111 => panic!("Bad funct7 for store: {}", funct3(instruction)),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: `riscy` (lib) generated 6 warnings (run `cargo fix --lib -p riscy` to apply 5 suggestions)
[INFO] [stderr] warning: `riscy` (lib test) generated 6 warnings (6 duplicates)
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/main.rs:239:23
[INFO] [stderr]     |
[INFO] [stderr] 239 | fn load_elf_from(buf: &[u8]) -> elf::Elf {
[INFO] [stderr]     |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 239 | fn load_elf_from(buf: &[u8]) -> elf::Elf<'_> {
[INFO] [stderr]     |                                         ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `riscy` (bin "riscy" test) generated 1 warning (run `cargo fix --bin "riscy" -p riscy --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.06s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/riscy-ddd8a3ab4cae3ae1)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/riscy-25334feda28b10f9)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests riscy
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test src/lib.rs - (line 27) ... FAILED
[INFO] [stdout] test src/reg.rs - reg::RegVal (line 40) ... FAILED
[INFO] [stdout] test src/lib.rs - RiscV::reg (line 440) ... FAILED
[INFO] [stdout] test src/lib.rs - RiscV::set_reg (line 428) ... FAILED
[INFO] [stdout] test src/addr.rs - addr::Addr (line 28) ... FAILED
[INFO] [stdout] test src/reg.rs - reg::RegVal (line 30) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/lib.rs - (line 27) stdout ----
[INFO] [stdout] error: expected item, found `$`
[INFO] [stdout]   --> src/lib.rs:28:1
[INFO] [stdout]    |
[INFO] [stdout] 28 | $ vim hello.c
[INFO] [stdout]    | ^ expected item
[INFO] [stdout]    |
[INFO] [stdout]    = note: for a full list of items that can appear in modules, see <https://doc.rust-lang.org/reference/items.html>
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/reg.rs - reg::RegVal (line 40) stdout ----
[INFO] [stdout] error: this file contains an unclosed delimiter
[INFO] [stdout]   --> src/reg.rs:51:80
[INFO] [stdout]    |
[INFO] [stdout] 51 | println!("value1 << value2 = {}", u32::from(value1.shift_left_logical(value2));
[INFO] [stdout]    |         - unclosed delimiter                                                   ^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - RiscV::reg (line 440) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `riscv` in this scope
[INFO] [stdout]    --> src/lib.rs:442:1
[INFO] [stdout]     |
[INFO] [stdout] 442 | riscv.reg(1);
[INFO] [stdout]     | ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - RiscV::set_reg (line 428) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `riscv` in this scope
[INFO] [stdout]    --> src/lib.rs:430:1
[INFO] [stdout]     |
[INFO] [stdout] 430 | riscv.set_reg(2, 0x2000_0000.into());
[INFO] [stdout]     | ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/addr.rs - addr::Addr (line 28) stdout ----
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `RegVal`
[INFO] [stdout]   --> src/addr.rs:29:13
[INFO] [stdout]    |
[INFO] [stdout] 29 | let value = RegVal::from_u32(0x2000_0000);
[INFO] [stdout]    |             ^^^^^^ use of undeclared type `RegVal`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 28 + use riscy::RegVal;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Addr` in this scope
[INFO] [stdout]   --> src/addr.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | let addr: Addr = value.into();
[INFO] [stdout]    |           ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout] 28 + use riscy::Addr;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/reg.rs - reg::RegVal (line 30) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `riscv` in this scope
[INFO] [stdout]   --> src/reg.rs:32:13
[INFO] [stdout]    |
[INFO] [stdout] 32 | let value = riscv.reg(10);
[INFO] [stdout]    |             ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/addr.rs - addr::Addr (line 28)
[INFO] [stdout]     src/lib.rs - (line 27)
[INFO] [stdout]     src/lib.rs - RiscV::reg (line 440)
[INFO] [stdout]     src/lib.rs - RiscV::set_reg (line 428)
[INFO] [stdout]     src/reg.rs - reg::RegVal (line 30)
[INFO] [stdout]     src/reg.rs - reg::RegVal (line 40)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 6 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "2e65b4f82ca6072018f0a0a351954488e3b80d52c6db0694611c2f6a43bcb476", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2e65b4f82ca6072018f0a0a351954488e3b80d52c6db0694611c2f6a43bcb476", kill_on_drop: false }`
[INFO] [stdout] 2e65b4f82ca6072018f0a0a351954488e3b80d52c6db0694611c2f6a43bcb476
