[INFO] fetching crate jvmti 0.5.0...
[INFO] testing jvmti-0.5.0 against beta-2025-09-21 for beta-1.91-2
[INFO] extracting crate jvmti 0.5.0 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate jvmti 0.5.0
[INFO] finished tweaking crates.io crate jvmti 0.5.0
[INFO] tweaked toml for crates.io crate jvmti 0.5.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate jvmti 0.5.0 on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate jvmti 0.5.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" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `crate_type` is deprecated in favor of `crate-type` and will not work in the 2024 edition
[INFO] [stderr] (in the `jvmti` library target)
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 552147e9c7f809196f83ce9a10f55ed34f3578c3659cb16da1aa394023065110
[INFO] running `Command { std: "docker" "start" "-a" "552147e9c7f809196f83ce9a10f55ed34f3578c3659cb16da1aa394023065110", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "552147e9c7f809196f83ce9a10f55ed34f3578c3659cb16da1aa394023065110", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "552147e9c7f809196f83ce9a10f55ed34f3578c3659cb16da1aa394023065110", kill_on_drop: false }`
[INFO] [stdout] 552147e9c7f809196f83ce9a10f55ed34f3578c3659cb16da1aa394023065110
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8e22af6deb48931e9ff53536ea74aef6ec979827ee00b700f9d9d4ac6825c23c
[INFO] running `Command { std: "docker" "start" "-a" "8e22af6deb48931e9ff53536ea74aef6ec979827ee00b700f9d9d4ac6825c23c", kill_on_drop: false }`
[INFO] [stderr] warning: `crate_type` is deprecated in favor of `crate-type` and will not work in the 2024 edition
[INFO] [stderr] (in the `jvmti` library target)
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr]    Compiling proc-macro2 v1.0.46
[INFO] [stderr]    Compiling quote v1.0.21
[INFO] [stderr]    Compiling unicode-ident v1.0.5
[INFO] [stderr]    Compiling syn v1.0.102
[INFO] [stderr]    Compiling serde v1.0.145
[INFO] [stderr]    Compiling libc v0.2.135
[INFO] [stderr]    Compiling serde_derive v1.0.145
[INFO] [stderr]    Compiling time v0.1.44
[INFO] [stderr]    Compiling toml v0.4.10
[INFO] [stderr]    Compiling jvmti v0.5.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `agent::Agent`
[INFO] [stdout]  --> src/lib.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use agent::Agent;
[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: `bytecode::printer::ClassfilePrinter`
[INFO] [stdout]   --> src/lib.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use bytecode::printer::ClassfilePrinter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bytecode::classfile::Constant`
[INFO] [stdout]   --> src/lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use bytecode::classfile::Constant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bytecode::io::ClassWriter`
[INFO] [stdout]   --> src/lib.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use bytecode::io::ClassWriter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `config::Config`
[INFO] [stdout]   --> src/lib.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use config::Config;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `context::static_context`
[INFO] [stdout]   --> src/lib.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use context::static_context;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `instrumentation::asm::transformer::Transformer`
[INFO] [stdout]   --> src/lib.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use instrumentation::asm::transformer::Transformer;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JavaVMPtr`, `MutString`, `ReturnValue`, and `VoidPtr`
[INFO] [stdout]   --> src/lib.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 | use native::{JavaVMPtr, MutString, VoidPtr, ReturnValue};
[INFO] [stdout]    |              ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `options::Options`
[INFO] [stdout]   --> src/lib.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use options::Options;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `runtime::*`
[INFO] [stdout]   --> src/lib.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use runtime::*;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Cursor`
[INFO] [stdout]   --> src/lib.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::io::Cursor;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread::Thread`
[INFO] [stdout]   --> src/lib.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use thread::Thread;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `util::stringify`
[INFO] [stdout]   --> src/lib.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use util::stringify;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::config::Config`
[INFO] [stdout]  --> src/agent.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::config::Config;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::options::Options`
[INFO] [stdout]  --> src/agent.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::options::Options;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bytecode/io/reader.rs:622:38
[INFO] [stdout]     |
[INFO] [stdout] 622 | ...                   tag@0...63 => StackMapFrame::SameFrame { tag: tag },
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bytecode/io/reader.rs:623:39
[INFO] [stdout]     |
[INFO] [stdout] 623 | ...                   tag@64...127 => StackMapFrame::SameLocals1StackItemFrame { tag: tag, stack: read_verification_type(&mut reader) },
[INFO] [stdout]     |                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bytecode/io/reader.rs:625:40
[INFO] [stdout]     |
[INFO] [stdout] 625 | ...                   tag@248...250 => StackMapFrame::ChopFrame { tag: tag, offset_delta: reader.get_u16() },
[INFO] [stdout]     |                              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bytecode/io/reader.rs:627:40
[INFO] [stdout]     |
[INFO] [stdout] 627 | ...   tag@252...254 => StackMapFrame::AppendFrame { tag: tag, offset_delta: reader.get_u16(), locals: (0..tag - 251).map(|_| read_verific...
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bytecode/io/reader.rs:757:31
[INFO] [stdout]     |
[INFO] [stdout] 757 |                 subtype @ 0x00...0x01 => TargetInfo::TypeParameter { subtype: subtype, idx: reader.get_u8() },
[INFO] [stdout]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bytecode/io/reader.rs:762:31
[INFO] [stdout]     |
[INFO] [stdout] 762 | ...   subtype @ 0x11...0x12 => TargetInfo::TypeParameterBound { subtype: subtype, param_idx: reader.get_u8(), bound_index: reader.get_u8(...
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bytecode/io/reader.rs:766:31
[INFO] [stdout]     |
[INFO] [stdout] 766 |                 subtype @ 0x13...0x15 => TargetInfo::Empty { subtype: subtype },
[INFO] [stdout]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bytecode/io/reader.rs:773:31
[INFO] [stdout]     |
[INFO] [stdout] 773 |                 subtype @ 0x40...0x41 => TargetInfo::LocalVar { subtype: subtype, target: {
[INFO] [stdout]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bytecode/io/reader.rs:785:31
[INFO] [stdout]     |
[INFO] [stdout] 785 |                 subtype @ 0x43...0x46 => TargetInfo::Offset { subtype: subtype, idx: reader.get_u16() },
[INFO] [stdout]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bytecode/io/reader.rs:790:31
[INFO] [stdout]     |
[INFO] [stdout] 790 | ...   subtype @ 0x47...0x4b => TargetInfo::TypeArgument { subtype: subtype, offset: reader.get_u16(), type_arg_idx: reader.get_u8() },
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/context.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | / ///
[INFO] [stdout] 10 | | /// Public static mutable *cough* agent context. This seems necessary as our code is invoked from
[INFO] [stdout] 11 | | /// the JVM and we need a place to store the temporary mutable data.
[INFO] [stdout] 12 | | ///
[INFO] [stdout] 13 | | /// This wouldn't be such a problem if this was a C program, but you know, this is not a C program.
[INFO] [stdout] 14 | | ///
[INFO] [stdout]    | |_--^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/context.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / lazy_static! {
[INFO] [stdout] 16 | |     static ref STATIC_CONTEXT: AgentContext = AgentContext::new();
[INFO] [stdout] 17 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/agent.rs:12:14
[INFO] [stdout]    |
[INFO] [stdout] 12 |     jvm: Box<JVMF>,
[INFO] [stdout]    |              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     jvm: Box<dyn JVMF>,
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/agent.rs:15:22
[INFO] [stdout]    |
[INFO] [stdout] 15 |     environment: Box<JVMTI>
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     environment: Box<dyn JVMTI>
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bytecode/io/reader.rs:866:21
[INFO] [stdout]     |
[INFO] [stdout] 866 |     source: &'a mut Read,
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 866 |     source: &'a mut dyn Read,
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/bytecode/io/writer.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 |     target: &'a mut Write
[INFO] [stdout]   |                     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 5 |     target: &'a mut dyn Write
[INFO] [stdout]   |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/environment/jvm.rs:9:45
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn get_environment(&self) -> Result<Box<JVMTI>, NativeError>;
[INFO] [stdout]   |                                             ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn get_environment(&self) -> Result<Box<dyn JVMTI>, NativeError>;
[INFO] [stdout]   |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator.rs:42:45
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn get_environment(&self) -> Result<Box<JVMTI>, NativeError> {
[INFO] [stdout]    |                                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn get_environment(&self) -> Result<Box<dyn JVMTI>, NativeError> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/environment/jvm.rs:31:45
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn get_environment(&self) -> Result<Box<JVMTI>, NativeError> {
[INFO] [stdout]    |                                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn get_environment(&self) -> Result<Box<dyn JVMTI>, NativeError> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/agent.rs:37:30
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn new_from(jvm: Box<JVMF>) -> Agent {
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn new_from(jvm: Box<dyn JVMF>) -> Agent {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_left_matches`: superseded by `trim_start_matches`
[INFO] [stdout]   --> src/class.rs:72:41
[INFO] [stdout]    |
[INFO] [stdout] 72 |             JavaType::Class(cls) => cls.trim_left_matches("L").trim_right_matches(";").replace(";", "").replace("/", ".").to_string()
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 72 -             JavaType::Class(cls) => cls.trim_left_matches("L").trim_right_matches(";").replace(";", "").replace("/", ".").to_string()
[INFO] [stdout] 72 +             JavaType::Class(cls) => cls.trim_start_matches("L").trim_right_matches(";").replace(";", "").replace("/", ".").to_string()
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right_matches`: superseded by `trim_end_matches`
[INFO] [stdout]   --> src/class.rs:72:64
[INFO] [stdout]    |
[INFO] [stdout] 72 |             JavaType::Class(cls) => cls.trim_left_matches("L").trim_right_matches(";").replace(";", "").replace("/", ".").to_string()
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 72 -             JavaType::Class(cls) => cls.trim_left_matches("L").trim_right_matches(";").replace(";", "").replace("/", ".").to_string()
[INFO] [stdout] 72 +             JavaType::Class(cls) => cls.trim_left_matches("L").trim_end_matches(";").replace(";", "").replace("/", ".").to_string()
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right_matches`: superseded by `trim_end_matches`
[INFO] [stdout]   --> src/class.rs:98:34
[INFO] [stdout]    |
[INFO] [stdout] 98 |                     package: pkg.trim_right_matches(".").to_string(),
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 98 -                     package: pkg.trim_right_matches(".").to_string(),
[INFO] [stdout] 98 +                     package: pkg.trim_end_matches(".").to_string(),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `et`
[INFO] [stdout]    --> src/bytecode/printer.rs:143:105
[INFO] [stdout]     |
[INFO] [stdout] 143 | ...ode: ref c, exception_table: ref et, attributes: ref attributes } => {
[INFO] [stdout]     |                                     ^^ help: if this is intentional, prefix it with an underscore: `_et`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:246:45
[INFO] [stdout]     |
[INFO] [stdout] 246 |                     &Instruction::IF_ACMPEQ(value) => format!("if_acmpeq"),
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:247:45
[INFO] [stdout]     |
[INFO] [stdout] 247 |                     &Instruction::IF_ACMPNE(value) => format!("if_acmpne"),
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:248:45
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     &Instruction::IF_ICMPEQ(value) => format!("if_icmpeq"),
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:249:45
[INFO] [stdout]     |
[INFO] [stdout] 249 |                     &Instruction::IF_ICMPNE(value) => format!("if_icmpne"),
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:250:45
[INFO] [stdout]     |
[INFO] [stdout] 250 |                     &Instruction::IF_ICMPLT(value) => format!("if_icmplt"),
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:251:45
[INFO] [stdout]     |
[INFO] [stdout] 251 |                     &Instruction::IF_ICMPGE(value) => format!("if_icmpge"),
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:252:45
[INFO] [stdout]     |
[INFO] [stdout] 252 |                     &Instruction::IF_ICMPGT(value) => format!("if_icmpgt"),
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:253:45
[INFO] [stdout]     |
[INFO] [stdout] 253 |                     &Instruction::IF_ICMPLE(value) => format!("if_icmple"),
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:254:40
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     &Instruction::IFEQ(value) => format!("ifeq"),
[INFO] [stdout]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:255:40
[INFO] [stdout]     |
[INFO] [stdout] 255 |                     &Instruction::IFNE(value) => format!("ifne"),
[INFO] [stdout]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:256:40
[INFO] [stdout]     |
[INFO] [stdout] 256 |                     &Instruction::IFLT(value) => format!("iflt"),
[INFO] [stdout]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:257:40
[INFO] [stdout]     |
[INFO] [stdout] 257 |                     &Instruction::IFGE(value) => format!("ifge"),
[INFO] [stdout]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:258:40
[INFO] [stdout]     |
[INFO] [stdout] 258 |                     &Instruction::IFGT(value) => format!("ifgt"),
[INFO] [stdout]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:259:40
[INFO] [stdout]     |
[INFO] [stdout] 259 |                     &Instruction::IFLE(value) => format!("ifle"),
[INFO] [stdout]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:260:45
[INFO] [stdout]     |
[INFO] [stdout] 260 |                     &Instruction::IFNONNULL(value) => format!("ifnonnull"),
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:261:42
[INFO] [stdout]     |
[INFO] [stdout] 261 |                     &Instruction::IFNULL(value) => format!("ifnull"),
[INFO] [stdout]     |                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:262:40
[INFO] [stdout]     |
[INFO] [stdout] 262 |                     &Instruction::IINC(value, increment) => format!("iinc"),
[INFO] [stdout]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `increment`
[INFO] [stdout]    --> src/bytecode/printer.rs:262:47
[INFO] [stdout]     |
[INFO] [stdout] 262 |                     &Instruction::IINC(value, increment) => format!("iinc"),
[INFO] [stdout]     |                                               ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_increment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:263:41
[INFO] [stdout]     |
[INFO] [stdout] 263 |                     &Instruction::ILOAD(value) => format!("iload"),
[INFO] [stdout]     |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:270:46
[INFO] [stdout]     |
[INFO] [stdout] 270 |                     &Instruction::INSTANCEOF(value) => format!("instanceof"),
[INFO] [stdout]     |                                              ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 270 |                     &Instruction::INSTANCEOF(_value) => format!("instanceof"),
[INFO] [stdout]     |                                              +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MINOR_VERSION`
[INFO] [stdout]     |
[INFO] [stdout] 270 -                     &Instruction::INSTANCEOF(value) => format!("instanceof"),
[INFO] [stdout] 270 +                     &Instruction::INSTANCEOF(<bytecode::classfile::ClassfileVersion as std::default::Default>::default::DEFAULT_MINOR_VERSION) => format!("instanceof"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/bytecode/printer.rs:272:58
[INFO] [stdout]     |
[INFO] [stdout] 272 |                     &Instruction::INVOKEINTERFACE(value, index) => format!("invokeinterface #{}", value),
[INFO] [stdout]     |                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:289:39
[INFO] [stdout]     |
[INFO] [stdout] 289 |                     &Instruction::JSR(value) => format!("jsr"),
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:290:41
[INFO] [stdout]     |
[INFO] [stdout] 290 |                     &Instruction::JSR_W(value) => format!("jsr_w"),
[INFO] [stdout]     |                                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 290 |                     &Instruction::JSR_W(_value) => format!("jsr_w"),
[INFO] [stdout]     |                                         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `JVMTI_VERSION`
[INFO] [stdout]     |
[INFO] [stdout] 290 -                     &Instruction::JSR_W(value) => format!("jsr_w"),
[INFO] [stdout] 290 +                     &Instruction::JSR_W(native::jvmti_native::JVMTI_VERSION) => format!("jsr_w"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:301:39
[INFO] [stdout]     |
[INFO] [stdout] 301 |                     &Instruction::LDC(value) => format!("ldc"),
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:302:41
[INFO] [stdout]     |
[INFO] [stdout] 302 |                     &Instruction::LDC_W(value) => format!("ldc_w"),
[INFO] [stdout]     |                                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 302 |                     &Instruction::LDC_W(_value) => format!("ldc_w"),
[INFO] [stdout]     |                                         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MINOR_VERSION`
[INFO] [stdout]     |
[INFO] [stdout] 302 -                     &Instruction::LDC_W(value) => format!("ldc_w"),
[INFO] [stdout] 302 +                     &Instruction::LDC_W(<bytecode::classfile::ClassfileVersion as std::default::Default>::default::DEFAULT_MINOR_VERSION) => format!("ldc_w"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:303:42
[INFO] [stdout]     |
[INFO] [stdout] 303 |                     &Instruction::LDC2_W(value) => format!("ldc2_w"),
[INFO] [stdout]     |                                          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 303 |                     &Instruction::LDC2_W(_value) => format!("ldc2_w"),
[INFO] [stdout]     |                                          +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MINOR_VERSION`
[INFO] [stdout]     |
[INFO] [stdout] 303 -                     &Instruction::LDC2_W(value) => format!("ldc2_w"),
[INFO] [stdout] 303 +                     &Instruction::LDC2_W(<bytecode::classfile::ClassfileVersion as std::default::Default>::default::DEFAULT_MINOR_VERSION) => format!("ldc2_w"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:305:41
[INFO] [stdout]     |
[INFO] [stdout] 305 |                     &Instruction::LLOAD(value) => format!("lload"),
[INFO] [stdout]     |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:312:48
[INFO] [stdout]     |
[INFO] [stdout] 312 |                     &Instruction::LOOKUPSWITCH(value, ref table) => format!("lookupswitch"),
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 312 |                     &Instruction::LOOKUPSWITCH(_value, ref table) => format!("lookupswitch"),
[INFO] [stdout]     |                                                +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `JVMTI_VERSION`
[INFO] [stdout]     |
[INFO] [stdout] 312 -                     &Instruction::LOOKUPSWITCH(value, ref table) => format!("lookupswitch"),
[INFO] [stdout] 312 +                     &Instruction::LOOKUPSWITCH(native::jvmti_native::JVMTI_VERSION, ref table) => format!("lookupswitch"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `table`
[INFO] [stdout]    --> src/bytecode/printer.rs:312:59
[INFO] [stdout]     |
[INFO] [stdout] 312 |                     &Instruction::LOOKUPSWITCH(value, ref table) => format!("lookupswitch"),
[INFO] [stdout]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:328:50
[INFO] [stdout]     |
[INFO] [stdout] 328 |                     &Instruction::MULTIANEWARRAY(value, size) => format!("multianewarray"),
[INFO] [stdout]     |                                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 328 |                     &Instruction::MULTIANEWARRAY(_value, size) => format!("multianewarray"),
[INFO] [stdout]     |                                                  +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MINOR_VERSION`
[INFO] [stdout]     |
[INFO] [stdout] 328 -                     &Instruction::MULTIANEWARRAY(value, size) => format!("multianewarray"),
[INFO] [stdout] 328 +                     &Instruction::MULTIANEWARRAY(<bytecode::classfile::ClassfileVersion as std::default::Default>::default::DEFAULT_MINOR_VERSION, size) => format!("multianewarray"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/bytecode/printer.rs:328:57
[INFO] [stdout]     |
[INFO] [stdout] 328 |                     &Instruction::MULTIANEWARRAY(value, size) => format!("multianewarray"),
[INFO] [stdout]     |                                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:329:39
[INFO] [stdout]     |
[INFO] [stdout] 329 |                     &Instruction::NEW(value) => format!("new"),
[INFO] [stdout]     |                                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 329 |                     &Instruction::NEW(_value) => format!("new"),
[INFO] [stdout]     |                                       +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MINOR_VERSION`
[INFO] [stdout]     |
[INFO] [stdout] 329 -                     &Instruction::NEW(value) => format!("new"),
[INFO] [stdout] 329 +                     &Instruction::NEW(<bytecode::classfile::ClassfileVersion as std::default::Default>::default::DEFAULT_MINOR_VERSION) => format!("new"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:330:44
[INFO] [stdout]     |
[INFO] [stdout] 330 |                     &Instruction::NEWARRAY(value) => format!("newarray"),
[INFO] [stdout]     |                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:334:44
[INFO] [stdout]     |
[INFO] [stdout] 334 |                     &Instruction::PUTFIELD(value) => format!("putfield"),
[INFO] [stdout]     |                                            ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 334 |                     &Instruction::PUTFIELD(_value) => format!("putfield"),
[INFO] [stdout]     |                                            +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MINOR_VERSION`
[INFO] [stdout]     |
[INFO] [stdout] 334 -                     &Instruction::PUTFIELD(value) => format!("putfield"),
[INFO] [stdout] 334 +                     &Instruction::PUTFIELD(<bytecode::classfile::ClassfileVersion as std::default::Default>::default::DEFAULT_MINOR_VERSION) => format!("putfield"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:335:45
[INFO] [stdout]     |
[INFO] [stdout] 335 |                     &Instruction::PUTSTATIC(value) => format!("putstatic"),
[INFO] [stdout]     |                                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 335 |                     &Instruction::PUTSTATIC(_value) => format!("putstatic"),
[INFO] [stdout]     |                                             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MINOR_VERSION`
[INFO] [stdout]     |
[INFO] [stdout] 335 -                     &Instruction::PUTSTATIC(value) => format!("putstatic"),
[INFO] [stdout] 335 +                     &Instruction::PUTSTATIC(<bytecode::classfile::ClassfileVersion as std::default::Default>::default::DEFAULT_MINOR_VERSION) => format!("putstatic"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:336:39
[INFO] [stdout]     |
[INFO] [stdout] 336 |                     &Instruction::RET(value) => format!("ret"),
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:342:47
[INFO] [stdout]     |
[INFO] [stdout] 342 |                     &Instruction::TABLESWITCH(value, _, _, _) => format!("tableswitch"),
[INFO] [stdout]     |                                               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 342 |                     &Instruction::TABLESWITCH(_value, _, _, _) => format!("tableswitch"),
[INFO] [stdout]     |                                               +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `JVMTI_VERSION`
[INFO] [stdout]     |
[INFO] [stdout] 342 -                     &Instruction::TABLESWITCH(value, _, _, _) => format!("tableswitch"),
[INFO] [stdout] 342 +                     &Instruction::TABLESWITCH(native::jvmti_native::JVMTI_VERSION, _, _, _) => format!("tableswitch"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:343:42
[INFO] [stdout]     |
[INFO] [stdout] 343 |                     &Instruction::IINC_W(value, increment) => format!("iinc_w"),
[INFO] [stdout]     |                                          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 343 |                     &Instruction::IINC_W(_value, increment) => format!("iinc_w"),
[INFO] [stdout]     |                                          +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MINOR_VERSION`
[INFO] [stdout]     |
[INFO] [stdout] 343 -                     &Instruction::IINC_W(value, increment) => format!("iinc_w"),
[INFO] [stdout] 343 +                     &Instruction::IINC_W(<bytecode::classfile::ClassfileVersion as std::default::Default>::default::DEFAULT_MINOR_VERSION, increment) => format!("iinc_w"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `increment`
[INFO] [stdout]    --> src/bytecode/printer.rs:343:49
[INFO] [stdout]     |
[INFO] [stdout] 343 |                     &Instruction::IINC_W(value, increment) => format!("iinc_w"),
[INFO] [stdout]     |                                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_increment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag`
[INFO] [stdout]    --> src/bytecode/printer.rs:405:46
[INFO] [stdout]     |
[INFO] [stdout] 405 |             &StackMapFrame::FutureUse { tag: tag } => format!("FutureUse")
[INFO] [stdout]     |                                              ^^^ help: if this is intentional, prefix it with an underscore: `_tag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/environment/jvmti.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |         let mut info_ptr = &mut info;
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/environment/jvmti.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let mut method_ptr = &mut method_name;
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/environment/jvmti.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let mut signature_ptr = &mut signature;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/environment/jvmti.rs:175:13
[INFO] [stdout]     |
[INFO] [stdout] 175 |         let mut generic_sig_ptr = &mut generic_sig;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `Java1_5` is named the same as one of the variants of the type `instrumentation::asm::ClassfileVersion`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             Java1_5 => 49,
[INFO] [stdout]    |             ^^^^^^^ help: to match on the variant, qualify the path: `instrumentation::asm::ClassfileVersion::Java1_5`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bindings_with_variant_name)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `Java1_6` is named the same as one of the variants of the type `instrumentation::asm::ClassfileVersion`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |             Java1_6 => 50,
[INFO] [stdout]    |             ^^^^^^^ help: to match on the variant, qualify the path: `instrumentation::asm::ClassfileVersion::Java1_6`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `Java1_7` is named the same as one of the variants of the type `instrumentation::asm::ClassfileVersion`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |             Java1_7 => 51,
[INFO] [stdout]    |             ^^^^^^^ help: to match on the variant, qualify the path: `instrumentation::asm::ClassfileVersion::Java1_7`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `Java1_8` is named the same as one of the variants of the type `instrumentation::asm::ClassfileVersion`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |             Java1_8 => 52,
[INFO] [stdout]    |             ^^^^^^^ help: to match on the variant, qualify the path: `instrumentation::asm::ClassfileVersion::Java1_8`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `Java1_9` is named the same as one of the variants of the type `instrumentation::asm::ClassfileVersion`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |             Java1_9 => 53
[INFO] [stdout]    |             ^^^^^^^ help: to match on the variant, qualify the path: `instrumentation::asm::ClassfileVersion::Java1_9`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             Java1_5 => 49,
[INFO] [stdout]    |             ------- matches any value
[INFO] [stdout] 37 |             Java1_6 => 50,
[INFO] [stdout]    |             ^^^^^^^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             Java1_5 => 49,
[INFO] [stdout]    |             ------- matches any value
[INFO] [stdout] 37 |             Java1_6 => 50,
[INFO] [stdout] 38 |             Java1_7 => 51,
[INFO] [stdout]    |             ^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             Java1_5 => 49,
[INFO] [stdout]    |             ------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 39 |             Java1_8 => 52,
[INFO] [stdout]    |             ^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             Java1_5 => 49,
[INFO] [stdout]    |             ------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 40 |             Java1_9 => 53
[INFO] [stdout]    |             ^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Java1_5`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             Java1_5 => 49,
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 36 |             _Java1_5 => 49,
[INFO] [stdout]    |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `Java1_5`
[INFO] [stdout]    |
[INFO] [stdout] 36 |             instrumentation::asm::ClassfileVersion::Java1_5 => 49,
[INFO] [stdout]    |             ++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Java1_6`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |             Java1_6 => 50,
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 37 |             _Java1_6 => 50,
[INFO] [stdout]    |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `Java1_6`
[INFO] [stdout]    |
[INFO] [stdout] 37 |             instrumentation::asm::ClassfileVersion::Java1_6 => 50,
[INFO] [stdout]    |             ++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Java1_7`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |             Java1_7 => 51,
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 38 |             _Java1_7 => 51,
[INFO] [stdout]    |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `Java1_7`
[INFO] [stdout]    |
[INFO] [stdout] 38 |             instrumentation::asm::ClassfileVersion::Java1_7 => 51,
[INFO] [stdout]    |             ++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Java1_8`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |             Java1_8 => 52,
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 39 |             _Java1_8 => 52,
[INFO] [stdout]    |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `Java1_8`
[INFO] [stdout]    |
[INFO] [stdout] 39 |             instrumentation::asm::ClassfileVersion::Java1_8 => 52,
[INFO] [stdout]    |             ++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Java1_9`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |             Java1_9 => 53
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 40 |             _Java1_9 => 53
[INFO] [stdout]    |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `Java1_9`
[INFO] [stdout]    |
[INFO] [stdout] 40 |             instrumentation::asm::ClassfileVersion::Java1_9 => 53
[INFO] [stdout]    |             ++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:62:41
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn add_utf8_constant(&mut self, content: String) {
[INFO] [stdout]    |                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:66:43
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn add_string_constant(&mut self, content: String) {
[INFO] [stdout]    |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `classfile`
[INFO] [stdout]   --> src/instrumentation/mod.rs:37:27
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn from_classfile(classfile: &Classfile) -> Option<JavaClass> {
[INFO] [stdout]    |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_classfile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method`
[INFO] [stdout]   --> src/instrumentation/mod.rs:41:23
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn add_method(method: Method) {
[INFO] [stdout]    |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_method`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/bytecode/io/reader.rs:872:41
[INFO] [stdout]     |
[INFO] [stdout] 872 |     pub fn new<T>(source: &'a mut T) -> BlockReader where T: Read {
[INFO] [stdout]     |                            --           ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is named 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 872 |     pub fn new<T>(source: &'a mut T) -> BlockReader<'a> where T: Read {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]  --> src/bytecode/io/writer.rs:9:41
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn new<T>(target: &'a mut T) -> ClassWriter where T: Write {
[INFO] [stdout]   |                            --           ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |                            |
[INFO] [stdout]   |                            the lifetime is named here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn new<T>(target: &'a mut T) -> ClassWriter<'a> where T: Write {
[INFO] [stdout]   |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `attributes:` in this pattern is redundant
[INFO] [stdout]    --> src/bytecode/printer.rs:143:109
[INFO] [stdout]     |
[INFO] [stdout] 143 | ...c, exception_table: ref et, attributes: ref attributes } => {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `ref attributes`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_shorthand_field_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `tag:` in this pattern is redundant
[INFO] [stdout]    --> src/bytecode/printer.rs:398:41
[INFO] [stdout]     |
[INFO] [stdout] 398 |             &StackMapFrame::SameFrame { tag: tag } => format!("SameFrame {}", tag),
[INFO] [stdout]     |                                         ^^^^^^^^ help: use shorthand field pattern: `tag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `tag:` in this pattern is redundant
[INFO] [stdout]    --> src/bytecode/printer.rs:399:57
[INFO] [stdout]     |
[INFO] [stdout] 399 | ...   &StackMapFrame::SameLocals1StackItemFrame { tag: tag, stack: _ /*VerificationType*/ } => format!("SameLocals1StackItemFrame {}", tag),
[INFO] [stdout]     |                                                   ^^^^^^^^ help: use shorthand field pattern: `tag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `tag:` in this pattern is redundant
[INFO] [stdout]    --> src/bytecode/printer.rs:401:41
[INFO] [stdout]     |
[INFO] [stdout] 401 |             &StackMapFrame::ChopFrame { tag: tag, offset_delta: offset } => format!("ChopFrame {} {}", tag, offset),
[INFO] [stdout]     |                                         ^^^^^^^^ help: use shorthand field pattern: `tag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `tag:` in this pattern is redundant
[INFO] [stdout]    --> src/bytecode/printer.rs:403:43
[INFO] [stdout]     |
[INFO] [stdout] 403 | ...   &StackMapFrame::AppendFrame { tag: tag, offset_delta: offset, locals: _ /*Vec<VerificationType>*/ } => format!("AppendFrame {} {}",...
[INFO] [stdout]     |                                     ^^^^^^^^ help: use shorthand field pattern: `tag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `tag:` in this pattern is redundant
[INFO] [stdout]    --> src/bytecode/printer.rs:405:41
[INFO] [stdout]     |
[INFO] [stdout] 405 |             &StackMapFrame::FutureUse { tag: tag } => format!("FutureUse")
[INFO] [stdout]     |                                         ^^^^^^^^ help: use shorthand field pattern: `tag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Java1_5` should have a snake case name
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             Java1_5 => 49,
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `java1_5`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Java1_6` should have a snake case name
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |             Java1_6 => 50,
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `java1_6`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Java1_7` should have a snake case name
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |             Java1_7 => 51,
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `java1_7`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Java1_8` should have a snake case name
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |             Java1_8 => 52,
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `java1_8`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Java1_9` should have a snake case name
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |             Java1_9 => 53
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `java1_9`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/instrumentation/asm/transformer.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(class: &mut Classfile) -> Transformer {
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(class: &mut Classfile) -> Transformer<'_> {
[INFO] [stdout]    |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0170`.
[INFO] [stdout] 
[INFO] [stdout] warning: function `main2` is never used
[INFO] [stdout]   --> src/main.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn main2() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 15.04s
[INFO] running `Command { std: "docker" "inspect" "8e22af6deb48931e9ff53536ea74aef6ec979827ee00b700f9d9d4ac6825c23c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8e22af6deb48931e9ff53536ea74aef6ec979827ee00b700f9d9d4ac6825c23c", kill_on_drop: false }`
[INFO] [stdout] 8e22af6deb48931e9ff53536ea74aef6ec979827ee00b700f9d9d4ac6825c23c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4e0572eff6f1fa1ad641c37d1dadc1a9035d46ffcf9a6c33448cd30fe10fc685
[INFO] running `Command { std: "docker" "start" "-a" "4e0572eff6f1fa1ad641c37d1dadc1a9035d46ffcf9a6c33448cd30fe10fc685", kill_on_drop: false }`
[INFO] [stderr] warning: `crate_type` is deprecated in favor of `crate-type` and will not work in the 2024 edition
[INFO] [stderr] (in the `jvmti` library target)
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stdout] warning: unused import: `agent::Agent`
[INFO] [stdout]  --> src/lib.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use agent::Agent;
[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: `bytecode::printer::ClassfilePrinter`
[INFO] [stdout]   --> src/lib.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use bytecode::printer::ClassfilePrinter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bytecode::classfile::Constant`
[INFO] [stdout]   --> src/lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use bytecode::classfile::Constant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bytecode::io::ClassWriter`
[INFO] [stdout]   --> src/lib.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use bytecode::io::ClassWriter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `config::Config`
[INFO] [stdout]   --> src/lib.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use config::Config;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `context::static_context`
[INFO] [stdout]   --> src/lib.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use context::static_context;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `instrumentation::asm::transformer::Transformer`
[INFO] [stdout]   --> src/lib.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use instrumentation::asm::transformer::Transformer;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JavaVMPtr`, `MutString`, `ReturnValue`, and `VoidPtr`
[INFO] [stdout]   --> src/lib.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 | use native::{JavaVMPtr, MutString, VoidPtr, ReturnValue};
[INFO] [stdout]    |              ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `options::Options`
[INFO] [stdout]   --> src/lib.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use options::Options;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `runtime::*`
[INFO] [stdout]   --> src/lib.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use runtime::*;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Cursor`
[INFO] [stdout]   --> src/lib.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::io::Cursor;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread::Thread`
[INFO] [stdout]   --> src/lib.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use thread::Thread;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `util::stringify`
[INFO] [stdout]   --> src/lib.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use util::stringify;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::config::Config`
[INFO] [stdout]  --> src/agent.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::config::Config;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::options::Options`
[INFO] [stdout]  --> src/agent.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::options::Options;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bytecode/io/reader.rs:622:38
[INFO] [stdout]     |
[INFO] [stdout] 622 | ...                   tag@0...63 => StackMapFrame::SameFrame { tag: tag },
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bytecode/io/reader.rs:623:39
[INFO] [stdout]     |
[INFO] [stdout] 623 | ...                   tag@64...127 => StackMapFrame::SameLocals1StackItemFrame { tag: tag, stack: read_verification_type(&mut reader) },
[INFO] [stdout]     |                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bytecode/io/reader.rs:625:40
[INFO] [stdout]     |
[INFO] [stdout] 625 | ...                   tag@248...250 => StackMapFrame::ChopFrame { tag: tag, offset_delta: reader.get_u16() },
[INFO] [stdout]     |                              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bytecode/io/reader.rs:627:40
[INFO] [stdout]     |
[INFO] [stdout] 627 | ...   tag@252...254 => StackMapFrame::AppendFrame { tag: tag, offset_delta: reader.get_u16(), locals: (0..tag - 251).map(|_| read_verific...
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bytecode/io/reader.rs:757:31
[INFO] [stdout]     |
[INFO] [stdout] 757 |                 subtype @ 0x00...0x01 => TargetInfo::TypeParameter { subtype: subtype, idx: reader.get_u8() },
[INFO] [stdout]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bytecode/io/reader.rs:762:31
[INFO] [stdout]     |
[INFO] [stdout] 762 | ...   subtype @ 0x11...0x12 => TargetInfo::TypeParameterBound { subtype: subtype, param_idx: reader.get_u8(), bound_index: reader.get_u8(...
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bytecode/io/reader.rs:766:31
[INFO] [stdout]     |
[INFO] [stdout] 766 |                 subtype @ 0x13...0x15 => TargetInfo::Empty { subtype: subtype },
[INFO] [stdout]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bytecode/io/reader.rs:773:31
[INFO] [stdout]     |
[INFO] [stdout] 773 |                 subtype @ 0x40...0x41 => TargetInfo::LocalVar { subtype: subtype, target: {
[INFO] [stdout]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bytecode/io/reader.rs:785:31
[INFO] [stdout]     |
[INFO] [stdout] 785 |                 subtype @ 0x43...0x46 => TargetInfo::Offset { subtype: subtype, idx: reader.get_u16() },
[INFO] [stdout]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bytecode/io/reader.rs:790:31
[INFO] [stdout]     |
[INFO] [stdout] 790 | ...   subtype @ 0x47...0x4b => TargetInfo::TypeArgument { subtype: subtype, offset: reader.get_u16(), type_arg_idx: reader.get_u8() },
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/context.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | / ///
[INFO] [stdout] 10 | | /// Public static mutable *cough* agent context. This seems necessary as our code is invoked from
[INFO] [stdout] 11 | | /// the JVM and we need a place to store the temporary mutable data.
[INFO] [stdout] 12 | | ///
[INFO] [stdout] 13 | | /// This wouldn't be such a problem if this was a C program, but you know, this is not a C program.
[INFO] [stdout] 14 | | ///
[INFO] [stdout]    | |_--^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/context.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / lazy_static! {
[INFO] [stdout] 16 | |     static ref STATIC_CONTEXT: AgentContext = AgentContext::new();
[INFO] [stdout] 17 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/agent.rs:12:14
[INFO] [stdout]    |
[INFO] [stdout] 12 |     jvm: Box<JVMF>,
[INFO] [stdout]    |              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     jvm: Box<dyn JVMF>,
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/agent.rs:15:22
[INFO] [stdout]    |
[INFO] [stdout] 15 |     environment: Box<JVMTI>
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     environment: Box<dyn JVMTI>
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bytecode/io/reader.rs:866:21
[INFO] [stdout]     |
[INFO] [stdout] 866 |     source: &'a mut Read,
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 866 |     source: &'a mut dyn Read,
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/bytecode/io/writer.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 |     target: &'a mut Write
[INFO] [stdout]   |                     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 5 |     target: &'a mut dyn Write
[INFO] [stdout]   |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/environment/jvm.rs:9:45
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn get_environment(&self) -> Result<Box<JVMTI>, NativeError>;
[INFO] [stdout]   |                                             ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn get_environment(&self) -> Result<Box<dyn JVMTI>, NativeError>;
[INFO] [stdout]   |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator.rs:42:45
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn get_environment(&self) -> Result<Box<JVMTI>, NativeError> {
[INFO] [stdout]    |                                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn get_environment(&self) -> Result<Box<dyn JVMTI>, NativeError> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/environment/jvm.rs:31:45
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn get_environment(&self) -> Result<Box<JVMTI>, NativeError> {
[INFO] [stdout]    |                                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn get_environment(&self) -> Result<Box<dyn JVMTI>, NativeError> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/agent.rs:37:30
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn new_from(jvm: Box<JVMF>) -> Agent {
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn new_from(jvm: Box<dyn JVMF>) -> Agent {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_left_matches`: superseded by `trim_start_matches`
[INFO] [stdout]   --> src/class.rs:72:41
[INFO] [stdout]    |
[INFO] [stdout] 72 |             JavaType::Class(cls) => cls.trim_left_matches("L").trim_right_matches(";").replace(";", "").replace("/", ".").to_string()
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 72 -             JavaType::Class(cls) => cls.trim_left_matches("L").trim_right_matches(";").replace(";", "").replace("/", ".").to_string()
[INFO] [stdout] 72 +             JavaType::Class(cls) => cls.trim_start_matches("L").trim_right_matches(";").replace(";", "").replace("/", ".").to_string()
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right_matches`: superseded by `trim_end_matches`
[INFO] [stdout]   --> src/class.rs:72:64
[INFO] [stdout]    |
[INFO] [stdout] 72 |             JavaType::Class(cls) => cls.trim_left_matches("L").trim_right_matches(";").replace(";", "").replace("/", ".").to_string()
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 72 -             JavaType::Class(cls) => cls.trim_left_matches("L").trim_right_matches(";").replace(";", "").replace("/", ".").to_string()
[INFO] [stdout] 72 +             JavaType::Class(cls) => cls.trim_left_matches("L").trim_end_matches(";").replace(";", "").replace("/", ".").to_string()
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right_matches`: superseded by `trim_end_matches`
[INFO] [stdout]   --> src/class.rs:98:34
[INFO] [stdout]    |
[INFO] [stdout] 98 |                     package: pkg.trim_right_matches(".").to_string(),
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 98 -                     package: pkg.trim_right_matches(".").to_string(),
[INFO] [stdout] 98 +                     package: pkg.trim_end_matches(".").to_string(),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `et`
[INFO] [stdout]    --> src/bytecode/printer.rs:143:105
[INFO] [stdout]     |
[INFO] [stdout] 143 | ...ode: ref c, exception_table: ref et, attributes: ref attributes } => {
[INFO] [stdout]     |                                     ^^ help: if this is intentional, prefix it with an underscore: `_et`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:246:45
[INFO] [stdout]     |
[INFO] [stdout] 246 |                     &Instruction::IF_ACMPEQ(value) => format!("if_acmpeq"),
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:247:45
[INFO] [stdout]     |
[INFO] [stdout] 247 |                     &Instruction::IF_ACMPNE(value) => format!("if_acmpne"),
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:248:45
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     &Instruction::IF_ICMPEQ(value) => format!("if_icmpeq"),
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:249:45
[INFO] [stdout]     |
[INFO] [stdout] 249 |                     &Instruction::IF_ICMPNE(value) => format!("if_icmpne"),
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:250:45
[INFO] [stdout]     |
[INFO] [stdout] 250 |                     &Instruction::IF_ICMPLT(value) => format!("if_icmplt"),
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:251:45
[INFO] [stdout]     |
[INFO] [stdout] 251 |                     &Instruction::IF_ICMPGE(value) => format!("if_icmpge"),
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:252:45
[INFO] [stdout]     |
[INFO] [stdout] 252 |                     &Instruction::IF_ICMPGT(value) => format!("if_icmpgt"),
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:253:45
[INFO] [stdout]     |
[INFO] [stdout] 253 |                     &Instruction::IF_ICMPLE(value) => format!("if_icmple"),
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:254:40
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     &Instruction::IFEQ(value) => format!("ifeq"),
[INFO] [stdout]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:255:40
[INFO] [stdout]     |
[INFO] [stdout] 255 |                     &Instruction::IFNE(value) => format!("ifne"),
[INFO] [stdout]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:256:40
[INFO] [stdout]     |
[INFO] [stdout] 256 |                     &Instruction::IFLT(value) => format!("iflt"),
[INFO] [stdout]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:257:40
[INFO] [stdout]     |
[INFO] [stdout] 257 |                     &Instruction::IFGE(value) => format!("ifge"),
[INFO] [stdout]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:258:40
[INFO] [stdout]     |
[INFO] [stdout] 258 |                     &Instruction::IFGT(value) => format!("ifgt"),
[INFO] [stdout]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:259:40
[INFO] [stdout]     |
[INFO] [stdout] 259 |                     &Instruction::IFLE(value) => format!("ifle"),
[INFO] [stdout]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:260:45
[INFO] [stdout]     |
[INFO] [stdout] 260 |                     &Instruction::IFNONNULL(value) => format!("ifnonnull"),
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:261:42
[INFO] [stdout]     |
[INFO] [stdout] 261 |                     &Instruction::IFNULL(value) => format!("ifnull"),
[INFO] [stdout]     |                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:262:40
[INFO] [stdout]     |
[INFO] [stdout] 262 |                     &Instruction::IINC(value, increment) => format!("iinc"),
[INFO] [stdout]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `increment`
[INFO] [stdout]    --> src/bytecode/printer.rs:262:47
[INFO] [stdout]     |
[INFO] [stdout] 262 |                     &Instruction::IINC(value, increment) => format!("iinc"),
[INFO] [stdout]     |                                               ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_increment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:263:41
[INFO] [stdout]     |
[INFO] [stdout] 263 |                     &Instruction::ILOAD(value) => format!("iload"),
[INFO] [stdout]     |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:270:46
[INFO] [stdout]     |
[INFO] [stdout] 270 |                     &Instruction::INSTANCEOF(value) => format!("instanceof"),
[INFO] [stdout]     |                                              ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 270 |                     &Instruction::INSTANCEOF(_value) => format!("instanceof"),
[INFO] [stdout]     |                                              +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MINOR_VERSION`
[INFO] [stdout]     |
[INFO] [stdout] 270 -                     &Instruction::INSTANCEOF(value) => format!("instanceof"),
[INFO] [stdout] 270 +                     &Instruction::INSTANCEOF(<bytecode::classfile::ClassfileVersion as std::default::Default>::default::DEFAULT_MINOR_VERSION) => format!("instanceof"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/bytecode/printer.rs:272:58
[INFO] [stdout]     |
[INFO] [stdout] 272 |                     &Instruction::INVOKEINTERFACE(value, index) => format!("invokeinterface #{}", value),
[INFO] [stdout]     |                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:289:39
[INFO] [stdout]     |
[INFO] [stdout] 289 |                     &Instruction::JSR(value) => format!("jsr"),
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:290:41
[INFO] [stdout]     |
[INFO] [stdout] 290 |                     &Instruction::JSR_W(value) => format!("jsr_w"),
[INFO] [stdout]     |                                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 290 |                     &Instruction::JSR_W(_value) => format!("jsr_w"),
[INFO] [stdout]     |                                         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `JVMTI_VERSION`
[INFO] [stdout]     |
[INFO] [stdout] 290 -                     &Instruction::JSR_W(value) => format!("jsr_w"),
[INFO] [stdout] 290 +                     &Instruction::JSR_W(native::jvmti_native::JVMTI_VERSION) => format!("jsr_w"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:301:39
[INFO] [stdout]     |
[INFO] [stdout] 301 |                     &Instruction::LDC(value) => format!("ldc"),
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:302:41
[INFO] [stdout]     |
[INFO] [stdout] 302 |                     &Instruction::LDC_W(value) => format!("ldc_w"),
[INFO] [stdout]     |                                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 302 |                     &Instruction::LDC_W(_value) => format!("ldc_w"),
[INFO] [stdout]     |                                         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MINOR_VERSION`
[INFO] [stdout]     |
[INFO] [stdout] 302 -                     &Instruction::LDC_W(value) => format!("ldc_w"),
[INFO] [stdout] 302 +                     &Instruction::LDC_W(<bytecode::classfile::ClassfileVersion as std::default::Default>::default::DEFAULT_MINOR_VERSION) => format!("ldc_w"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:303:42
[INFO] [stdout]     |
[INFO] [stdout] 303 |                     &Instruction::LDC2_W(value) => format!("ldc2_w"),
[INFO] [stdout]     |                                          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 303 |                     &Instruction::LDC2_W(_value) => format!("ldc2_w"),
[INFO] [stdout]     |                                          +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MINOR_VERSION`
[INFO] [stdout]     |
[INFO] [stdout] 303 -                     &Instruction::LDC2_W(value) => format!("ldc2_w"),
[INFO] [stdout] 303 +                     &Instruction::LDC2_W(<bytecode::classfile::ClassfileVersion as std::default::Default>::default::DEFAULT_MINOR_VERSION) => format!("ldc2_w"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:305:41
[INFO] [stdout]     |
[INFO] [stdout] 305 |                     &Instruction::LLOAD(value) => format!("lload"),
[INFO] [stdout]     |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:312:48
[INFO] [stdout]     |
[INFO] [stdout] 312 |                     &Instruction::LOOKUPSWITCH(value, ref table) => format!("lookupswitch"),
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 312 |                     &Instruction::LOOKUPSWITCH(_value, ref table) => format!("lookupswitch"),
[INFO] [stdout]     |                                                +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `JVMTI_VERSION`
[INFO] [stdout]     |
[INFO] [stdout] 312 -                     &Instruction::LOOKUPSWITCH(value, ref table) => format!("lookupswitch"),
[INFO] [stdout] 312 +                     &Instruction::LOOKUPSWITCH(native::jvmti_native::JVMTI_VERSION, ref table) => format!("lookupswitch"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `table`
[INFO] [stdout]    --> src/bytecode/printer.rs:312:59
[INFO] [stdout]     |
[INFO] [stdout] 312 |                     &Instruction::LOOKUPSWITCH(value, ref table) => format!("lookupswitch"),
[INFO] [stdout]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:328:50
[INFO] [stdout]     |
[INFO] [stdout] 328 |                     &Instruction::MULTIANEWARRAY(value, size) => format!("multianewarray"),
[INFO] [stdout]     |                                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 328 |                     &Instruction::MULTIANEWARRAY(_value, size) => format!("multianewarray"),
[INFO] [stdout]     |                                                  +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MINOR_VERSION`
[INFO] [stdout]     |
[INFO] [stdout] 328 -                     &Instruction::MULTIANEWARRAY(value, size) => format!("multianewarray"),
[INFO] [stdout] 328 +                     &Instruction::MULTIANEWARRAY(<bytecode::classfile::ClassfileVersion as std::default::Default>::default::DEFAULT_MINOR_VERSION, size) => format!("multianewarray"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/bytecode/printer.rs:328:57
[INFO] [stdout]     |
[INFO] [stdout] 328 |                     &Instruction::MULTIANEWARRAY(value, size) => format!("multianewarray"),
[INFO] [stdout]     |                                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:329:39
[INFO] [stdout]     |
[INFO] [stdout] 329 |                     &Instruction::NEW(value) => format!("new"),
[INFO] [stdout]     |                                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 329 |                     &Instruction::NEW(_value) => format!("new"),
[INFO] [stdout]     |                                       +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MINOR_VERSION`
[INFO] [stdout]     |
[INFO] [stdout] 329 -                     &Instruction::NEW(value) => format!("new"),
[INFO] [stdout] 329 +                     &Instruction::NEW(<bytecode::classfile::ClassfileVersion as std::default::Default>::default::DEFAULT_MINOR_VERSION) => format!("new"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:330:44
[INFO] [stdout]     |
[INFO] [stdout] 330 |                     &Instruction::NEWARRAY(value) => format!("newarray"),
[INFO] [stdout]     |                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:334:44
[INFO] [stdout]     |
[INFO] [stdout] 334 |                     &Instruction::PUTFIELD(value) => format!("putfield"),
[INFO] [stdout]     |                                            ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 334 |                     &Instruction::PUTFIELD(_value) => format!("putfield"),
[INFO] [stdout]     |                                            +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MINOR_VERSION`
[INFO] [stdout]     |
[INFO] [stdout] 334 -                     &Instruction::PUTFIELD(value) => format!("putfield"),
[INFO] [stdout] 334 +                     &Instruction::PUTFIELD(<bytecode::classfile::ClassfileVersion as std::default::Default>::default::DEFAULT_MINOR_VERSION) => format!("putfield"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:335:45
[INFO] [stdout]     |
[INFO] [stdout] 335 |                     &Instruction::PUTSTATIC(value) => format!("putstatic"),
[INFO] [stdout]     |                                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 335 |                     &Instruction::PUTSTATIC(_value) => format!("putstatic"),
[INFO] [stdout]     |                                             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MINOR_VERSION`
[INFO] [stdout]     |
[INFO] [stdout] 335 -                     &Instruction::PUTSTATIC(value) => format!("putstatic"),
[INFO] [stdout] 335 +                     &Instruction::PUTSTATIC(<bytecode::classfile::ClassfileVersion as std::default::Default>::default::DEFAULT_MINOR_VERSION) => format!("putstatic"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:336:39
[INFO] [stdout]     |
[INFO] [stdout] 336 |                     &Instruction::RET(value) => format!("ret"),
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:342:47
[INFO] [stdout]     |
[INFO] [stdout] 342 |                     &Instruction::TABLESWITCH(value, _, _, _) => format!("tableswitch"),
[INFO] [stdout]     |                                               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 342 |                     &Instruction::TABLESWITCH(_value, _, _, _) => format!("tableswitch"),
[INFO] [stdout]     |                                               +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `JVMTI_VERSION`
[INFO] [stdout]     |
[INFO] [stdout] 342 -                     &Instruction::TABLESWITCH(value, _, _, _) => format!("tableswitch"),
[INFO] [stdout] 342 +                     &Instruction::TABLESWITCH(native::jvmti_native::JVMTI_VERSION, _, _, _) => format!("tableswitch"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:343:42
[INFO] [stdout]     |
[INFO] [stdout] 343 |                     &Instruction::IINC_W(value, increment) => format!("iinc_w"),
[INFO] [stdout]     |                                          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 343 |                     &Instruction::IINC_W(_value, increment) => format!("iinc_w"),
[INFO] [stdout]     |                                          +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MINOR_VERSION`
[INFO] [stdout]     |
[INFO] [stdout] 343 -                     &Instruction::IINC_W(value, increment) => format!("iinc_w"),
[INFO] [stdout] 343 +                     &Instruction::IINC_W(<bytecode::classfile::ClassfileVersion as std::default::Default>::default::DEFAULT_MINOR_VERSION, increment) => format!("iinc_w"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `increment`
[INFO] [stdout]    --> src/bytecode/printer.rs:343:49
[INFO] [stdout]     |
[INFO] [stdout] 343 |                     &Instruction::IINC_W(value, increment) => format!("iinc_w"),
[INFO] [stdout]     |                                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_increment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag`
[INFO] [stdout]    --> src/bytecode/printer.rs:405:46
[INFO] [stdout]     |
[INFO] [stdout] 405 |             &StackMapFrame::FutureUse { tag: tag } => format!("FutureUse")
[INFO] [stdout]     |                                              ^^^ help: if this is intentional, prefix it with an underscore: `_tag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/environment/jvmti.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |         let mut info_ptr = &mut info;
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/environment/jvmti.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let mut method_ptr = &mut method_name;
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/environment/jvmti.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let mut signature_ptr = &mut signature;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/environment/jvmti.rs:175:13
[INFO] [stdout]     |
[INFO] [stdout] 175 |         let mut generic_sig_ptr = &mut generic_sig;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `Java1_5` is named the same as one of the variants of the type `instrumentation::asm::ClassfileVersion`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             Java1_5 => 49,
[INFO] [stdout]    |             ^^^^^^^ help: to match on the variant, qualify the path: `instrumentation::asm::ClassfileVersion::Java1_5`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bindings_with_variant_name)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `Java1_6` is named the same as one of the variants of the type `instrumentation::asm::ClassfileVersion`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |             Java1_6 => 50,
[INFO] [stdout]    |             ^^^^^^^ help: to match on the variant, qualify the path: `instrumentation::asm::ClassfileVersion::Java1_6`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `Java1_7` is named the same as one of the variants of the type `instrumentation::asm::ClassfileVersion`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |             Java1_7 => 51,
[INFO] [stdout]    |             ^^^^^^^ help: to match on the variant, qualify the path: `instrumentation::asm::ClassfileVersion::Java1_7`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `Java1_8` is named the same as one of the variants of the type `instrumentation::asm::ClassfileVersion`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |             Java1_8 => 52,
[INFO] [stdout]    |             ^^^^^^^ help: to match on the variant, qualify the path: `instrumentation::asm::ClassfileVersion::Java1_8`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `Java1_9` is named the same as one of the variants of the type `instrumentation::asm::ClassfileVersion`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |             Java1_9 => 53
[INFO] [stdout]    |             ^^^^^^^ help: to match on the variant, qualify the path: `instrumentation::asm::ClassfileVersion::Java1_9`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling jvmti v0.5.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             Java1_5 => 49,
[INFO] [stdout]    |             ------- matches any value
[INFO] [stdout] 37 |             Java1_6 => 50,
[INFO] [stdout]    |             ^^^^^^^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             Java1_5 => 49,
[INFO] [stdout]    |             ------- matches any value
[INFO] [stdout] 37 |             Java1_6 => 50,
[INFO] [stdout] 38 |             Java1_7 => 51,
[INFO] [stdout]    |             ^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             Java1_5 => 49,
[INFO] [stdout]    |             ------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 39 |             Java1_8 => 52,
[INFO] [stdout]    |             ^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             Java1_5 => 49,
[INFO] [stdout]    |             ------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 40 |             Java1_9 => 53
[INFO] [stdout]    |             ^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Java1_5`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             Java1_5 => 49,
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 36 |             _Java1_5 => 49,
[INFO] [stdout]    |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `Java1_5`
[INFO] [stdout]    |
[INFO] [stdout] 36 |             instrumentation::asm::ClassfileVersion::Java1_5 => 49,
[INFO] [stdout]    |             ++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Java1_6`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |             Java1_6 => 50,
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 37 |             _Java1_6 => 50,
[INFO] [stdout]    |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `Java1_6`
[INFO] [stdout]    |
[INFO] [stdout] 37 |             instrumentation::asm::ClassfileVersion::Java1_6 => 50,
[INFO] [stdout]    |             ++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Java1_7`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |             Java1_7 => 51,
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 38 |             _Java1_7 => 51,
[INFO] [stdout]    |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `Java1_7`
[INFO] [stdout]    |
[INFO] [stdout] 38 |             instrumentation::asm::ClassfileVersion::Java1_7 => 51,
[INFO] [stdout]    |             ++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Java1_8`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |             Java1_8 => 52,
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 39 |             _Java1_8 => 52,
[INFO] [stdout]    |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `Java1_8`
[INFO] [stdout]    |
[INFO] [stdout] 39 |             instrumentation::asm::ClassfileVersion::Java1_8 => 52,
[INFO] [stdout]    |             ++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Java1_9`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |             Java1_9 => 53
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 40 |             _Java1_9 => 53
[INFO] [stdout]    |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `Java1_9`
[INFO] [stdout]    |
[INFO] [stdout] 40 |             instrumentation::asm::ClassfileVersion::Java1_9 => 53
[INFO] [stdout]    |             ++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:62:41
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn add_utf8_constant(&mut self, content: String) {
[INFO] [stdout]    |                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:66:43
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn add_string_constant(&mut self, content: String) {
[INFO] [stdout]    |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `classfile`
[INFO] [stdout]   --> src/instrumentation/mod.rs:37:27
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn from_classfile(classfile: &Classfile) -> Option<JavaClass> {
[INFO] [stdout]    |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_classfile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method`
[INFO] [stdout]   --> src/instrumentation/mod.rs:41:23
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn add_method(method: Method) {
[INFO] [stdout]    |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_method`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/bytecode/io/reader.rs:872:41
[INFO] [stdout]     |
[INFO] [stdout] 872 |     pub fn new<T>(source: &'a mut T) -> BlockReader where T: Read {
[INFO] [stdout]     |                            --           ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is named 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 872 |     pub fn new<T>(source: &'a mut T) -> BlockReader<'a> where T: Read {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]  --> src/bytecode/io/writer.rs:9:41
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn new<T>(target: &'a mut T) -> ClassWriter where T: Write {
[INFO] [stdout]   |                            --           ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |                            |
[INFO] [stdout]   |                            the lifetime is named here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn new<T>(target: &'a mut T) -> ClassWriter<'a> where T: Write {
[INFO] [stdout]   |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `attributes:` in this pattern is redundant
[INFO] [stdout]    --> src/bytecode/printer.rs:143:109
[INFO] [stdout]     |
[INFO] [stdout] 143 | ...c, exception_table: ref et, attributes: ref attributes } => {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `ref attributes`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_shorthand_field_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `tag:` in this pattern is redundant
[INFO] [stdout]    --> src/bytecode/printer.rs:398:41
[INFO] [stdout]     |
[INFO] [stdout] 398 |             &StackMapFrame::SameFrame { tag: tag } => format!("SameFrame {}", tag),
[INFO] [stdout]     |                                         ^^^^^^^^ help: use shorthand field pattern: `tag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `tag:` in this pattern is redundant
[INFO] [stdout]    --> src/bytecode/printer.rs:399:57
[INFO] [stdout]     |
[INFO] [stdout] 399 | ...   &StackMapFrame::SameLocals1StackItemFrame { tag: tag, stack: _ /*VerificationType*/ } => format!("SameLocals1StackItemFrame {}", tag),
[INFO] [stdout]     |                                                   ^^^^^^^^ help: use shorthand field pattern: `tag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `tag:` in this pattern is redundant
[INFO] [stdout]    --> src/bytecode/printer.rs:401:41
[INFO] [stdout]     |
[INFO] [stdout] 401 |             &StackMapFrame::ChopFrame { tag: tag, offset_delta: offset } => format!("ChopFrame {} {}", tag, offset),
[INFO] [stdout]     |                                         ^^^^^^^^ help: use shorthand field pattern: `tag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `tag:` in this pattern is redundant
[INFO] [stdout]    --> src/bytecode/printer.rs:403:43
[INFO] [stdout]     |
[INFO] [stdout] 403 | ...   &StackMapFrame::AppendFrame { tag: tag, offset_delta: offset, locals: _ /*Vec<VerificationType>*/ } => format!("AppendFrame {} {}",...
[INFO] [stdout]     |                                     ^^^^^^^^ help: use shorthand field pattern: `tag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `tag:` in this pattern is redundant
[INFO] [stdout]    --> src/bytecode/printer.rs:405:41
[INFO] [stdout]     |
[INFO] [stdout] 405 |             &StackMapFrame::FutureUse { tag: tag } => format!("FutureUse")
[INFO] [stdout]     |                                         ^^^^^^^^ help: use shorthand field pattern: `tag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Java1_5` should have a snake case name
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             Java1_5 => 49,
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `java1_5`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Java1_6` should have a snake case name
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |             Java1_6 => 50,
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `java1_6`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Java1_7` should have a snake case name
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |             Java1_7 => 51,
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `java1_7`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Java1_8` should have a snake case name
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |             Java1_8 => 52,
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `java1_8`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Java1_9` should have a snake case name
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |             Java1_9 => 53
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `java1_9`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/instrumentation/asm/transformer.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(class: &mut Classfile) -> Transformer {
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(class: &mut Classfile) -> Transformer<'_> {
[INFO] [stdout]    |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0170`.
[INFO] [stdout] 
[INFO] [stdout] warning: function `main2` is never used
[INFO] [stdout]   --> src/main.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn main2() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main2` is never used
[INFO] [stdout]   --> src/main.rs:10:4
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn main2() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> tests/event.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |         assert_eq!(None, ec.method_entry);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a dangling pointer will be produced because the temporary `CString` will be dropped
[INFO] [stdout]   --> tests/util.rs:21:60
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let s: MutString = CString::new(expected).unwrap().as_ptr() as *mut i8;
[INFO] [stdout]    |                            ------------------------------- ^^^^^^ this pointer will immediately be invalid
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: you must make sure that the variable you bind the `CString` to lives at least as long as the pointer returned by the call to `as_ptr`
[INFO] [stdout]    = help: in particular, if this pointer is returned from the current function, binding the `CString` inside the function will not suffice
[INFO] [stdout]    = help: for more information, see <https://doc.rust-lang.org/reference/destructors.html>
[INFO] [stdout]    = note: `#[warn(dangling_pointers_from_temporaries)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: a dangling pointer will be produced because the temporary `CString` will be dropped
[INFO] [stdout]   --> tests/util.rs:28:60
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let s: MutString = CString::new(expected).unwrap().as_ptr() as *mut i8;
[INFO] [stdout]    |                            ------------------------------- ^^^^^^ this pointer will immediately be invalid
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stdout]    |
[INFO] [stdout]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stdout]    = help: you must make sure that the variable you bind the `CString` to lives at least as long as the pointer returned by the call to `as_ptr`
[INFO] [stdout]    = help: in particular, if this pointer is returned from the current function, binding the `CString` inside the function will not suffice
[INFO] [stdout]    = help: for more information, see <https://doc.rust-lang.org/reference/destructors.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `agent::Agent`
[INFO] [stdout]  --> src/lib.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use agent::Agent;
[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: `bytecode::printer::ClassfilePrinter`
[INFO] [stdout]   --> src/lib.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use bytecode::printer::ClassfilePrinter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bytecode::classfile::Constant`
[INFO] [stdout]   --> src/lib.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use bytecode::classfile::Constant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bytecode::io::ClassWriter`
[INFO] [stdout]   --> src/lib.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use bytecode::io::ClassWriter;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `config::Config`
[INFO] [stdout]   --> src/lib.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use config::Config;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `context::static_context`
[INFO] [stdout]   --> src/lib.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use context::static_context;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `instrumentation::asm::transformer::Transformer`
[INFO] [stdout]   --> src/lib.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use instrumentation::asm::transformer::Transformer;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `JavaVMPtr`, `MutString`, `ReturnValue`, and `VoidPtr`
[INFO] [stdout]   --> src/lib.rs:16:14
[INFO] [stdout]    |
[INFO] [stdout] 16 | use native::{JavaVMPtr, MutString, VoidPtr, ReturnValue};
[INFO] [stdout]    |              ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `options::Options`
[INFO] [stdout]   --> src/lib.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use options::Options;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `runtime::*`
[INFO] [stdout]   --> src/lib.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use runtime::*;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Cursor`
[INFO] [stdout]   --> src/lib.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use std::io::Cursor;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread::Thread`
[INFO] [stdout]   --> src/lib.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use thread::Thread;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `util::stringify`
[INFO] [stdout]   --> src/lib.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use util::stringify;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::config::Config`
[INFO] [stdout]  --> src/agent.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::config::Config;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::options::Options`
[INFO] [stdout]  --> src/agent.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::options::Options;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bytecode/io/reader.rs:622:38
[INFO] [stdout]     |
[INFO] [stdout] 622 | ...                   tag@0...63 => StackMapFrame::SameFrame { tag: tag },
[INFO] [stdout]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bytecode/io/reader.rs:623:39
[INFO] [stdout]     |
[INFO] [stdout] 623 | ...                   tag@64...127 => StackMapFrame::SameLocals1StackItemFrame { tag: tag, stack: read_verification_type(&mut reader) },
[INFO] [stdout]     |                             ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bytecode/io/reader.rs:625:40
[INFO] [stdout]     |
[INFO] [stdout] 625 | ...                   tag@248...250 => StackMapFrame::ChopFrame { tag: tag, offset_delta: reader.get_u16() },
[INFO] [stdout]     |                              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bytecode/io/reader.rs:627:40
[INFO] [stdout]     |
[INFO] [stdout] 627 | ...   tag@252...254 => StackMapFrame::AppendFrame { tag: tag, offset_delta: reader.get_u16(), locals: (0..tag - 251).map(|_| read_verific...
[INFO] [stdout]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bytecode/io/reader.rs:757:31
[INFO] [stdout]     |
[INFO] [stdout] 757 |                 subtype @ 0x00...0x01 => TargetInfo::TypeParameter { subtype: subtype, idx: reader.get_u8() },
[INFO] [stdout]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bytecode/io/reader.rs:762:31
[INFO] [stdout]     |
[INFO] [stdout] 762 | ...   subtype @ 0x11...0x12 => TargetInfo::TypeParameterBound { subtype: subtype, param_idx: reader.get_u8(), bound_index: reader.get_u8(...
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bytecode/io/reader.rs:766:31
[INFO] [stdout]     |
[INFO] [stdout] 766 |                 subtype @ 0x13...0x15 => TargetInfo::Empty { subtype: subtype },
[INFO] [stdout]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bytecode/io/reader.rs:773:31
[INFO] [stdout]     |
[INFO] [stdout] 773 |                 subtype @ 0x40...0x41 => TargetInfo::LocalVar { subtype: subtype, target: {
[INFO] [stdout]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bytecode/io/reader.rs:785:31
[INFO] [stdout]     |
[INFO] [stdout] 785 |                 subtype @ 0x43...0x46 => TargetInfo::Offset { subtype: subtype, idx: reader.get_u16() },
[INFO] [stdout]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `...` range patterns are deprecated
[INFO] [stdout]    --> src/bytecode/io/reader.rs:790:31
[INFO] [stdout]     |
[INFO] [stdout] 790 | ...   subtype @ 0x47...0x4b => TargetInfo::TypeArgument { subtype: subtype, offset: reader.get_u16(), type_arg_idx: reader.get_u8() },
[INFO] [stdout]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/context.rs:9:1
[INFO] [stdout]    |
[INFO] [stdout]  9 | / ///
[INFO] [stdout] 10 | | /// Public static mutable *cough* agent context. This seems necessary as our code is invoked from
[INFO] [stdout] 11 | | /// the JVM and we need a place to store the temporary mutable data.
[INFO] [stdout] 12 | | ///
[INFO] [stdout] 13 | | /// This wouldn't be such a problem if this was a C program, but you know, this is not a C program.
[INFO] [stdout] 14 | | ///
[INFO] [stdout]    | |_--^
[INFO] [stdout]    |   |
[INFO] [stdout]    |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stdout]   --> src/context.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | / lazy_static! {
[INFO] [stdout] 16 | |     static ref STATIC_CONTEXT: AgentContext = AgentContext::new();
[INFO] [stdout] 17 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/agent.rs:12:14
[INFO] [stdout]    |
[INFO] [stdout] 12 |     jvm: Box<JVMF>,
[INFO] [stdout]    |              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |     jvm: Box<dyn JVMF>,
[INFO] [stdout]    |              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/agent.rs:15:22
[INFO] [stdout]    |
[INFO] [stdout] 15 |     environment: Box<JVMTI>
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 15 |     environment: Box<dyn JVMTI>
[INFO] [stdout]    |                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/bytecode/io/reader.rs:866:21
[INFO] [stdout]     |
[INFO] [stdout] 866 |     source: &'a mut Read,
[INFO] [stdout]     |                     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 866 |     source: &'a mut dyn Read,
[INFO] [stdout]     |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/bytecode/io/writer.rs:5:21
[INFO] [stdout]   |
[INFO] [stdout] 5 |     target: &'a mut Write
[INFO] [stdout]   |                     ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 5 |     target: &'a mut dyn Write
[INFO] [stdout]   |                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/environment/jvm.rs:9:45
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn get_environment(&self) -> Result<Box<JVMTI>, NativeError>;
[INFO] [stdout]   |                                             ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     fn get_environment(&self) -> Result<Box<dyn JVMTI>, NativeError>;
[INFO] [stdout]   |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> tests/bytecode/mod.rs:16:43
[INFO] [stdout]    |
[INFO] [stdout] 16 | ...                   assert!(true, format!("{:?}", class));
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `assert!()` 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 `assert!()` 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] 16 -                             assert!(true, format!("{:?}", class));
[INFO] [stdout] 16 +                             assert!(true, "{:?}", class);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> tests/bytecode/mod.rs:18:48
[INFO] [stdout]    |
[INFO] [stdout] 18 |                     Err(err) => assert!(false, format!("{:?}", err))
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `assert!()` 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 `assert!()` 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] 18 -                     Err(err) => assert!(false, format!("{:?}", err))
[INFO] [stdout] 18 +                     Err(err) => assert!(false, "{:?}", err)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> tests/bytecode/mod.rs:22:40
[INFO] [stdout]    |
[INFO] [stdout] 22 |             Err(err) => assert!(false, format!("{:?}", err))
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `assert!()` 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 `assert!()` 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] 22 -             Err(err) => assert!(false, format!("{:?}", err))
[INFO] [stdout] 22 +             Err(err) => assert!(false, "{:?}", err)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> tests/bytecode/mod.rs:32:39
[INFO] [stdout]    |
[INFO] [stdout] 32 |                         assert!(true, format!("{:#?}", class.methods));
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `assert!()` 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 `assert!()` 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] 32 -                         assert!(true, format!("{:#?}", class.methods));
[INFO] [stdout] 32 +                         assert!(true, "{:#?}", class.methods);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> tests/bytecode/mod.rs:34:48
[INFO] [stdout]    |
[INFO] [stdout] 34 |                     Err(err) => assert!(false, format!("{:?}", err))
[INFO] [stdout]    |                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `assert!()` 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 `assert!()` 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] 34 -                     Err(err) => assert!(false, format!("{:?}", err))
[INFO] [stdout] 34 +                     Err(err) => assert!(false, "{:?}", err)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]   --> tests/bytecode/mod.rs:38:40
[INFO] [stdout]    |
[INFO] [stdout] 38 |             Err(err) => assert!(false, format!("{:?}", err))
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this usage of `assert!()` 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 `assert!()` 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] 38 -             Err(err) => assert!(false, format!("{:?}", err))
[INFO] [stdout] 38 +             Err(err) => assert!(false, "{:?}", err)
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> tests/bytecode/mod.rs:105:44
[INFO] [stdout]     |
[INFO] [stdout] 105 |                 Err(err) => assert!(false, format!("{:?}", err))
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` 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 `assert!()` 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] 105 -                 Err(err) => assert!(false, format!("{:?}", err))
[INFO] [stdout] 105 +                 Err(err) => assert!(false, "{:?}", err)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> tests/bytecode/mod.rs:112:42
[INFO] [stdout]     |
[INFO] [stdout] 112 |             assert!(read_result.is_ok(), format!("{:?}", read_result.err()));
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` 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 `assert!()` 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] 112 -             assert!(read_result.is_ok(), format!("{:?}", read_result.err()));
[INFO] [stdout] 112 +             assert!(read_result.is_ok(), "{:?}", read_result.err());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> tests/bytecode/mod.rs:129:23
[INFO] [stdout]     |
[INFO] [stdout] 129 |         assert!(true, format!("{:?}", target));
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this usage of `assert!()` 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 `assert!()` 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] 129 -         assert!(true, format!("{:?}", target));
[INFO] [stdout] 129 +         assert!(true, "{:?}", target);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/emulator.rs:42:45
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn get_environment(&self) -> Result<Box<JVMTI>, NativeError> {
[INFO] [stdout]    |                                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 42 |     fn get_environment(&self) -> Result<Box<dyn JVMTI>, NativeError> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/environment/jvm.rs:31:45
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn get_environment(&self) -> Result<Box<JVMTI>, NativeError> {
[INFO] [stdout]    |                                             ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 |     fn get_environment(&self) -> Result<Box<dyn JVMTI>, NativeError> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/agent.rs:37:30
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn new_from(jvm: Box<JVMF>) -> Agent {
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn new_from(jvm: Box<dyn JVMF>) -> Agent {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_left_matches`: superseded by `trim_start_matches`
[INFO] [stdout]   --> src/class.rs:72:41
[INFO] [stdout]    |
[INFO] [stdout] 72 |             JavaType::Class(cls) => cls.trim_left_matches("L").trim_right_matches(";").replace(";", "").replace("/", ".").to_string()
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 72 -             JavaType::Class(cls) => cls.trim_left_matches("L").trim_right_matches(";").replace(";", "").replace("/", ".").to_string()
[INFO] [stdout] 72 +             JavaType::Class(cls) => cls.trim_start_matches("L").trim_right_matches(";").replace(";", "").replace("/", ".").to_string()
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right_matches`: superseded by `trim_end_matches`
[INFO] [stdout]   --> src/class.rs:72:64
[INFO] [stdout]    |
[INFO] [stdout] 72 |             JavaType::Class(cls) => cls.trim_left_matches("L").trim_right_matches(";").replace(";", "").replace("/", ".").to_string()
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 72 -             JavaType::Class(cls) => cls.trim_left_matches("L").trim_right_matches(";").replace(";", "").replace("/", ".").to_string()
[INFO] [stdout] 72 +             JavaType::Class(cls) => cls.trim_left_matches("L").trim_end_matches(";").replace(";", "").replace("/", ".").to_string()
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `core::str::<impl str>::trim_right_matches`: superseded by `trim_end_matches`
[INFO] [stdout]   --> src/class.rs:98:34
[INFO] [stdout]    |
[INFO] [stdout] 98 |                     package: pkg.trim_right_matches(".").to_string(),
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]    |
[INFO] [stdout] 98 -                     package: pkg.trim_right_matches(".").to_string(),
[INFO] [stdout] 98 +                     package: pkg.trim_end_matches(".").to_string(),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `et`
[INFO] [stdout]    --> src/bytecode/printer.rs:143:105
[INFO] [stdout]     |
[INFO] [stdout] 143 | ...ode: ref c, exception_table: ref et, attributes: ref attributes } => {
[INFO] [stdout]     |                                     ^^ help: if this is intentional, prefix it with an underscore: `_et`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:246:45
[INFO] [stdout]     |
[INFO] [stdout] 246 |                     &Instruction::IF_ACMPEQ(value) => format!("if_acmpeq"),
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:247:45
[INFO] [stdout]     |
[INFO] [stdout] 247 |                     &Instruction::IF_ACMPNE(value) => format!("if_acmpne"),
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:248:45
[INFO] [stdout]     |
[INFO] [stdout] 248 |                     &Instruction::IF_ICMPEQ(value) => format!("if_icmpeq"),
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:249:45
[INFO] [stdout]     |
[INFO] [stdout] 249 |                     &Instruction::IF_ICMPNE(value) => format!("if_icmpne"),
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:250:45
[INFO] [stdout]     |
[INFO] [stdout] 250 |                     &Instruction::IF_ICMPLT(value) => format!("if_icmplt"),
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:251:45
[INFO] [stdout]     |
[INFO] [stdout] 251 |                     &Instruction::IF_ICMPGE(value) => format!("if_icmpge"),
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:252:45
[INFO] [stdout]     |
[INFO] [stdout] 252 |                     &Instruction::IF_ICMPGT(value) => format!("if_icmpgt"),
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:253:45
[INFO] [stdout]     |
[INFO] [stdout] 253 |                     &Instruction::IF_ICMPLE(value) => format!("if_icmple"),
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:254:40
[INFO] [stdout]     |
[INFO] [stdout] 254 |                     &Instruction::IFEQ(value) => format!("ifeq"),
[INFO] [stdout]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:255:40
[INFO] [stdout]     |
[INFO] [stdout] 255 |                     &Instruction::IFNE(value) => format!("ifne"),
[INFO] [stdout]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:256:40
[INFO] [stdout]     |
[INFO] [stdout] 256 |                     &Instruction::IFLT(value) => format!("iflt"),
[INFO] [stdout]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:257:40
[INFO] [stdout]     |
[INFO] [stdout] 257 |                     &Instruction::IFGE(value) => format!("ifge"),
[INFO] [stdout]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:258:40
[INFO] [stdout]     |
[INFO] [stdout] 258 |                     &Instruction::IFGT(value) => format!("ifgt"),
[INFO] [stdout]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:259:40
[INFO] [stdout]     |
[INFO] [stdout] 259 |                     &Instruction::IFLE(value) => format!("ifle"),
[INFO] [stdout]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:260:45
[INFO] [stdout]     |
[INFO] [stdout] 260 |                     &Instruction::IFNONNULL(value) => format!("ifnonnull"),
[INFO] [stdout]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:261:42
[INFO] [stdout]     |
[INFO] [stdout] 261 |                     &Instruction::IFNULL(value) => format!("ifnull"),
[INFO] [stdout]     |                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:262:40
[INFO] [stdout]     |
[INFO] [stdout] 262 |                     &Instruction::IINC(value, increment) => format!("iinc"),
[INFO] [stdout]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `increment`
[INFO] [stdout]    --> src/bytecode/printer.rs:262:47
[INFO] [stdout]     |
[INFO] [stdout] 262 |                     &Instruction::IINC(value, increment) => format!("iinc"),
[INFO] [stdout]     |                                               ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_increment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:263:41
[INFO] [stdout]     |
[INFO] [stdout] 263 |                     &Instruction::ILOAD(value) => format!("iload"),
[INFO] [stdout]     |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:270:46
[INFO] [stdout]     |
[INFO] [stdout] 270 |                     &Instruction::INSTANCEOF(value) => format!("instanceof"),
[INFO] [stdout]     |                                              ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 270 |                     &Instruction::INSTANCEOF(_value) => format!("instanceof"),
[INFO] [stdout]     |                                              +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MINOR_VERSION`
[INFO] [stdout]     |
[INFO] [stdout] 270 -                     &Instruction::INSTANCEOF(value) => format!("instanceof"),
[INFO] [stdout] 270 +                     &Instruction::INSTANCEOF(<bytecode::classfile::ClassfileVersion as std::default::Default>::default::DEFAULT_MINOR_VERSION) => format!("instanceof"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]    --> src/bytecode/printer.rs:272:58
[INFO] [stdout]     |
[INFO] [stdout] 272 |                     &Instruction::INVOKEINTERFACE(value, index) => format!("invokeinterface #{}", value),
[INFO] [stdout]     |                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:289:39
[INFO] [stdout]     |
[INFO] [stdout] 289 |                     &Instruction::JSR(value) => format!("jsr"),
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:290:41
[INFO] [stdout]     |
[INFO] [stdout] 290 |                     &Instruction::JSR_W(value) => format!("jsr_w"),
[INFO] [stdout]     |                                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 290 |                     &Instruction::JSR_W(_value) => format!("jsr_w"),
[INFO] [stdout]     |                                         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `JVMTI_VERSION`
[INFO] [stdout]     |
[INFO] [stdout] 290 -                     &Instruction::JSR_W(value) => format!("jsr_w"),
[INFO] [stdout] 290 +                     &Instruction::JSR_W(native::jvmti_native::JVMTI_VERSION) => format!("jsr_w"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:301:39
[INFO] [stdout]     |
[INFO] [stdout] 301 |                     &Instruction::LDC(value) => format!("ldc"),
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:302:41
[INFO] [stdout]     |
[INFO] [stdout] 302 |                     &Instruction::LDC_W(value) => format!("ldc_w"),
[INFO] [stdout]     |                                         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 302 |                     &Instruction::LDC_W(_value) => format!("ldc_w"),
[INFO] [stdout]     |                                         +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MINOR_VERSION`
[INFO] [stdout]     |
[INFO] [stdout] 302 -                     &Instruction::LDC_W(value) => format!("ldc_w"),
[INFO] [stdout] 302 +                     &Instruction::LDC_W(<bytecode::classfile::ClassfileVersion as std::default::Default>::default::DEFAULT_MINOR_VERSION) => format!("ldc_w"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:303:42
[INFO] [stdout]     |
[INFO] [stdout] 303 |                     &Instruction::LDC2_W(value) => format!("ldc2_w"),
[INFO] [stdout]     |                                          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 303 |                     &Instruction::LDC2_W(_value) => format!("ldc2_w"),
[INFO] [stdout]     |                                          +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MINOR_VERSION`
[INFO] [stdout]     |
[INFO] [stdout] 303 -                     &Instruction::LDC2_W(value) => format!("ldc2_w"),
[INFO] [stdout] 303 +                     &Instruction::LDC2_W(<bytecode::classfile::ClassfileVersion as std::default::Default>::default::DEFAULT_MINOR_VERSION) => format!("ldc2_w"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:305:41
[INFO] [stdout]     |
[INFO] [stdout] 305 |                     &Instruction::LLOAD(value) => format!("lload"),
[INFO] [stdout]     |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:312:48
[INFO] [stdout]     |
[INFO] [stdout] 312 |                     &Instruction::LOOKUPSWITCH(value, ref table) => format!("lookupswitch"),
[INFO] [stdout]     |                                                ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 312 |                     &Instruction::LOOKUPSWITCH(_value, ref table) => format!("lookupswitch"),
[INFO] [stdout]     |                                                +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `JVMTI_VERSION`
[INFO] [stdout]     |
[INFO] [stdout] 312 -                     &Instruction::LOOKUPSWITCH(value, ref table) => format!("lookupswitch"),
[INFO] [stdout] 312 +                     &Instruction::LOOKUPSWITCH(native::jvmti_native::JVMTI_VERSION, ref table) => format!("lookupswitch"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `table`
[INFO] [stdout]    --> src/bytecode/printer.rs:312:59
[INFO] [stdout]     |
[INFO] [stdout] 312 |                     &Instruction::LOOKUPSWITCH(value, ref table) => format!("lookupswitch"),
[INFO] [stdout]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:328:50
[INFO] [stdout]     |
[INFO] [stdout] 328 |                     &Instruction::MULTIANEWARRAY(value, size) => format!("multianewarray"),
[INFO] [stdout]     |                                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 328 |                     &Instruction::MULTIANEWARRAY(_value, size) => format!("multianewarray"),
[INFO] [stdout]     |                                                  +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MINOR_VERSION`
[INFO] [stdout]     |
[INFO] [stdout] 328 -                     &Instruction::MULTIANEWARRAY(value, size) => format!("multianewarray"),
[INFO] [stdout] 328 +                     &Instruction::MULTIANEWARRAY(<bytecode::classfile::ClassfileVersion as std::default::Default>::default::DEFAULT_MINOR_VERSION, size) => format!("multianewarray"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `size`
[INFO] [stdout]    --> src/bytecode/printer.rs:328:57
[INFO] [stdout]     |
[INFO] [stdout] 328 |                     &Instruction::MULTIANEWARRAY(value, size) => format!("multianewarray"),
[INFO] [stdout]     |                                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:329:39
[INFO] [stdout]     |
[INFO] [stdout] 329 |                     &Instruction::NEW(value) => format!("new"),
[INFO] [stdout]     |                                       ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 329 |                     &Instruction::NEW(_value) => format!("new"),
[INFO] [stdout]     |                                       +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MINOR_VERSION`
[INFO] [stdout]     |
[INFO] [stdout] 329 -                     &Instruction::NEW(value) => format!("new"),
[INFO] [stdout] 329 +                     &Instruction::NEW(<bytecode::classfile::ClassfileVersion as std::default::Default>::default::DEFAULT_MINOR_VERSION) => format!("new"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:330:44
[INFO] [stdout]     |
[INFO] [stdout] 330 |                     &Instruction::NEWARRAY(value) => format!("newarray"),
[INFO] [stdout]     |                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:334:44
[INFO] [stdout]     |
[INFO] [stdout] 334 |                     &Instruction::PUTFIELD(value) => format!("putfield"),
[INFO] [stdout]     |                                            ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 334 |                     &Instruction::PUTFIELD(_value) => format!("putfield"),
[INFO] [stdout]     |                                            +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MINOR_VERSION`
[INFO] [stdout]     |
[INFO] [stdout] 334 -                     &Instruction::PUTFIELD(value) => format!("putfield"),
[INFO] [stdout] 334 +                     &Instruction::PUTFIELD(<bytecode::classfile::ClassfileVersion as std::default::Default>::default::DEFAULT_MINOR_VERSION) => format!("putfield"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:335:45
[INFO] [stdout]     |
[INFO] [stdout] 335 |                     &Instruction::PUTSTATIC(value) => format!("putstatic"),
[INFO] [stdout]     |                                             ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 335 |                     &Instruction::PUTSTATIC(_value) => format!("putstatic"),
[INFO] [stdout]     |                                             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MINOR_VERSION`
[INFO] [stdout]     |
[INFO] [stdout] 335 -                     &Instruction::PUTSTATIC(value) => format!("putstatic"),
[INFO] [stdout] 335 +                     &Instruction::PUTSTATIC(<bytecode::classfile::ClassfileVersion as std::default::Default>::default::DEFAULT_MINOR_VERSION) => format!("putstatic"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:336:39
[INFO] [stdout]     |
[INFO] [stdout] 336 |                     &Instruction::RET(value) => format!("ret"),
[INFO] [stdout]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:342:47
[INFO] [stdout]     |
[INFO] [stdout] 342 |                     &Instruction::TABLESWITCH(value, _, _, _) => format!("tableswitch"),
[INFO] [stdout]     |                                               ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 342 |                     &Instruction::TABLESWITCH(_value, _, _, _) => format!("tableswitch"),
[INFO] [stdout]     |                                               +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `JVMTI_VERSION`
[INFO] [stdout]     |
[INFO] [stdout] 342 -                     &Instruction::TABLESWITCH(value, _, _, _) => format!("tableswitch"),
[INFO] [stdout] 342 +                     &Instruction::TABLESWITCH(native::jvmti_native::JVMTI_VERSION, _, _, _) => format!("tableswitch"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/bytecode/printer.rs:343:42
[INFO] [stdout]     |
[INFO] [stdout] 343 |                     &Instruction::IINC_W(value, increment) => format!("iinc_w"),
[INFO] [stdout]     |                                          ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]     |
[INFO] [stdout] 343 |                     &Instruction::IINC_W(_value, increment) => format!("iinc_w"),
[INFO] [stdout]     |                                          +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MINOR_VERSION`
[INFO] [stdout]     |
[INFO] [stdout] 343 -                     &Instruction::IINC_W(value, increment) => format!("iinc_w"),
[INFO] [stdout] 343 +                     &Instruction::IINC_W(<bytecode::classfile::ClassfileVersion as std::default::Default>::default::DEFAULT_MINOR_VERSION, increment) => format!("iinc_w"),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `increment`
[INFO] [stdout]    --> src/bytecode/printer.rs:343:49
[INFO] [stdout]     |
[INFO] [stdout] 343 |                     &Instruction::IINC_W(value, increment) => format!("iinc_w"),
[INFO] [stdout]     |                                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_increment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tag`
[INFO] [stdout]    --> src/bytecode/printer.rs:405:46
[INFO] [stdout]     |
[INFO] [stdout] 405 |             &StackMapFrame::FutureUse { tag: tag } => format!("FutureUse")
[INFO] [stdout]     |                                              ^^^ help: if this is intentional, prefix it with an underscore: `_tag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/environment/jvmti.rs:134:13
[INFO] [stdout]     |
[INFO] [stdout] 134 |         let mut info_ptr = &mut info;
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/environment/jvmti.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let mut method_ptr = &mut method_name;
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/environment/jvmti.rs:172:13
[INFO] [stdout]     |
[INFO] [stdout] 172 |         let mut signature_ptr = &mut signature;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/environment/jvmti.rs:175:13
[INFO] [stdout]     |
[INFO] [stdout] 175 |         let mut generic_sig_ptr = &mut generic_sig;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `Java1_5` is named the same as one of the variants of the type `instrumentation::asm::ClassfileVersion`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             Java1_5 => 49,
[INFO] [stdout]    |             ^^^^^^^ help: to match on the variant, qualify the path: `instrumentation::asm::ClassfileVersion::Java1_5`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bindings_with_variant_name)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `Java1_6` is named the same as one of the variants of the type `instrumentation::asm::ClassfileVersion`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |             Java1_6 => 50,
[INFO] [stdout]    |             ^^^^^^^ help: to match on the variant, qualify the path: `instrumentation::asm::ClassfileVersion::Java1_6`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `Java1_7` is named the same as one of the variants of the type `instrumentation::asm::ClassfileVersion`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |             Java1_7 => 51,
[INFO] [stdout]    |             ^^^^^^^ help: to match on the variant, qualify the path: `instrumentation::asm::ClassfileVersion::Java1_7`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `Java1_8` is named the same as one of the variants of the type `instrumentation::asm::ClassfileVersion`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |             Java1_8 => 52,
[INFO] [stdout]    |             ^^^^^^^ help: to match on the variant, qualify the path: `instrumentation::asm::ClassfileVersion::Java1_8`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0170]: pattern binding `Java1_9` is named the same as one of the variants of the type `instrumentation::asm::ClassfileVersion`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |             Java1_9 => 53
[INFO] [stdout]    |             ^^^^^^^ help: to match on the variant, qualify the path: `instrumentation::asm::ClassfileVersion::Java1_9`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             Java1_5 => 49,
[INFO] [stdout]    |             ------- matches any value
[INFO] [stdout] 37 |             Java1_6 => 50,
[INFO] [stdout]    |             ^^^^^^^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             Java1_5 => 49,
[INFO] [stdout]    |             ------- matches any value
[INFO] [stdout] 37 |             Java1_6 => 50,
[INFO] [stdout] 38 |             Java1_7 => 51,
[INFO] [stdout]    |             ^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             Java1_5 => 49,
[INFO] [stdout]    |             ------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 39 |             Java1_8 => 52,
[INFO] [stdout]    |             ^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             Java1_5 => 49,
[INFO] [stdout]    |             ------- matches any value
[INFO] [stdout] ...
[INFO] [stdout] 40 |             Java1_9 => 53
[INFO] [stdout]    |             ^^^^^^^ no value can reach this
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Java1_5`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             Java1_5 => 49,
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 36 |             _Java1_5 => 49,
[INFO] [stdout]    |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `Java1_5`
[INFO] [stdout]    |
[INFO] [stdout] 36 |             instrumentation::asm::ClassfileVersion::Java1_5 => 49,
[INFO] [stdout]    |             ++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Java1_6`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |             Java1_6 => 50,
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 37 |             _Java1_6 => 50,
[INFO] [stdout]    |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `Java1_6`
[INFO] [stdout]    |
[INFO] [stdout] 37 |             instrumentation::asm::ClassfileVersion::Java1_6 => 50,
[INFO] [stdout]    |             ++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Java1_7`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |             Java1_7 => 51,
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 38 |             _Java1_7 => 51,
[INFO] [stdout]    |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `Java1_7`
[INFO] [stdout]    |
[INFO] [stdout] 38 |             instrumentation::asm::ClassfileVersion::Java1_7 => 51,
[INFO] [stdout]    |             ++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Java1_8`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |             Java1_8 => 52,
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 39 |             _Java1_8 => 52,
[INFO] [stdout]    |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `Java1_8`
[INFO] [stdout]    |
[INFO] [stdout] 39 |             instrumentation::asm::ClassfileVersion::Java1_8 => 52,
[INFO] [stdout]    |             ++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Java1_9`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |             Java1_9 => 53
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: if this is intentional, prefix it with an underscore
[INFO] [stdout]    |
[INFO] [stdout] 40 |             _Java1_9 => 53
[INFO] [stdout]    |             +
[INFO] [stdout] help: you might have meant to pattern match on the similarly named variant `Java1_9`
[INFO] [stdout]    |
[INFO] [stdout] 40 |             instrumentation::asm::ClassfileVersion::Java1_9 => 53
[INFO] [stdout]    |             ++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:62:41
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn add_utf8_constant(&mut self, content: String) {
[INFO] [stdout]    |                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `content`
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:66:43
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn add_string_constant(&mut self, content: String) {
[INFO] [stdout]    |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `classfile`
[INFO] [stdout]   --> src/instrumentation/mod.rs:37:27
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn from_classfile(classfile: &Classfile) -> Option<JavaClass> {
[INFO] [stdout]    |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_classfile`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method`
[INFO] [stdout]   --> src/instrumentation/mod.rs:41:23
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn add_method(method: Method) {
[INFO] [stdout]    |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_method`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/bytecode/io/reader.rs:872:41
[INFO] [stdout]     |
[INFO] [stdout] 872 |     pub fn new<T>(source: &'a mut T) -> BlockReader where T: Read {
[INFO] [stdout]     |                            --           ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            the lifetime is named 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: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 872 |     pub fn new<T>(source: &'a mut T) -> BlockReader<'a> where T: Read {
[INFO] [stdout]     |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]  --> src/bytecode/io/writer.rs:9:41
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn new<T>(target: &'a mut T) -> ClassWriter where T: Write {
[INFO] [stdout]   |                            --           ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |                            |
[INFO] [stdout]   |                            the lifetime is named here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn new<T>(target: &'a mut T) -> ClassWriter<'a> where T: Write {
[INFO] [stdout]   |                                                    ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `attributes:` in this pattern is redundant
[INFO] [stdout]    --> src/bytecode/printer.rs:143:109
[INFO] [stdout]     |
[INFO] [stdout] 143 | ...c, exception_table: ref et, attributes: ref attributes } => {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `ref attributes`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_shorthand_field_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `tag:` in this pattern is redundant
[INFO] [stdout]    --> src/bytecode/printer.rs:398:41
[INFO] [stdout]     |
[INFO] [stdout] 398 |             &StackMapFrame::SameFrame { tag: tag } => format!("SameFrame {}", tag),
[INFO] [stdout]     |                                         ^^^^^^^^ help: use shorthand field pattern: `tag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `tag:` in this pattern is redundant
[INFO] [stdout]    --> src/bytecode/printer.rs:399:57
[INFO] [stdout]     |
[INFO] [stdout] 399 | ...   &StackMapFrame::SameLocals1StackItemFrame { tag: tag, stack: _ /*VerificationType*/ } => format!("SameLocals1StackItemFrame {}", tag),
[INFO] [stdout]     |                                                   ^^^^^^^^ help: use shorthand field pattern: `tag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `tag:` in this pattern is redundant
[INFO] [stdout]    --> src/bytecode/printer.rs:401:41
[INFO] [stdout]     |
[INFO] [stdout] 401 |             &StackMapFrame::ChopFrame { tag: tag, offset_delta: offset } => format!("ChopFrame {} {}", tag, offset),
[INFO] [stdout]     |                                         ^^^^^^^^ help: use shorthand field pattern: `tag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `tag:` in this pattern is redundant
[INFO] [stdout]    --> src/bytecode/printer.rs:403:43
[INFO] [stdout]     |
[INFO] [stdout] 403 | ...   &StackMapFrame::AppendFrame { tag: tag, offset_delta: offset, locals: _ /*Vec<VerificationType>*/ } => format!("AppendFrame {} {}",...
[INFO] [stdout]     |                                     ^^^^^^^^ help: use shorthand field pattern: `tag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `tag:` in this pattern is redundant
[INFO] [stdout]    --> src/bytecode/printer.rs:405:41
[INFO] [stdout]     |
[INFO] [stdout] 405 |             &StackMapFrame::FutureUse { tag: tag } => format!("FutureUse")
[INFO] [stdout]     |                                         ^^^^^^^^ help: use shorthand field pattern: `tag`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Java1_5` should have a snake case name
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:36:13
[INFO] [stdout]    |
[INFO] [stdout] 36 |             Java1_5 => 49,
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `java1_5`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Java1_6` should have a snake case name
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:37:13
[INFO] [stdout]    |
[INFO] [stdout] 37 |             Java1_6 => 50,
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `java1_6`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Java1_7` should have a snake case name
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |             Java1_7 => 51,
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `java1_7`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Java1_8` should have a snake case name
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |             Java1_8 => 52,
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `java1_8`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Java1_9` should have a snake case name
[INFO] [stdout]   --> src/instrumentation/asm/mod.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |             Java1_9 => 53
[INFO] [stdout]    |             ^^^^^^^ help: convert the identifier to snake case: `java1_9`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/instrumentation/asm/transformer.rs:10:23
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(class: &mut Classfile) -> Transformer {
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^     ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(class: &mut Classfile) -> Transformer<'_> {
[INFO] [stdout]    |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0170`.
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.45s
[INFO] running `Command { std: "docker" "inspect" "4e0572eff6f1fa1ad641c37d1dadc1a9035d46ffcf9a6c33448cd30fe10fc685", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4e0572eff6f1fa1ad641c37d1dadc1a9035d46ffcf9a6c33448cd30fe10fc685", kill_on_drop: false }`
[INFO] [stdout] 4e0572eff6f1fa1ad641c37d1dadc1a9035d46ffcf9a6c33448cd30fe10fc685
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] ce1550e66e40a0767b53aad9fd53a4b61bd05d4b4c455ea38e23c613b72ca7cb
[INFO] running `Command { std: "docker" "start" "-a" "ce1550e66e40a0767b53aad9fd53a4b61bd05d4b4c455ea38e23c613b72ca7cb", kill_on_drop: false }`
[INFO] [stderr] warning: `crate_type` is deprecated in favor of `crate-type` and will not work in the 2024 edition
[INFO] [stderr] (in the `jvmti` library target)
[INFO] [stderr] warning: no edition set: defaulting to the 2015 edition while the latest is 2024
[INFO] [stderr] warning: unused import: `agent::Agent`
[INFO] [stderr]  --> src/lib.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use agent::Agent;
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `bytecode::printer::ClassfilePrinter`
[INFO] [stderr]   --> src/lib.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use bytecode::printer::ClassfilePrinter;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `bytecode::classfile::Constant`
[INFO] [stderr]   --> src/lib.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use bytecode::classfile::Constant;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `bytecode::io::ClassWriter`
[INFO] [stderr]   --> src/lib.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use bytecode::io::ClassWriter;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `config::Config`
[INFO] [stderr]   --> src/lib.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use config::Config;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `context::static_context`
[INFO] [stderr]   --> src/lib.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use context::static_context;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `instrumentation::asm::transformer::Transformer`
[INFO] [stderr]   --> src/lib.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use instrumentation::asm::transformer::Transformer;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `JavaVMPtr`, `MutString`, `ReturnValue`, and `VoidPtr`
[INFO] [stderr]   --> src/lib.rs:16:14
[INFO] [stderr]    |
[INFO] [stderr] 16 | use native::{JavaVMPtr, MutString, VoidPtr, ReturnValue};
[INFO] [stderr]    |              ^^^^^^^^^  ^^^^^^^^^  ^^^^^^^  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `options::Options`
[INFO] [stderr]   --> src/lib.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | use options::Options;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `runtime::*`
[INFO] [stderr]   --> src/lib.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 | use runtime::*;
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Cursor`
[INFO] [stderr]   --> src/lib.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | use std::io::Cursor;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `thread::Thread`
[INFO] [stderr]   --> src/lib.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 20 | use thread::Thread;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `util::stringify`
[INFO] [stderr]   --> src/lib.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | use util::stringify;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::config::Config`
[INFO] [stderr]  --> src/agent.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use super::config::Config;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::options::Options`
[INFO] [stderr]  --> src/agent.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use super::options::Options;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/bytecode/io/reader.rs:622:38
[INFO] [stderr]     |
[INFO] [stderr] 622 | ...                   tag@0...63 => StackMapFrame::SameFrame { tag: tag },
[INFO] [stderr]     |                            ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: `#[warn(ellipsis_inclusive_range_patterns)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/bytecode/io/reader.rs:623:39
[INFO] [stderr]     |
[INFO] [stderr] 623 | ...                   tag@64...127 => StackMapFrame::SameLocals1StackItemFrame { tag: tag, stack: read_verification_type(&mut reader) },
[INFO] [stderr]     |                             ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/bytecode/io/reader.rs:625:40
[INFO] [stderr]     |
[INFO] [stderr] 625 | ...                   tag@248...250 => StackMapFrame::ChopFrame { tag: tag, offset_delta: reader.get_u16() },
[INFO] [stderr]     |                              ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/bytecode/io/reader.rs:627:40
[INFO] [stderr]     |
[INFO] [stderr] 627 | ...   tag@252...254 => StackMapFrame::AppendFrame { tag: tag, offset_delta: reader.get_u16(), locals: (0..tag - 251).map(|_| read_verific...
[INFO] [stderr]     |              ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/bytecode/io/reader.rs:757:31
[INFO] [stderr]     |
[INFO] [stderr] 757 |                 subtype @ 0x00...0x01 => TargetInfo::TypeParameter { subtype: subtype, idx: reader.get_u8() },
[INFO] [stderr]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/bytecode/io/reader.rs:762:31
[INFO] [stderr]     |
[INFO] [stderr] 762 | ...   subtype @ 0x11...0x12 => TargetInfo::TypeParameterBound { subtype: subtype, param_idx: reader.get_u8(), bound_index: reader.get_u8(...
[INFO] [stderr]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/bytecode/io/reader.rs:766:31
[INFO] [stderr]     |
[INFO] [stderr] 766 |                 subtype @ 0x13...0x15 => TargetInfo::Empty { subtype: subtype },
[INFO] [stderr]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/bytecode/io/reader.rs:773:31
[INFO] [stderr]     |
[INFO] [stderr] 773 |                 subtype @ 0x40...0x41 => TargetInfo::LocalVar { subtype: subtype, target: {
[INFO] [stderr]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/bytecode/io/reader.rs:785:31
[INFO] [stderr]     |
[INFO] [stderr] 785 |                 subtype @ 0x43...0x46 => TargetInfo::Offset { subtype: subtype, idx: reader.get_u16() },
[INFO] [stderr]     |                               ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: `...` range patterns are deprecated
[INFO] [stderr]    --> src/bytecode/io/reader.rs:790:31
[INFO] [stderr]     |
[INFO] [stderr] 790 | ...   subtype @ 0x47...0x4b => TargetInfo::TypeArgument { subtype: subtype, offset: reader.get_u16(), type_arg_idx: reader.get_u8() },
[INFO] [stderr]     |                     ^^^ help: use `..=` for an inclusive range
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/context.rs:9:1
[INFO] [stderr]    |
[INFO] [stderr]  9 | / ///
[INFO] [stderr] 10 | | /// Public static mutable *cough* agent context. This seems necessary as our code is invoked from
[INFO] [stderr] 11 | | /// the JVM and we need a place to store the temporary mutable data.
[INFO] [stderr] 12 | | ///
[INFO] [stderr] 13 | | /// This wouldn't be such a problem if this was a C program, but you know, this is not a C program.
[INFO] [stderr] 14 | | ///
[INFO] [stderr]    | |_--^
[INFO] [stderr]    |   |
[INFO] [stderr]    |   rustdoc does not generate documentation for macro invocations
[INFO] [stderr]    |
[INFO] [stderr]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::sync::ONCE_INIT`: the `Once::new()` function is now preferred
[INFO] [stderr]   --> src/context.rs:15:1
[INFO] [stderr]    |
[INFO] [stderr] 15 | / lazy_static! {
[INFO] [stderr] 16 | |     static ref STATIC_CONTEXT: AgentContext = AgentContext::new();
[INFO] [stderr] 17 | | }
[INFO] [stderr]    | |_^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr]    = note: this warning originates in the macro `__lazy_static_create` which comes from the expansion of the macro `lazy_static` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/agent.rs:12:14
[INFO] [stderr]    |
[INFO] [stderr] 12 |     jvm: Box<JVMF>,
[INFO] [stderr]    |              ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 12 |     jvm: Box<dyn JVMF>,
[INFO] [stderr]    |              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/agent.rs:15:22
[INFO] [stderr]    |
[INFO] [stderr] 15 |     environment: Box<JVMTI>
[INFO] [stderr]    |                      ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 15 |     environment: Box<dyn JVMTI>
[INFO] [stderr]    |                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/bytecode/io/reader.rs:866:21
[INFO] [stderr]     |
[INFO] [stderr] 866 |     source: &'a mut Read,
[INFO] [stderr]     |                     ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]     |
[INFO] [stderr] 866 |     source: &'a mut dyn Read,
[INFO] [stderr]     |                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/bytecode/io/writer.rs:5:21
[INFO] [stderr]   |
[INFO] [stderr] 5 |     target: &'a mut Write
[INFO] [stderr]   |                     ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]   |
[INFO] [stderr] 5 |     target: &'a mut dyn Write
[INFO] [stderr]   |                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/environment/jvm.rs:9:45
[INFO] [stderr]   |
[INFO] [stderr] 9 |     fn get_environment(&self) -> Result<Box<JVMTI>, NativeError>;
[INFO] [stderr]   |                                             ^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]   = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]   |
[INFO] [stderr] 9 |     fn get_environment(&self) -> Result<Box<dyn JVMTI>, NativeError>;
[INFO] [stderr]   |                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/emulator.rs:42:45
[INFO] [stderr]    |
[INFO] [stderr] 42 |     fn get_environment(&self) -> Result<Box<JVMTI>, NativeError> {
[INFO] [stderr]    |                                             ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 42 |     fn get_environment(&self) -> Result<Box<dyn JVMTI>, NativeError> {
[INFO] [stderr]    |                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/environment/jvm.rs:31:45
[INFO] [stderr]    |
[INFO] [stderr] 31 |     fn get_environment(&self) -> Result<Box<JVMTI>, NativeError> {
[INFO] [stderr]    |                                             ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 31 |     fn get_environment(&self) -> Result<Box<dyn JVMTI>, NativeError> {
[INFO] [stderr]    |                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/agent.rs:37:30
[INFO] [stderr]    |
[INFO] [stderr] 37 |     pub fn new_from(jvm: Box<JVMF>) -> Agent {
[INFO] [stderr]    |                              ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 37 |     pub fn new_from(jvm: Box<dyn JVMF>) -> Agent {
[INFO] [stderr]    |                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `core::str::<impl str>::trim_left_matches`: superseded by `trim_start_matches`
[INFO] [stderr]   --> src/class.rs:72:41
[INFO] [stderr]    |
[INFO] [stderr] 72 |             JavaType::Class(cls) => cls.trim_left_matches("L").trim_right_matches(";").replace(";", "").replace("/", ".").to_string()
[INFO] [stderr]    |                                         ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: replace the use of the deprecated method
[INFO] [stderr]    |
[INFO] [stderr] 72 -             JavaType::Class(cls) => cls.trim_left_matches("L").trim_right_matches(";").replace(";", "").replace("/", ".").to_string()
[INFO] [stderr] 72 +             JavaType::Class(cls) => cls.trim_start_matches("L").trim_right_matches(";").replace(";", "").replace("/", ".").to_string()
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `core::str::<impl str>::trim_right_matches`: superseded by `trim_end_matches`
[INFO] [stderr]   --> src/class.rs:72:64
[INFO] [stderr]    |
[INFO] [stderr] 72 |             JavaType::Class(cls) => cls.trim_left_matches("L").trim_right_matches(";").replace(";", "").replace("/", ".").to_string()
[INFO] [stderr]    |                                                                ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: replace the use of the deprecated method
[INFO] [stderr]    |
[INFO] [stderr] 72 -             JavaType::Class(cls) => cls.trim_left_matches("L").trim_right_matches(";").replace(";", "").replace("/", ".").to_string()
[INFO] [stderr] 72 +             JavaType::Class(cls) => cls.trim_left_matches("L").trim_end_matches(";").replace(";", "").replace("/", ".").to_string()
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `core::str::<impl str>::trim_right_matches`: superseded by `trim_end_matches`
[INFO] [stderr]   --> src/class.rs:98:34
[INFO] [stderr]    |
[INFO] [stderr] 98 |                     package: pkg.trim_right_matches(".").to_string(),
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: replace the use of the deprecated method
[INFO] [stderr]    |
[INFO] [stderr] 98 -                     package: pkg.trim_right_matches(".").to_string(),
[INFO] [stderr] 98 +                     package: pkg.trim_end_matches(".").to_string(),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `et`
[INFO] [stderr]    --> src/bytecode/printer.rs:143:105
[INFO] [stderr]     |
[INFO] [stderr] 143 | ...ode: ref c, exception_table: ref et, attributes: ref attributes } => {
[INFO] [stderr]     |                                     ^^ help: if this is intentional, prefix it with an underscore: `_et`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:246:45
[INFO] [stderr]     |
[INFO] [stderr] 246 |                     &Instruction::IF_ACMPEQ(value) => format!("if_acmpeq"),
[INFO] [stderr]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:247:45
[INFO] [stderr]     |
[INFO] [stderr] 247 |                     &Instruction::IF_ACMPNE(value) => format!("if_acmpne"),
[INFO] [stderr]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:248:45
[INFO] [stderr]     |
[INFO] [stderr] 248 |                     &Instruction::IF_ICMPEQ(value) => format!("if_icmpeq"),
[INFO] [stderr]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:249:45
[INFO] [stderr]     |
[INFO] [stderr] 249 |                     &Instruction::IF_ICMPNE(value) => format!("if_icmpne"),
[INFO] [stderr]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:250:45
[INFO] [stderr]     |
[INFO] [stderr] 250 |                     &Instruction::IF_ICMPLT(value) => format!("if_icmplt"),
[INFO] [stderr]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:251:45
[INFO] [stderr]     |
[INFO] [stderr] 251 |                     &Instruction::IF_ICMPGE(value) => format!("if_icmpge"),
[INFO] [stderr]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:252:45
[INFO] [stderr]     |
[INFO] [stderr] 252 |                     &Instruction::IF_ICMPGT(value) => format!("if_icmpgt"),
[INFO] [stderr]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:253:45
[INFO] [stderr]     |
[INFO] [stderr] 253 |                     &Instruction::IF_ICMPLE(value) => format!("if_icmple"),
[INFO] [stderr]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:254:40
[INFO] [stderr]     |
[INFO] [stderr] 254 |                     &Instruction::IFEQ(value) => format!("ifeq"),
[INFO] [stderr]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:255:40
[INFO] [stderr]     |
[INFO] [stderr] 255 |                     &Instruction::IFNE(value) => format!("ifne"),
[INFO] [stderr]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:256:40
[INFO] [stderr]     |
[INFO] [stderr] 256 |                     &Instruction::IFLT(value) => format!("iflt"),
[INFO] [stderr]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:257:40
[INFO] [stderr]     |
[INFO] [stderr] 257 |                     &Instruction::IFGE(value) => format!("ifge"),
[INFO] [stderr]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:258:40
[INFO] [stderr]     |
[INFO] [stderr] 258 |                     &Instruction::IFGT(value) => format!("ifgt"),
[INFO] [stderr]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:259:40
[INFO] [stderr]     |
[INFO] [stderr] 259 |                     &Instruction::IFLE(value) => format!("ifle"),
[INFO] [stderr]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:260:45
[INFO] [stderr]     |
[INFO] [stderr] 260 |                     &Instruction::IFNONNULL(value) => format!("ifnonnull"),
[INFO] [stderr]     |                                             ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:261:42
[INFO] [stderr]     |
[INFO] [stderr] 261 |                     &Instruction::IFNULL(value) => format!("ifnull"),
[INFO] [stderr]     |                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:262:40
[INFO] [stderr]     |
[INFO] [stderr] 262 |                     &Instruction::IINC(value, increment) => format!("iinc"),
[INFO] [stderr]     |                                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `increment`
[INFO] [stderr]    --> src/bytecode/printer.rs:262:47
[INFO] [stderr]     |
[INFO] [stderr] 262 |                     &Instruction::IINC(value, increment) => format!("iinc"),
[INFO] [stderr]     |                                               ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_increment`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:263:41
[INFO] [stderr]     |
[INFO] [stderr] 263 |                     &Instruction::ILOAD(value) => format!("iload"),
[INFO] [stderr]     |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:270:46
[INFO] [stderr]     |
[INFO] [stderr] 270 |                     &Instruction::INSTANCEOF(value) => format!("instanceof"),
[INFO] [stderr]     |                                              ^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]     |
[INFO] [stderr] 270 |                     &Instruction::INSTANCEOF(_value) => format!("instanceof"),
[INFO] [stderr]     |                                              +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MINOR_VERSION`
[INFO] [stderr]     |
[INFO] [stderr] 270 -                     &Instruction::INSTANCEOF(value) => format!("instanceof"),
[INFO] [stderr] 270 +                     &Instruction::INSTANCEOF(<bytecode::classfile::ClassfileVersion as std::default::Default>::default::DEFAULT_MINOR_VERSION) => format!("instanceof"),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]    --> src/bytecode/printer.rs:272:58
[INFO] [stderr]     |
[INFO] [stderr] 272 |                     &Instruction::INVOKEINTERFACE(value, index) => format!("invokeinterface #{}", value),
[INFO] [stderr]     |                                                          ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:289:39
[INFO] [stderr]     |
[INFO] [stderr] 289 |                     &Instruction::JSR(value) => format!("jsr"),
[INFO] [stderr]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:290:41
[INFO] [stderr]     |
[INFO] [stderr] 290 |                     &Instruction::JSR_W(value) => format!("jsr_w"),
[INFO] [stderr]     |                                         ^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]     |
[INFO] [stderr] 290 |                     &Instruction::JSR_W(_value) => format!("jsr_w"),
[INFO] [stderr]     |                                         +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `JVMTI_VERSION`
[INFO] [stderr]     |
[INFO] [stderr] 290 -                     &Instruction::JSR_W(value) => format!("jsr_w"),
[INFO] [stderr] 290 +                     &Instruction::JSR_W(native::jvmti_native::JVMTI_VERSION) => format!("jsr_w"),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:301:39
[INFO] [stderr]     |
[INFO] [stderr] 301 |                     &Instruction::LDC(value) => format!("ldc"),
[INFO] [stderr]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:302:41
[INFO] [stderr]     |
[INFO] [stderr] 302 |                     &Instruction::LDC_W(value) => format!("ldc_w"),
[INFO] [stderr]     |                                         ^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]     |
[INFO] [stderr] 302 |                     &Instruction::LDC_W(_value) => format!("ldc_w"),
[INFO] [stderr]     |                                         +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MINOR_VERSION`
[INFO] [stderr]     |
[INFO] [stderr] 302 -                     &Instruction::LDC_W(value) => format!("ldc_w"),
[INFO] [stderr] 302 +                     &Instruction::LDC_W(<bytecode::classfile::ClassfileVersion as std::default::Default>::default::DEFAULT_MINOR_VERSION) => format!("ldc_w"),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:303:42
[INFO] [stderr]     |
[INFO] [stderr] 303 |                     &Instruction::LDC2_W(value) => format!("ldc2_w"),
[INFO] [stderr]     |                                          ^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]     |
[INFO] [stderr] 303 |                     &Instruction::LDC2_W(_value) => format!("ldc2_w"),
[INFO] [stderr]     |                                          +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MINOR_VERSION`
[INFO] [stderr]     |
[INFO] [stderr] 303 -                     &Instruction::LDC2_W(value) => format!("ldc2_w"),
[INFO] [stderr] 303 +                     &Instruction::LDC2_W(<bytecode::classfile::ClassfileVersion as std::default::Default>::default::DEFAULT_MINOR_VERSION) => format!("ldc2_w"),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:305:41
[INFO] [stderr]     |
[INFO] [stderr] 305 |                     &Instruction::LLOAD(value) => format!("lload"),
[INFO] [stderr]     |                                         ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:312:48
[INFO] [stderr]     |
[INFO] [stderr] 312 |                     &Instruction::LOOKUPSWITCH(value, ref table) => format!("lookupswitch"),
[INFO] [stderr]     |                                                ^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]     |
[INFO] [stderr] 312 |                     &Instruction::LOOKUPSWITCH(_value, ref table) => format!("lookupswitch"),
[INFO] [stderr]     |                                                +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `JVMTI_VERSION`
[INFO] [stderr]     |
[INFO] [stderr] 312 -                     &Instruction::LOOKUPSWITCH(value, ref table) => format!("lookupswitch"),
[INFO] [stderr] 312 +                     &Instruction::LOOKUPSWITCH(native::jvmti_native::JVMTI_VERSION, ref table) => format!("lookupswitch"),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `table`
[INFO] [stderr]    --> src/bytecode/printer.rs:312:59
[INFO] [stderr]     |
[INFO] [stderr] 312 |                     &Instruction::LOOKUPSWITCH(value, ref table) => format!("lookupswitch"),
[INFO] [stderr]     |                                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_table`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:328:50
[INFO] [stderr]     |
[INFO] [stderr] 328 |                     &Instruction::MULTIANEWARRAY(value, size) => format!("multianewarray"),
[INFO] [stderr]     |                                                  ^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]     |
[INFO] [stderr] 328 |                     &Instruction::MULTIANEWARRAY(_value, size) => format!("multianewarray"),
[INFO] [stderr]     |                                                  +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MINOR_VERSION`
[INFO] [stderr]     |
[INFO] [stderr] 328 -                     &Instruction::MULTIANEWARRAY(value, size) => format!("multianewarray"),
[INFO] [stderr] 328 +                     &Instruction::MULTIANEWARRAY(<bytecode::classfile::ClassfileVersion as std::default::Default>::default::DEFAULT_MINOR_VERSION, size) => format!("multianewarray"),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `size`
[INFO] [stderr]    --> src/bytecode/printer.rs:328:57
[INFO] [stderr]     |
[INFO] [stderr] 328 |                     &Instruction::MULTIANEWARRAY(value, size) => format!("multianewarray"),
[INFO] [stderr]     |                                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_size`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:329:39
[INFO] [stderr]     |
[INFO] [stderr] 329 |                     &Instruction::NEW(value) => format!("new"),
[INFO] [stderr]     |                                       ^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]     |
[INFO] [stderr] 329 |                     &Instruction::NEW(_value) => format!("new"),
[INFO] [stderr]     |                                       +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MINOR_VERSION`
[INFO] [stderr]     |
[INFO] [stderr] 329 -                     &Instruction::NEW(value) => format!("new"),
[INFO] [stderr] 329 +                     &Instruction::NEW(<bytecode::classfile::ClassfileVersion as std::default::Default>::default::DEFAULT_MINOR_VERSION) => format!("new"),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:330:44
[INFO] [stderr]     |
[INFO] [stderr] 330 |                     &Instruction::NEWARRAY(value) => format!("newarray"),
[INFO] [stderr]     |                                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:334:44
[INFO] [stderr]     |
[INFO] [stderr] 334 |                     &Instruction::PUTFIELD(value) => format!("putfield"),
[INFO] [stderr]     |                                            ^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]     |
[INFO] [stderr] 334 |                     &Instruction::PUTFIELD(_value) => format!("putfield"),
[INFO] [stderr]     |                                            +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MINOR_VERSION`
[INFO] [stderr]     |
[INFO] [stderr] 334 -                     &Instruction::PUTFIELD(value) => format!("putfield"),
[INFO] [stderr] 334 +                     &Instruction::PUTFIELD(<bytecode::classfile::ClassfileVersion as std::default::Default>::default::DEFAULT_MINOR_VERSION) => format!("putfield"),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:335:45
[INFO] [stderr]     |
[INFO] [stderr] 335 |                     &Instruction::PUTSTATIC(value) => format!("putstatic"),
[INFO] [stderr]     |                                             ^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]     |
[INFO] [stderr] 335 |                     &Instruction::PUTSTATIC(_value) => format!("putstatic"),
[INFO] [stderr]     |                                             +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MINOR_VERSION`
[INFO] [stderr]     |
[INFO] [stderr] 335 -                     &Instruction::PUTSTATIC(value) => format!("putstatic"),
[INFO] [stderr] 335 +                     &Instruction::PUTSTATIC(<bytecode::classfile::ClassfileVersion as std::default::Default>::default::DEFAULT_MINOR_VERSION) => format!("putstatic"),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:336:39
[INFO] [stderr]     |
[INFO] [stderr] 336 |                     &Instruction::RET(value) => format!("ret"),
[INFO] [stderr]     |                                       ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:342:47
[INFO] [stderr]     |
[INFO] [stderr] 342 |                     &Instruction::TABLESWITCH(value, _, _, _) => format!("tableswitch"),
[INFO] [stderr]     |                                               ^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]     |
[INFO] [stderr] 342 |                     &Instruction::TABLESWITCH(_value, _, _, _) => format!("tableswitch"),
[INFO] [stderr]     |                                               +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `JVMTI_VERSION`
[INFO] [stderr]     |
[INFO] [stderr] 342 -                     &Instruction::TABLESWITCH(value, _, _, _) => format!("tableswitch"),
[INFO] [stderr] 342 +                     &Instruction::TABLESWITCH(native::jvmti_native::JVMTI_VERSION, _, _, _) => format!("tableswitch"),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `value`
[INFO] [stderr]    --> src/bytecode/printer.rs:343:42
[INFO] [stderr]     |
[INFO] [stderr] 343 |                     &Instruction::IINC_W(value, increment) => format!("iinc_w"),
[INFO] [stderr]     |                                          ^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]     |
[INFO] [stderr] 343 |                     &Instruction::IINC_W(_value, increment) => format!("iinc_w"),
[INFO] [stderr]     |                                          +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named constant `DEFAULT_MINOR_VERSION`
[INFO] [stderr]     |
[INFO] [stderr] 343 -                     &Instruction::IINC_W(value, increment) => format!("iinc_w"),
[INFO] [stderr] 343 +                     &Instruction::IINC_W(<bytecode::classfile::ClassfileVersion as std::default::Default>::default::DEFAULT_MINOR_VERSION, increment) => format!("iinc_w"),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `increment`
[INFO] [stderr]    --> src/bytecode/printer.rs:343:49
[INFO] [stderr]     |
[INFO] [stderr] 343 |                     &Instruction::IINC_W(value, increment) => format!("iinc_w"),
[INFO] [stderr]     |                                                 ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_increment`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `tag`
[INFO] [stderr]    --> src/bytecode/printer.rs:405:46
[INFO] [stderr]     |
[INFO] [stderr] 405 |             &StackMapFrame::FutureUse { tag: tag } => format!("FutureUse")
[INFO] [stderr]     |                                              ^^^ help: if this is intentional, prefix it with an underscore: `_tag`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/environment/jvmti.rs:134:13
[INFO] [stderr]     |
[INFO] [stderr] 134 |         let mut info_ptr = &mut info;
[INFO] [stderr]     |             ----^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/environment/jvmti.rs:169:13
[INFO] [stderr]     |
[INFO] [stderr] 169 |         let mut method_ptr = &mut method_name;
[INFO] [stderr]     |             ----^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/environment/jvmti.rs:172:13
[INFO] [stderr]     |
[INFO] [stderr] 172 |         let mut signature_ptr = &mut signature;
[INFO] [stderr]     |             ----^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/environment/jvmti.rs:175:13
[INFO] [stderr]     |
[INFO] [stderr] 175 |         let mut generic_sig_ptr = &mut generic_sig;
[INFO] [stderr]     |             ----^^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning[E0170]: pattern binding `Java1_5` is named the same as one of the variants of the type `instrumentation::asm::ClassfileVersion`
[INFO] [stderr]   --> src/instrumentation/asm/mod.rs:36:13
[INFO] [stderr]    |
[INFO] [stderr] 36 |             Java1_5 => 49,
[INFO] [stderr]    |             ^^^^^^^ help: to match on the variant, qualify the path: `instrumentation::asm::ClassfileVersion::Java1_5`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bindings_with_variant_name)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning[E0170]: pattern binding `Java1_6` is named the same as one of the variants of the type `instrumentation::asm::ClassfileVersion`
[INFO] [stderr]   --> src/instrumentation/asm/mod.rs:37:13
[INFO] [stderr]    |
[INFO] [stderr] 37 |             Java1_6 => 50,
[INFO] [stderr]    |             ^^^^^^^ help: to match on the variant, qualify the path: `instrumentation::asm::ClassfileVersion::Java1_6`
[INFO] [stderr] 
[INFO] [stderr] warning[E0170]: pattern binding `Java1_7` is named the same as one of the variants of the type `instrumentation::asm::ClassfileVersion`
[INFO] [stderr]   --> src/instrumentation/asm/mod.rs:38:13
[INFO] [stderr]    |
[INFO] [stderr] 38 |             Java1_7 => 51,
[INFO] [stderr]    |             ^^^^^^^ help: to match on the variant, qualify the path: `instrumentation::asm::ClassfileVersion::Java1_7`
[INFO] [stderr] 
[INFO] [stderr] warning[E0170]: pattern binding `Java1_8` is named the same as one of the variants of the type `instrumentation::asm::ClassfileVersion`
[INFO] [stderr]   --> src/instrumentation/asm/mod.rs:39:13
[INFO] [stderr]    |
[INFO] [stderr] 39 |             Java1_8 => 52,
[INFO] [stderr]    |             ^^^^^^^ help: to match on the variant, qualify the path: `instrumentation::asm::ClassfileVersion::Java1_8`
[INFO] [stderr] 
[INFO] [stderr] warning[E0170]: pattern binding `Java1_9` is named the same as one of the variants of the type `instrumentation::asm::ClassfileVersion`
[INFO] [stderr]   --> src/instrumentation/asm/mod.rs:40:13
[INFO] [stderr]    |
[INFO] [stderr] 40 |             Java1_9 => 53
[INFO] [stderr]    |             ^^^^^^^ help: to match on the variant, qualify the path: `instrumentation::asm::ClassfileVersion::Java1_9`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> src/instrumentation/asm/mod.rs:37:13
[INFO] [stderr]    |
[INFO] [stderr] 36 |             Java1_5 => 49,
[INFO] [stderr]    |             ------- matches any value
[INFO] [stderr] 37 |             Java1_6 => 50,
[INFO] [stderr]    |             ^^^^^^^ no value can reach this
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> src/instrumentation/asm/mod.rs:38:13
[INFO] [stderr]    |
[INFO] [stderr] 36 |             Java1_5 => 49,
[INFO] [stderr]    |             ------- matches any value
[INFO] [stderr] 37 |             Java1_6 => 50,
[INFO] [stderr] 38 |             Java1_7 => 51,
[INFO] [stderr]    |             ^^^^^^^ no value can reach this
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> src/instrumentation/asm/mod.rs:39:13
[INFO] [stderr]    |
[INFO] [stderr] 36 |             Java1_5 => 49,
[INFO] [stderr]    |             ------- matches any value
[INFO] [stderr] ...
[INFO] [stderr] 39 |             Java1_8 => 52,
[INFO] [stderr]    |             ^^^^^^^ no value can reach this
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> src/instrumentation/asm/mod.rs:40:13
[INFO] [stderr]    |
[INFO] [stderr] 36 |             Java1_5 => 49,
[INFO] [stderr]    |             ------- matches any value
[INFO] [stderr] ...
[INFO] [stderr] 40 |             Java1_9 => 53
[INFO] [stderr]    |             ^^^^^^^ no value can reach this
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Java1_5`
[INFO] [stderr]   --> src/instrumentation/asm/mod.rs:36:13
[INFO] [stderr]    |
[INFO] [stderr] 36 |             Java1_5 => 49,
[INFO] [stderr]    |             ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]    |
[INFO] [stderr] 36 |             _Java1_5 => 49,
[INFO] [stderr]    |             +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named variant `Java1_5`
[INFO] [stderr]    |
[INFO] [stderr] 36 |             instrumentation::asm::ClassfileVersion::Java1_5 => 49,
[INFO] [stderr]    |             ++++++++++++++++++++++++++++++++++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Java1_6`
[INFO] [stderr]   --> src/instrumentation/asm/mod.rs:37:13
[INFO] [stderr]    |
[INFO] [stderr] 37 |             Java1_6 => 50,
[INFO] [stderr]    |             ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]    |
[INFO] [stderr] 37 |             _Java1_6 => 50,
[INFO] [stderr]    |             +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named variant `Java1_6`
[INFO] [stderr]    |
[INFO] [stderr] 37 |             instrumentation::asm::ClassfileVersion::Java1_6 => 50,
[INFO] [stderr]    |             ++++++++++++++++++++++++++++++++++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Java1_7`
[INFO] [stderr]   --> src/instrumentation/asm/mod.rs:38:13
[INFO] [stderr]    |
[INFO] [stderr] 38 |             Java1_7 => 51,
[INFO] [stderr]    |             ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]    |
[INFO] [stderr] 38 |             _Java1_7 => 51,
[INFO] [stderr]    |             +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named variant `Java1_7`
[INFO] [stderr]    |
[INFO] [stderr] 38 |             instrumentation::asm::ClassfileVersion::Java1_7 => 51,
[INFO] [stderr]    |             ++++++++++++++++++++++++++++++++++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Java1_8`
[INFO] [stderr]   --> src/instrumentation/asm/mod.rs:39:13
[INFO] [stderr]    |
[INFO] [stderr] 39 |             Java1_8 => 52,
[INFO] [stderr]    |             ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]    |
[INFO] [stderr] 39 |             _Java1_8 => 52,
[INFO] [stderr]    |             +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named variant `Java1_8`
[INFO] [stderr]    |
[INFO] [stderr] 39 |             instrumentation::asm::ClassfileVersion::Java1_8 => 52,
[INFO] [stderr]    |             ++++++++++++++++++++++++++++++++++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `Java1_9`
[INFO] [stderr]   --> src/instrumentation/asm/mod.rs:40:13
[INFO] [stderr]    |
[INFO] [stderr] 40 |             Java1_9 => 53
[INFO] [stderr]    |             ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: if this is intentional, prefix it with an underscore
[INFO] [stderr]    |
[INFO] [stderr] 40 |             _Java1_9 => 53
[INFO] [stderr]    |             +
[INFO] [stderr] help: you might have meant to pattern match on the similarly named variant `Java1_9`
[INFO] [stderr]    |
[INFO] [stderr] 40 |             instrumentation::asm::ClassfileVersion::Java1_9 => 53
[INFO] [stderr]    |             ++++++++++++++++++++++++++++++++++++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `content`
[INFO] [stderr]   --> src/instrumentation/asm/mod.rs:62:41
[INFO] [stderr]    |
[INFO] [stderr] 62 |     pub fn add_utf8_constant(&mut self, content: String) {
[INFO] [stderr]    |                                         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `content`
[INFO] [stderr]   --> src/instrumentation/asm/mod.rs:66:43
[INFO] [stderr]    |
[INFO] [stderr] 66 |     pub fn add_string_constant(&mut self, content: String) {
[INFO] [stderr]    |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `classfile`
[INFO] [stderr]   --> src/instrumentation/mod.rs:37:27
[INFO] [stderr]    |
[INFO] [stderr] 37 |     pub fn from_classfile(classfile: &Classfile) -> Option<JavaClass> {
[INFO] [stderr]    |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_classfile`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `method`
[INFO] [stderr]   --> src/instrumentation/mod.rs:41:23
[INFO] [stderr]    |
[INFO] [stderr] 41 |     pub fn add_method(method: Method) {
[INFO] [stderr]    |                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_method`
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]    --> src/bytecode/io/reader.rs:872:41
[INFO] [stderr]     |
[INFO] [stderr] 872 |     pub fn new<T>(source: &'a mut T) -> BlockReader where T: Read {
[INFO] [stderr]     |                            --           ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                            |
[INFO] [stderr]     |                            the lifetime is named 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: consistently use `'a`
[INFO] [stderr]     |
[INFO] [stderr] 872 |     pub fn new<T>(source: &'a mut T) -> BlockReader<'a> where T: Read {
[INFO] [stderr]     |                                                    ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stderr]  --> src/bytecode/io/writer.rs:9:41
[INFO] [stderr]   |
[INFO] [stderr] 9 |     pub fn new<T>(target: &'a mut T) -> ClassWriter where T: Write {
[INFO] [stderr]   |                            --           ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]   |                            |
[INFO] [stderr]   |                            the lifetime is named here
[INFO] [stderr]   |
[INFO] [stderr]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: consistently use `'a`
[INFO] [stderr]   |
[INFO] [stderr] 9 |     pub fn new<T>(target: &'a mut T) -> ClassWriter<'a> where T: Write {
[INFO] [stderr]   |                                                    ++++
[INFO] [stderr] 
[INFO] [stderr] warning: the `attributes:` in this pattern is redundant
[INFO] [stderr]    --> src/bytecode/printer.rs:143:109
[INFO] [stderr]     |
[INFO] [stderr] 143 | ...c, exception_table: ref et, attributes: ref attributes } => {
[INFO] [stderr]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use shorthand field pattern: `ref attributes`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_shorthand_field_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: the `tag:` in this pattern is redundant
[INFO] [stderr]    --> src/bytecode/printer.rs:398:41
[INFO] [stderr]     |
[INFO] [stderr] 398 |             &StackMapFrame::SameFrame { tag: tag } => format!("SameFrame {}", tag),
[INFO] [stderr]     |                                         ^^^^^^^^ help: use shorthand field pattern: `tag`
[INFO] [stderr] 
[INFO] [stderr] warning: the `tag:` in this pattern is redundant
[INFO] [stderr]    --> src/bytecode/printer.rs:399:57
[INFO] [stderr]     |
[INFO] [stderr] 399 | ...   &StackMapFrame::SameLocals1StackItemFrame { tag: tag, stack: _ /*VerificationType*/ } => format!("SameLocals1StackItemFrame {}", tag),
[INFO] [stderr]     |                                                   ^^^^^^^^ help: use shorthand field pattern: `tag`
[INFO] [stderr] 
[INFO] [stderr] warning: the `tag:` in this pattern is redundant
[INFO] [stderr]    --> src/bytecode/printer.rs:401:41
[INFO] [stderr]     |
[INFO] [stderr] 401 |             &StackMapFrame::ChopFrame { tag: tag, offset_delta: offset } => format!("ChopFrame {} {}", tag, offset),
[INFO] [stderr]     |                                         ^^^^^^^^ help: use shorthand field pattern: `tag`
[INFO] [stderr] 
[INFO] [stderr] warning: the `tag:` in this pattern is redundant
[INFO] [stderr]    --> src/bytecode/printer.rs:403:43
[INFO] [stderr]     |
[INFO] [stderr] 403 | ...   &StackMapFrame::AppendFrame { tag: tag, offset_delta: offset, locals: _ /*Vec<VerificationType>*/ } => format!("AppendFrame {} {}",...
[INFO] [stderr]     |                                     ^^^^^^^^ help: use shorthand field pattern: `tag`
[INFO] [stderr] 
[INFO] [stderr] warning: the `tag:` in this pattern is redundant
[INFO] [stderr]    --> src/bytecode/printer.rs:405:41
[INFO] [stderr]     |
[INFO] [stderr] 405 |             &StackMapFrame::FutureUse { tag: tag } => format!("FutureUse")
[INFO] [stderr]     |                                         ^^^^^^^^ help: use shorthand field pattern: `tag`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Java1_5` should have a snake case name
[INFO] [stderr]   --> src/instrumentation/asm/mod.rs:36:13
[INFO] [stderr]    |
[INFO] [stderr] 36 |             Java1_5 => 49,
[INFO] [stderr]    |             ^^^^^^^ help: convert the identifier to snake case: `java1_5`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Java1_6` should have a snake case name
[INFO] [stderr]   --> src/instrumentation/asm/mod.rs:37:13
[INFO] [stderr]    |
[INFO] [stderr] 37 |             Java1_6 => 50,
[INFO] [stderr]    |             ^^^^^^^ help: convert the identifier to snake case: `java1_6`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Java1_7` should have a snake case name
[INFO] [stderr]   --> src/instrumentation/asm/mod.rs:38:13
[INFO] [stderr]    |
[INFO] [stderr] 38 |             Java1_7 => 51,
[INFO] [stderr]    |             ^^^^^^^ help: convert the identifier to snake case: `java1_7`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Java1_8` should have a snake case name
[INFO] [stderr]   --> src/instrumentation/asm/mod.rs:39:13
[INFO] [stderr]    |
[INFO] [stderr] 39 |             Java1_8 => 52,
[INFO] [stderr]    |             ^^^^^^^ help: convert the identifier to snake case: `java1_8`
[INFO] [stderr] 
[INFO] [stderr] warning: variable `Java1_9` should have a snake case name
[INFO] [stderr]   --> src/instrumentation/asm/mod.rs:40:13
[INFO] [stderr]    |
[INFO] [stderr] 40 |             Java1_9 => 53
[INFO] [stderr]    |             ^^^^^^^ help: convert the identifier to snake case: `java1_9`
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/instrumentation/asm/transformer.rs:10:23
[INFO] [stderr]    |
[INFO] [stderr] 10 |     pub fn new(class: &mut Classfile) -> Transformer {
[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] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 10 |     pub fn new(class: &mut Classfile) -> Transformer<'_> {
[INFO] [stderr]    |                                                     ++++
[INFO] [stderr] 
[INFO] [stderr] For more information about this error, try `rustc --explain E0170`.
[INFO] [stderr] warning: `jvmti` (lib) generated 115 warnings (run `cargo fix --lib -p jvmti` to apply 70 suggestions)
[INFO] [stderr] warning: `jvmti` (lib test) generated 115 warnings (115 duplicates)
[INFO] [stderr] warning: function `main2` is never used
[INFO] [stderr]   --> src/main.rs:10:4
[INFO] [stderr]    |
[INFO] [stderr] 10 | fn main2() {
[INFO] [stderr]    |    ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> tests/bytecode/mod.rs:16:43
[INFO] [stderr]    |
[INFO] [stderr] 16 | ...                   assert!(true, format!("{:?}", class));
[INFO] [stderr]    |                                     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this usage of `assert!()` 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 `assert!()` 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] 16 -                             assert!(true, format!("{:?}", class));
[INFO] [stderr] 16 +                             assert!(true, "{:?}", class);
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> tests/bytecode/mod.rs:18:48
[INFO] [stderr]    |
[INFO] [stderr] 18 |                     Err(err) => assert!(false, format!("{:?}", err))
[INFO] [stderr]    |                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this usage of `assert!()` 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 `assert!()` 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] 18 -                     Err(err) => assert!(false, format!("{:?}", err))
[INFO] [stderr] 18 +                     Err(err) => assert!(false, "{:?}", err)
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> tests/bytecode/mod.rs:22:40
[INFO] [stderr]    |
[INFO] [stderr] 22 |             Err(err) => assert!(false, format!("{:?}", err))
[INFO] [stderr]    |                                        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this usage of `assert!()` 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 `assert!()` 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] 22 -             Err(err) => assert!(false, format!("{:?}", err))
[INFO] [stderr] 22 +             Err(err) => assert!(false, "{:?}", err)
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> tests/bytecode/mod.rs:32:39
[INFO] [stderr]    |
[INFO] [stderr] 32 |                         assert!(true, format!("{:#?}", class.methods));
[INFO] [stderr]    |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this usage of `assert!()` 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 `assert!()` 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] 32 -                         assert!(true, format!("{:#?}", class.methods));
[INFO] [stderr] 32 +                         assert!(true, "{:#?}", class.methods);
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> tests/bytecode/mod.rs:34:48
[INFO] [stderr]    |
[INFO] [stderr] 34 |                     Err(err) => assert!(false, format!("{:?}", err))
[INFO] [stderr]    |                                                ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this usage of `assert!()` 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 `assert!()` 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] 34 -                     Err(err) => assert!(false, format!("{:?}", err))
[INFO] [stderr] 34 +                     Err(err) => assert!(false, "{:?}", err)
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]   --> tests/bytecode/mod.rs:38:40
[INFO] [stderr]    |
[INFO] [stderr] 38 |             Err(err) => assert!(false, format!("{:?}", err))
[INFO] [stderr]    |                                        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this usage of `assert!()` 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 `assert!()` 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] 38 -             Err(err) => assert!(false, format!("{:?}", err))
[INFO] [stderr] 38 +             Err(err) => assert!(false, "{:?}", err)
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> tests/bytecode/mod.rs:105:44
[INFO] [stderr]     |
[INFO] [stderr] 105 |                 Err(err) => assert!(false, format!("{:?}", err))
[INFO] [stderr]     |                                            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` 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 `assert!()` 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] 105 -                 Err(err) => assert!(false, format!("{:?}", err))
[INFO] [stderr] 105 +                 Err(err) => assert!(false, "{:?}", err)
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> tests/bytecode/mod.rs:112:42
[INFO] [stderr]     |
[INFO] [stderr] 112 |             assert!(read_result.is_ok(), format!("{:?}", read_result.err()));
[INFO] [stderr]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` 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 `assert!()` 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] 112 -             assert!(read_result.is_ok(), format!("{:?}", read_result.err()));
[INFO] [stderr] 112 +             assert!(read_result.is_ok(), "{:?}", read_result.err());
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: panic message is not a string literal
[INFO] [stderr]    --> tests/bytecode/mod.rs:129:23
[INFO] [stderr]     |
[INFO] [stderr] 129 |         assert!(true, format!("{:?}", target));
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: this usage of `assert!()` 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 `assert!()` 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] 129 -         assert!(true, format!("{:?}", target));
[INFO] [stderr] 129 +         assert!(true, "{:?}", target);
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: a dangling pointer will be produced because the temporary `CString` will be dropped
[INFO] [stderr]   --> tests/util.rs:21:60
[INFO] [stderr]    |
[INFO] [stderr] 21 |         let s: MutString = CString::new(expected).unwrap().as_ptr() as *mut i8;
[INFO] [stderr]    |                            ------------------------------- ^^^^^^ this pointer will immediately be invalid
[INFO] [stderr]    |                            |
[INFO] [stderr]    |                            this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stderr]    |
[INFO] [stderr]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stderr]    = help: you must make sure that the variable you bind the `CString` to lives at least as long as the pointer returned by the call to `as_ptr`
[INFO] [stderr]    = help: in particular, if this pointer is returned from the current function, binding the `CString` inside the function will not suffice
[INFO] [stderr]    = help: for more information, see <https://doc.rust-lang.org/reference/destructors.html>
[INFO] [stderr]    = note: `#[warn(dangling_pointers_from_temporaries)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: a dangling pointer will be produced because the temporary `CString` will be dropped
[INFO] [stderr]   --> tests/util.rs:28:60
[INFO] [stderr]    |
[INFO] [stderr] 28 |         let s: MutString = CString::new(expected).unwrap().as_ptr() as *mut i8;
[INFO] [stderr]    |                            ------------------------------- ^^^^^^ this pointer will immediately be invalid
[INFO] [stderr]    |                            |
[INFO] [stderr]    |                            this `CString` is deallocated at the end of the statement, bind it to a variable to extend its lifetime
[INFO] [stderr]    |
[INFO] [stderr]    = note: pointers do not have a lifetime; when calling `as_ptr` the `CString` will be deallocated at the end of the statement because nothing is referencing it as far as the type system is concerned
[INFO] [stderr]    = help: you must make sure that the variable you bind the `CString` to lives at least as long as the pointer returned by the call to `as_ptr`
[INFO] [stderr]    = help: in particular, if this pointer is returned from the current function, binding the `CString` inside the function will not suffice
[INFO] [stderr]    = help: for more information, see <https://doc.rust-lang.org/reference/destructors.html>
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]   --> tests/event.rs:11:9
[INFO] [stderr]    |
[INFO] [stderr] 11 |         assert_eq!(None, ec.method_entry);
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: the address of the same function can vary between different codegen units
[INFO] [stderr]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stderr]    = note: this warning originates in the macro `assert_eq` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `jvmti` (bin "jvmti") generated 1 warning
[INFO] [stderr] warning: `jvmti` (bin "jvmti" test) generated 1 warning (1 duplicate)
[INFO] [stderr] warning: `jvmti` (test "lib") generated 9 warnings (run `cargo fix --test "lib"` to apply 9 suggestions)
[INFO] [stderr] warning: `jvmti` (test "util") generated 2 warnings
[INFO] [stderr] warning: `jvmti` (test "event") generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.10s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/jvmti-d6a6fa8196b7b569)
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/jvmti-ca1ffdd153a84f18)
[INFO] [stdout] running 0 tests
[INFO] [stderr]      Running tests/agent.rs (/opt/rustwide/target/debug/deps/agent-842c50f5436e4c8c)
[INFO] [stdout] 
[INFO] [stderr]      Running tests/capabilities.rs (/opt/rustwide/target/debug/deps/capabilities-e59bb829c1e385ec)
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[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] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test tests::agents_are_initialized_with_empty_capabilities ... ok
[INFO] [stdout] test tests::agents_are_fucking_even_working ... ok
[INFO] [stdout] test tests::agents_provide_with_version_numbers ... ok
[INFO] [stdout] test tests::agents_respond_to_shutdown ... ok
[INFO] [stderr]      Running tests/class.rs (/opt/rustwide/target/debug/deps/class-ba235ae7e2fe82dd)
[INFO] [stdout] test tests::callbacks_trigger_capabilities ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test tests::agent_capabilities_are_generated_with_capabilities_off ... ok
[INFO] [stdout] test tests::agent_capabilities_are_reflected_in_native_capabilities ... ok
[INFO] [stdout] test tests::merge_combines_enabled_flags_from_both_capabilities ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test tests::arrays_of_classes_are_parsed ... ok
[INFO] [stdout] test tests::classes_are_parsed_correctly ... ok
[INFO] [stdout] test tests::primitive_types_are_parsed_correctly ... ok
[INFO] [stdout] test tests::java_types_are_stringified ... ok
[INFO] [stdout] test tests::arrays_are_parsed_correctly ... ok
[INFO] [stdout] test tests::class_to_string_returns_the_fully_qualified_class_name ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/context.rs (/opt/rustwide/target/debug/deps/context-a4051bb58fc15b21)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test tests::test ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/emulator.rs (/opt/rustwide/target/debug/deps/emulator-a29d133e91736b53)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test tests::get_version_number_returns_unknown_version ... ok
[INFO] [stdout] test tests::get_environment_returns_a_valid_environment ... ok
[INFO] [stdout] test tests::add_capabilities_retains_the_previously_added_capabilities ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/event.rs (/opt/rustwide/target/debug/deps/event-ba7fb3199f6caed8)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test tests::empty_event_callbacks_are_instantiatable_using_new ... ok
[INFO] [stdout] 
[INFO] [stderr]      Running tests/lib.rs (/opt/rustwide/target/debug/deps/lib-aa5122526603a348)
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test bytecode::tests::test_cursor_read_usage ... ok
[INFO] [stdout] test bytecode::tests::test_cursor_write_usage ... ok
[INFO] [stdout] test instrumentation::tests::can_create_empty_class ... ok
[INFO] [stdout] test bytecode::tests::test_read_write_roundtrip ... ok
[INFO] [stdout] test bytecode::tests::test_read_n ... ok
[INFO] [stdout] test bytecode::tests::test_read_simple ... FAILED
[INFO] [stderr] error: test failed, to rerun pass `--test lib`
[INFO] [stdout] test bytecode::tests::test_read_test ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- bytecode::tests::test_read_simple stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'bytecode::tests::test_read_simple' (55) panicked at tests/bytecode/mod.rs:22:25:
[INFO] [stdout] Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5cbeeef47752 - std::backtrace_rs::backtrace::libunwind::trace::hcab59e1e990fdc24
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5cbeeef47752 - std::backtrace_rs::backtrace::trace_unsynchronized::he24cc57f3d2f47b7
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5cbeeef47752 - std::sys::backtrace::_print_fmt::hf8d65ede198eeb54
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x5cbeeef47752 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h67edf0e4d33c343c
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x5cbeeef57d2f - core::fmt::rt::Argument::fmt::hef94184842aeafdd
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x5cbeeef57d2f - core::fmt::write::hcf0c66b48a8fa606
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/fmt/mod.rs:1468:25
[INFO] [stdout]    6:     0x5cbeeef14ca1 - std::io::default_write_fmt::h69967ac0ba93195f
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5cbeeef14ca1 - std::io::Write::write_fmt::h8db9396209deaa1c
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x5cbeeef20d02 - std::sys::backtrace::BacktraceLock::print::h07e5435aa717b414
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x5cbeeef2584f - std::panicking::default_hook::{{closure}}::h91001850288db5f7
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x5cbeeef256e1 - std::panicking::default_hook::h2346dbb704ef5512
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x5cbeeee9cc9e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h18383b2e29377420
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/alloc/src/boxed.rs:1999:9
[INFO] [stdout]   12:     0x5cbeeee9cc9e - test::test_main_with_exit_callback::{{closure}}::h272d7ef99aef06dc
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5cbeeef25f0f - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h6dba6e441651a0d1
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/alloc/src/boxed.rs:1999:9
[INFO] [stdout]   14:     0x5cbeeef25f0f - std::panicking::panic_with_hook::hd2b063a6090d23a4
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x5cbeeee7a25b - std::panicking::begin_panic::{{closure}}::h964550d7f31c4128
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:771:9
[INFO] [stdout]   16:     0x5cbeeee7a1a6 - std::sys::backtrace::__rust_end_short_backtrace::heed4bbee7615af70
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x5cbeeee7a1ff - std::panicking::begin_panic::h4de22b30e800aaac
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:770:5
[INFO] [stdout]   18:     0x5cbeeee777f1 - lib::bytecode::tests::test_read_simple::h7c0874614a66718f
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/bytecode/mod.rs:22:25
[INFO] [stdout]   19:     0x5cbeeee77817 - lib::bytecode::tests::test_read_simple::{{closure}}::hae14871c9153a86b
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/bytecode/mod.rs:11:26
[INFO] [stdout]   20:     0x5cbeeee70c46 - core::ops::function::FnOnce::call_once::h64dca0c60103503a
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   21:     0x5cbeeee9ca5b - core::ops::function::FnOnce::call_once::h70887edf07a630ba
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5cbeeee9ca5b - test::__rust_begin_short_backtrace::h27763c4cbbdb8601
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:663:18
[INFO] [stdout]   23:     0x5cbeeeeb26c5 - test::run_test_in_process::{{closure}}::h4dc8bc6d5e3924d3
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:686:74
[INFO] [stdout]   24:     0x5cbeeeeb26c5 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h75905e8ffe81974f
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   25:     0x5cbeeeeb26c5 - std::panicking::catch_unwind::do_call::h0bc60366ba66eba5
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:590:40
[INFO] [stdout]   26:     0x5cbeeeeb26c5 - std::panicking::catch_unwind::hae1ec7bf94407afa
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:553:19
[INFO] [stdout]   27:     0x5cbeeeeb26c5 - std::panic::catch_unwind::h0f4ff4773d84d3cd
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panic.rs:359:14
[INFO] [stdout]   28:     0x5cbeeeeb26c5 - test::run_test_in_process::h03fbc77ae48b3f10
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:686:27
[INFO] [stdout]   29:     0x5cbeeeeb26c5 - test::run_test::{{closure}}::h83476a9c453dc4d3
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:607:43
[INFO] [stdout]   30:     0x5cbeeee88eb4 - test::run_test::{{closure}}::h515482ad1e7fe7de
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:637:41
[INFO] [stdout]   31:     0x5cbeeee88eb4 - std::sys::backtrace::__rust_begin_short_backtrace::hed09f6ac5fe9d647
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   32:     0x5cbeeee8c77a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h988e2cd969319888
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   33:     0x5cbeeee8c77a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hd70e28dc46ec20be
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   34:     0x5cbeeee8c77a - std::panicking::catch_unwind::do_call::hdc29e11311eb7655
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:590:40
[INFO] [stdout]   35:     0x5cbeeee8c77a - std::panicking::catch_unwind::h9e402d6a96fef41c
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:553:19
[INFO] [stdout]   36:     0x5cbeeee8c77a - std::panic::catch_unwind::h9213c0c54aec70e0
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panic.rs:359:14
[INFO] [stdout]   37:     0x5cbeeee8c77a - std::thread::Builder::spawn_unchecked_::{{closure}}::h6262965869ed2b87
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   38:     0x5cbeeee8c77a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h05c05ed02619e462
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   39:     0x5cbeeef1bf9f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h2044e71c41d3958a
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   40:     0x5cbeeef1bf9f - std::sys::thread::unix::Thread::new::thread_start::hf277835320aa8e5a
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/thread/unix.rs:126:17
[INFO] [stdout]   41:     0x738cf4167aa4 - <unknown>
[INFO] [stdout]   42:     0x738cf41f4a34 - clone
[INFO] [stdout]   43:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- bytecode::tests::test_read_test stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'bytecode::tests::test_read_test' (56) panicked at tests/bytecode/mod.rs:38:25:
[INFO] [stdout] Os { code: 2, kind: NotFound, message: "No such file or directory" }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5cbeeef47752 - std::backtrace_rs::backtrace::libunwind::trace::hcab59e1e990fdc24
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5cbeeef47752 - std::backtrace_rs::backtrace::trace_unsynchronized::he24cc57f3d2f47b7
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5cbeeef47752 - std::sys::backtrace::_print_fmt::hf8d65ede198eeb54
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x5cbeeef47752 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h67edf0e4d33c343c
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x5cbeeef57d2f - core::fmt::rt::Argument::fmt::hef94184842aeafdd
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x5cbeeef57d2f - core::fmt::write::hcf0c66b48a8fa606
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/fmt/mod.rs:1468:25
[INFO] [stdout]    6:     0x5cbeeef14ca1 - std::io::default_write_fmt::h69967ac0ba93195f
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5cbeeef14ca1 - std::io::Write::write_fmt::h8db9396209deaa1c
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x5cbeeef20d02 - std::sys::backtrace::BacktraceLock::print::h07e5435aa717b414
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x5cbeeef2584f - std::panicking::default_hook::{{closure}}::h91001850288db5f7
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x5cbeeef256e1 - std::panicking::default_hook::h2346dbb704ef5512
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x5cbeeee9cc9e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h18383b2e29377420
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/alloc/src/boxed.rs:1999:9
[INFO] [stdout]   12:     0x5cbeeee9cc9e - test::test_main_with_exit_callback::{{closure}}::h272d7ef99aef06dc
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5cbeeef25f0f - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h6dba6e441651a0d1
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/alloc/src/boxed.rs:1999:9
[INFO] [stdout]   14:     0x5cbeeef25f0f - std::panicking::panic_with_hook::hd2b063a6090d23a4
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x5cbeeee7a25b - std::panicking::begin_panic::{{closure}}::h964550d7f31c4128
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:771:9
[INFO] [stdout]   16:     0x5cbeeee7a1a6 - std::sys::backtrace::__rust_end_short_backtrace::heed4bbee7615af70
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x5cbeeee7a1ff - std::panicking::begin_panic::h4de22b30e800aaac
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:770:5
[INFO] [stdout]   18:     0x5cbeeee77511 - lib::bytecode::tests::test_read_test::h30042dbb42456397
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/bytecode/mod.rs:38:25
[INFO] [stdout]   19:     0x5cbeeee77537 - lib::bytecode::tests::test_read_test::{{closure}}::hf89f426727e79b55
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/bytecode/mod.rs:27:24
[INFO] [stdout]   20:     0x5cbeeee70bc6 - core::ops::function::FnOnce::call_once::h57346629f3e602bf
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   21:     0x5cbeeee9ca5b - core::ops::function::FnOnce::call_once::h70887edf07a630ba
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5cbeeee9ca5b - test::__rust_begin_short_backtrace::h27763c4cbbdb8601
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:663:18
[INFO] [stdout]   23:     0x5cbeeeeb26c5 - test::run_test_in_process::{{closure}}::h4dc8bc6d5e3924d3
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:686:74
[INFO] [stdout]   24:     0x5cbeeeeb26c5 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h75905e8ffe81974f
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   25:     0x5cbeeeeb26c5 - std::panicking::catch_unwind::do_call::h0bc60366ba66eba5
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:590:40
[INFO] [stdout]   26:     0x5cbeeeeb26c5 - std::panicking::catch_unwind::hae1ec7bf94407afa
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:553:19
[INFO] [stdout]   27:     0x5cbeeeeb26c5 - std::panic::catch_unwind::h0f4ff4773d84d3cd
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panic.rs:359:14
[INFO] [stdout]   28:     0x5cbeeeeb26c5 - test::run_test_in_process::h03fbc77ae48b3f10
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:686:27
[INFO] [stdout]   29:     0x5cbeeeeb26c5 - test::run_test::{{closure}}::h83476a9c453dc4d3
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:607:43
[INFO] [stdout]   30:     0x5cbeeee88eb4 - test::run_test::{{closure}}::h515482ad1e7fe7de
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/test/src/lib.rs:637:41
[INFO] [stdout]   31:     0x5cbeeee88eb4 - std::sys::backtrace::__rust_begin_short_backtrace::hed09f6ac5fe9d647
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   32:     0x5cbeeee8c77a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h988e2cd969319888
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/mod.rs:559:17
[INFO] [stdout]   33:     0x5cbeeee8c77a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hd70e28dc46ec20be
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   34:     0x5cbeeee8c77a - std::panicking::catch_unwind::do_call::hdc29e11311eb7655
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:590:40
[INFO] [stdout]   35:     0x5cbeeee8c77a - std::panicking::catch_unwind::h9e402d6a96fef41c
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panicking.rs:553:19
[INFO] [stdout]   36:     0x5cbeeee8c77a - std::panic::catch_unwind::h9213c0c54aec70e0
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/panic.rs:359:14
[INFO] [stdout]   37:     0x5cbeeee8c77a - std::thread::Builder::spawn_unchecked_::{{closure}}::h6262965869ed2b87
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/thread/mod.rs:557:30
[INFO] [stdout]   38:     0x5cbeeee8c77a - core::ops::function::FnOnce::call_once{{vtable.shim}}::h05c05ed02619e462
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   39:     0x5cbeeef1bf9f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h2044e71c41d3958a
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/alloc/src/boxed.rs:1985:9
[INFO] [stdout]   40:     0x5cbeeef1bf9f - std::sys::thread::unix::Thread::new::thread_start::hf277835320aa8e5a
[INFO] [stdout]                                at /rustc/bb624dcb4c8ab987e10c0808d92d76f3b84dd117/library/std/src/sys/thread/unix.rs:126:17
[INFO] [stdout]   41:     0x738cf4167aa4 - <unknown>
[INFO] [stdout]   42:     0x738cf41f4a34 - clone
[INFO] [stdout]   43:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     bytecode::tests::test_read_simple
[INFO] [stdout]     bytecode::tests::test_read_test
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 5 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "ce1550e66e40a0767b53aad9fd53a4b61bd05d4b4c455ea38e23c613b72ca7cb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ce1550e66e40a0767b53aad9fd53a4b61bd05d4b4c455ea38e23c613b72ca7cb", kill_on_drop: false }`
[INFO] [stdout] ce1550e66e40a0767b53aad9fd53a4b61bd05d4b4c455ea38e23c613b72ca7cb
