[INFO] cloning repository https://github.com/themasch/rust-jvm [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/themasch/rust-jvm" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fthemasch%2Frust-jvm", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fthemasch%2Frust-jvm'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 2d7418c568670d8bcc52ef7e64cc0704f9c34eb1 [INFO] checking themasch/rust-jvm against master#c3def263a44e07e09ae6d57abfc8650227fb4972 for pr-118833 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fthemasch%2Frust-jvm" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/themasch/rust-jvm on toolchain c3def263a44e07e09ae6d57abfc8650227fb4972 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c3def263a44e07e09ae6d57abfc8650227fb4972" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/themasch/rust-jvm [INFO] finished tweaking git repo https://github.com/themasch/rust-jvm [INFO] tweaked toml for git repo https://github.com/themasch/rust-jvm written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/themasch/rust-jvm 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" "+c3def263a44e07e09ae6d57abfc8650227fb4972" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [ERROR] this task or one of its parent failed! [ERROR] no output for 300 seconds [ERROR] note: run with `RUST_BACKTRACE=1` to display a backtrace. [INFO] checking themasch/rust-jvm against try#29596578cb5035fa2b7ac7fbdfea23fab38836e7 for pr-118833 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fthemasch%2Frust-jvm" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/themasch/rust-jvm on toolchain 29596578cb5035fa2b7ac7fbdfea23fab38836e7 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+29596578cb5035fa2b7ac7fbdfea23fab38836e7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/themasch/rust-jvm [INFO] finished tweaking git repo https://github.com/themasch/rust-jvm [INFO] tweaked toml for git repo https://github.com/themasch/rust-jvm written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/themasch/rust-jvm 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" "+29596578cb5035fa2b7ac7fbdfea23fab38836e7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [INFO] checking themasch/rust-jvm against try#29596578cb5035fa2b7ac7fbdfea23fab38836e7 for pr-118833 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fthemasch%2Frust-jvm" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/themasch/rust-jvm on toolchain 29596578cb5035fa2b7ac7fbdfea23fab38836e7 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+29596578cb5035fa2b7ac7fbdfea23fab38836e7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/themasch/rust-jvm [INFO] finished tweaking git repo https://github.com/themasch/rust-jvm [INFO] tweaked toml for git repo https://github.com/themasch/rust-jvm written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/themasch/rust-jvm 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" "+29596578cb5035fa2b7ac7fbdfea23fab38836e7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+29596578cb5035fa2b7ac7fbdfea23fab38836e7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] aae801df5b1008a01b9b08047e999ba04d2c63e286a4451e8dc7caeb342c0b0d [INFO] running `Command { std: "docker" "start" "-a" "aae801df5b1008a01b9b08047e999ba04d2c63e286a4451e8dc7caeb342c0b0d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "aae801df5b1008a01b9b08047e999ba04d2c63e286a4451e8dc7caeb342c0b0d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "aae801df5b1008a01b9b08047e999ba04d2c63e286a4451e8dc7caeb342c0b0d", kill_on_drop: false }` [INFO] [stdout] aae801df5b1008a01b9b08047e999ba04d2c63e286a4451e8dc7caeb342c0b0d [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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+29596578cb5035fa2b7ac7fbdfea23fab38836e7" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 17dcd54e309ae31daf8a37b2e13f8f801a9161e3f10d958a9ad5837d59e095ff [INFO] running `Command { std: "docker" "start" "-a" "17dcd54e309ae31daf8a37b2e13f8f801a9161e3f10d958a9ad5837d59e095ff", kill_on_drop: false }` [INFO] [stderr] Checking libc v0.2.40 [INFO] [stderr] Compiling cc v1.0.18 [INFO] [stderr] Compiling unicode-xid v0.0.4 [INFO] [stderr] Compiling quote v0.3.15 [INFO] [stderr] Checking cfg-if v0.1.4 [INFO] [stderr] Checking rustc-demangle v0.1.9 [INFO] [stderr] Compiling synom v0.11.3 [INFO] [stderr] Compiling syn v0.11.11 [INFO] [stderr] Checking memchr v2.0.1 [INFO] [stderr] Checking nom v4.0.0 [INFO] [stderr] Compiling backtrace-sys v0.1.23 [INFO] [stderr] Compiling synstructure v0.6.1 [INFO] [stderr] Compiling failure_derive v0.1.1 [INFO] [stderr] Checking backtrace v0.3.9 [INFO] [stderr] Checking failure v0.1.1 [INFO] [stderr] Checking rjvm v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `nom::IResult` [INFO] [stdout] --> src/java/class_file/mod.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 112 | use nom::IResult; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::slice::Iter` [INFO] [stdout] --> src/java/class_file/mod.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | use std::slice::Iter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/java/instructions.rs:18:25 [INFO] [stdout] | [INFO] [stdout] 18 | $name ( ( $($t),* ) ) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | / instruction!( [INFO] [stdout] 70 | | 0x00 => (1): [ () ] => NOOP(), [INFO] [stdout] 71 | | 0x01 => (1): [ () ] => AConstNull(), [INFO] [stdout] 72 | | 0x02 => (1): [ () ] => IConstm1(), [INFO] [stdout] ... | [INFO] [stdout] 274 | | 0xff => (1): [ () ] => ImpDep2() [INFO] [stdout] 275 | | ); [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] = note: this warning originates in the macro `instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/main.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `java::class_file::Attribute` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use java::class_file::Attribute; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `java::class_file::CodeBlock` [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use java::class_file::CodeBlock; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::*` [INFO] [stdout] --> src/java/class_file/parser.rs:326:9 [INFO] [stdout] | [INFO] [stdout] 326 | use nom::*; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `nom::IResult` [INFO] [stdout] --> src/java/class_file/mod.rs:112:5 [INFO] [stdout] | [INFO] [stdout] 112 | use nom::IResult; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::slice::Iter` [INFO] [stdout] --> src/java/class_file/mod.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | use std::slice::Iter; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/java/instructions.rs:18:25 [INFO] [stdout] | [INFO] [stdout] 18 | $name ( ( $($t),* ) ) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | / instruction!( [INFO] [stdout] 70 | | 0x00 => (1): [ () ] => NOOP(), [INFO] [stdout] 71 | | 0x01 => (1): [ () ] => AConstNull(), [INFO] [stdout] 72 | | 0x02 => (1): [ () ] => IConstm1(), [INFO] [stdout] ... | [INFO] [stdout] 274 | | 0xff => (1): [ () ] => ImpDep2() [INFO] [stdout] 275 | | ); [INFO] [stdout] | |_- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] = note: this warning originates in the macro `instruction` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `java::class_file::ClassFile` [INFO] [stdout] --> src/java/runtime/mod.rs:456:9 [INFO] [stdout] | [INFO] [stdout] 456 | use java::class_file::ClassFile; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `java::class_file::Method` [INFO] [stdout] --> src/java/runtime/mod.rs:457:9 [INFO] [stdout] | [INFO] [stdout] 457 | use java::class_file::Method; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/main.rs:3:1 [INFO] [stdout] | [INFO] [stdout] 3 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `java::class_file::Attribute` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use java::class_file::Attribute; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `java::class_file::CodeBlock` [INFO] [stdout] --> src/main.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use java::class_file::CodeBlock; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable call [INFO] [stdout] --> src/java/class_file/parser.rs:38:7 [INFO] [stdout] | [INFO] [stdout] 26 | / loop { [INFO] [stdout] 27 | | if input[0] == b')' { [INFO] [stdout] 28 | | return Ok((&input[1..], vec)); [INFO] [stdout] 29 | | } [INFO] [stdout] ... | [INFO] [stdout] 37 | | } [INFO] [stdout] 38 | | }.clone() [INFO] [stdout] | | - ^^^^^ unreachable call [INFO] [stdout] | |_____| [INFO] [stdout] | any code following this expression is unreachable [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable call [INFO] [stdout] --> src/java/class_file/parser.rs:38:7 [INFO] [stdout] | [INFO] [stdout] 26 | / loop { [INFO] [stdout] 27 | | if input[0] == b')' { [INFO] [stdout] 28 | | return Ok((&input[1..], vec)); [INFO] [stdout] 29 | | } [INFO] [stdout] ... | [INFO] [stdout] 37 | | } [INFO] [stdout] 38 | | }.clone() [INFO] [stdout] | | - ^^^^^ unreachable call [INFO] [stdout] | |_____| [INFO] [stdout] | any code following this expression is unreachable [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `length` [INFO] [stdout] --> src/java/class_file/parser.rs:150:9 [INFO] [stdout] | [INFO] [stdout] 150 | length: be_u32 >> [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: `length` is captured in macro and introduced a unused variable [INFO] [stdout] --> src/java/class_file/parser.rs:147:1 [INFO] [stdout] | [INFO] [stdout] 147 | / named!( [INFO] [stdout] 148 | | line_number_table, [INFO] [stdout] 149 | | do_parse!( [INFO] [stdout] 150 | | length: be_u32 >> [INFO] [stdout] ... | [INFO] [stdout] 162 | | ) [INFO] [stdout] 163 | | ); [INFO] [stdout] | |_^ [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `exception_table` [INFO] [stdout] --> src/java/class_file/parser.rs:181:21 [INFO] [stdout] | [INFO] [stdout] 181 | exception_table: length_count!( be_u16, exception_table ) >> [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: `exception_table` is captured in macro and introduced a unused variable [INFO] [stdout] --> src/java/class_file/parser.rs:176:19 [INFO] [stdout] | [INFO] [stdout] 176 | match do_parse!( input, [INFO] [stdout] | ___________________^ [INFO] [stdout] 177 | | be_u32 >> [INFO] [stdout] 178 | | max_stack: be_u16 >> [INFO] [stdout] 179 | | max_locals: be_u16 >> [INFO] [stdout] ... | [INFO] [stdout] 185 | | ) [INFO] [stdout] 186 | | ) { [INFO] [stdout] | |_________________^ [INFO] [stdout] = note: this warning originates in the macro `do_parse` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `length` [INFO] [stdout] --> src/java/class_file/parser.rs:150:9 [INFO] [stdout] | [INFO] [stdout] 150 | length: be_u32 >> [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: `length` is captured in macro and introduced a unused variable [INFO] [stdout] --> src/java/class_file/parser.rs:147:1 [INFO] [stdout] | [INFO] [stdout] 147 | / named!( [INFO] [stdout] 148 | | line_number_table, [INFO] [stdout] 149 | | do_parse!( [INFO] [stdout] 150 | | length: be_u32 >> [INFO] [stdout] ... | [INFO] [stdout] 162 | | ) [INFO] [stdout] 163 | | ); [INFO] [stdout] | |_^ [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] = note: this warning originates in the macro `do_parse` which comes from the expansion of the macro `named` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `exception_table` [INFO] [stdout] --> src/java/class_file/parser.rs:181:21 [INFO] [stdout] | [INFO] [stdout] 181 | exception_table: length_count!( be_u16, exception_table ) >> [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: `exception_table` is captured in macro and introduced a unused variable [INFO] [stdout] --> src/java/class_file/parser.rs:176:19 [INFO] [stdout] | [INFO] [stdout] 176 | match do_parse!( input, [INFO] [stdout] | ___________________^ [INFO] [stdout] 177 | | be_u32 >> [INFO] [stdout] 178 | | max_stack: be_u16 >> [INFO] [stdout] 179 | | max_locals: be_u16 >> [INFO] [stdout] ... | [INFO] [stdout] 185 | | ) [INFO] [stdout] 186 | | ) { [INFO] [stdout] | |_________________^ [INFO] [stdout] = note: this warning originates in the macro `do_parse` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rem` [INFO] [stdout] --> src/java/class_file/mod.rs:121:17 [INFO] [stdout] | [INFO] [stdout] 121 | Ok((rem, (args, ret))) => Ok(MethodDescriptor { arguments: args, return_type: ret }), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rem` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input` [INFO] [stdout] --> src/java/class_file/parser.rs:342:13 [INFO] [stdout] | [INFO] [stdout] 342 | let input = b"()V"; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_input` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `rem` [INFO] [stdout] --> src/java/class_file/mod.rs:121:17 [INFO] [stdout] | [INFO] [stdout] 121 | Ok((rem, (args, ret))) => Ok(MethodDescriptor { arguments: args, return_type: ret }), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_rem` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/java/runtime/mod.rs:65:13 [INFO] [stdout] | [INFO] [stdout] 65 | for i in 0..size { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/java/runtime/mod.rs:290:40 [INFO] [stdout] | [INFO] [stdout] 290 | Instruction::IInc((offset, value)) => match stack_frame.get_variable_mut(usize::from(*offset)) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arg_type` [INFO] [stdout] --> src/java/runtime/mod.rs:347:89 [INFO] [stdout] | [INFO] [stdout] 347 | ... let mut args = method.get_signature().arguments.iter().map(|arg_type| { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arg_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `return_value` [INFO] [stdout] --> src/java/runtime/mod.rs:390:17 [INFO] [stdout] | [INFO] [stdout] 390 | let mut return_value: Option = None; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/java/runtime/mod.rs:390:13 [INFO] [stdout] | [INFO] [stdout] 390 | let mut return_value: Option = None; [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `access_flags`, `name_index`, `descriptor_index`, and `attributes` are never read [INFO] [stdout] --> src/java/class_file/mod.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 70 | pub struct Field<'a> { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 71 | access_flags: u16, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 72 | name_index: u16, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 73 | descriptor_index: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 74 | attributes: Vec>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Field` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/java/class_file/mod.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 86 | pub enum MethodAccess { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] 87 | Public, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 88 | Private, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 89 | Protected, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 90 | Static, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 91 | Final, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 92 | Synchronized, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 93 | Native, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 94 | Abstract, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 95 | Strict, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MethodAccess` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_access` is never used [INFO] [stdout] --> src/java/class_file/mod.rs:215:12 [INFO] [stdout] | [INFO] [stdout] 190 | impl<'a> Method<'a> { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 215 | pub fn get_access(&self) -> HashSet { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `attributes` is never read [INFO] [stdout] --> src/java/class_file/mod.rs:251:5 [INFO] [stdout] | [INFO] [stdout] 247 | pub struct CodeBlock<'a> { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 251 | attributes: Vec>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CodeBlock` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_line_numbers` is never used [INFO] [stdout] --> src/java/class_file/mod.rs:260:12 [INFO] [stdout] | [INFO] [stdout] 254 | impl<'a> CodeBlock<'a> { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 260 | pub fn get_line_numbers(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `disassemble` is never used [INFO] [stdout] --> src/java/class_file/dissasm.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn disassemble<'a>(method: &Method<'a>) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `None` and `Null` are never constructed [INFO] [stdout] --> src/java/runtime/mod.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 43 | enum StackValue { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 44 | None, [INFO] [stdout] | ^^^^ [INFO] [stdout] 45 | Null, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StackValue` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GotoAbsolute` is never constructed [INFO] [stdout] --> src/java/runtime/mod.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 115 | enum InstructionResult { [INFO] [stdout] | ----------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 118 | GotoAbsolute(usize), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `classpath` is never read [INFO] [stdout] --> src/java/runtime/mod.rs:129:5 [INFO] [stdout] | [INFO] [stdout] 127 | pub struct Runtime<'a> { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 128 | classes: HashMap>>, [INFO] [stdout] 129 | classpath: Vec, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type [INFO] [stdout] --> src/java/runtime/mod.rs:164:83 [INFO] [stdout] | [INFO] [stdout] 164 | Some(ConstantType::Utf8 { value }) => Some((class_index, value.clone())), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/java/runtime/mod.rs:423:21 [INFO] [stdout] | [INFO] [stdout] 423 | self.check_return_type(method.get_signature().return_type, &return_value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 423 | let _ = self.check_return_type(method.get_signature().return_type, &return_value); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/java/runtime/mod.rs:65:13 [INFO] [stdout] | [INFO] [stdout] 65 | for i in 0..size { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 26 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/java/runtime/mod.rs:290:40 [INFO] [stdout] | [INFO] [stdout] 290 | Instruction::IInc((offset, value)) => match stack_frame.get_variable_mut(usize::from(*offset)) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `arg_type` [INFO] [stdout] --> src/java/runtime/mod.rs:347:89 [INFO] [stdout] | [INFO] [stdout] 347 | ... let mut args = method.get_signature().arguments.iter().map(|arg_type| { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arg_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `return_value` [INFO] [stdout] --> src/java/runtime/mod.rs:390:17 [INFO] [stdout] | [INFO] [stdout] 390 | let mut return_value: Option = None; [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/java/runtime/mod.rs:390:13 [INFO] [stdout] | [INFO] [stdout] 390 | let mut return_value: Option = None; [INFO] [stdout] | ----^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `StackValue` is more private than the item `runtime::Runtime::<'a>::exec_method_on_main` [INFO] [stdout] --> src/java/runtime/mod.rs:199:5 [INFO] [stdout] | [INFO] [stdout] 199 | pub fn exec_method_on_main(&mut self, method_name: &str) -> Result, RuntimeError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `runtime::Runtime::<'a>::exec_method_on_main` is reachable at visibility `pub(crate)` [INFO] [stdout] | [INFO] [stdout] note: but type `StackValue` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/java/runtime/mod.rs:43:1 [INFO] [stdout] | [INFO] [stdout] 43 | enum StackValue { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `access_flags`, `name_index`, `descriptor_index`, and `attributes` are never read [INFO] [stdout] --> src/java/class_file/mod.rs:71:5 [INFO] [stdout] | [INFO] [stdout] 70 | pub struct Field<'a> { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 71 | access_flags: u16, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 72 | name_index: u16, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 73 | descriptor_index: u16, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 74 | attributes: Vec>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Field` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/java/class_file/mod.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 86 | pub enum MethodAccess { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] 87 | Public, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 88 | Private, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 89 | Protected, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 90 | Static, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 91 | Final, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 92 | Synchronized, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 93 | Native, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 94 | Abstract, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 95 | Strict, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MethodAccess` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_access` is never used [INFO] [stdout] --> src/java/class_file/mod.rs:215:12 [INFO] [stdout] | [INFO] [stdout] 190 | impl<'a> Method<'a> { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 215 | pub fn get_access(&self) -> HashSet { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `attributes` is never read [INFO] [stdout] --> src/java/class_file/mod.rs:251:5 [INFO] [stdout] | [INFO] [stdout] 247 | pub struct CodeBlock<'a> { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 251 | attributes: Vec>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CodeBlock` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_line_numbers` is never used [INFO] [stdout] --> src/java/class_file/mod.rs:260:12 [INFO] [stdout] | [INFO] [stdout] 254 | impl<'a> CodeBlock<'a> { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 260 | pub fn get_line_numbers(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DEMOCLASS` is never used [INFO] [stdout] --> src/java/class_file/parser.rs:287:11 [INFO] [stdout] | [INFO] [stdout] 287 | const DEMOCLASS: &'static [u8] = include_bytes!("../../../sample/DemoClass.class"); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `disassemble` is never used [INFO] [stdout] --> src/java/class_file/dissasm.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 4 | pub fn disassemble<'a>(method: &Method<'a>) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `None` and `Null` are never constructed [INFO] [stdout] --> src/java/runtime/mod.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 43 | enum StackValue { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 44 | None, [INFO] [stdout] | ^^^^ [INFO] [stdout] 45 | Null, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StackValue` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `GotoAbsolute` is never constructed [INFO] [stdout] --> src/java/runtime/mod.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 115 | enum InstructionResult { [INFO] [stdout] | ----------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 118 | GotoAbsolute(usize), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `classpath` is never read [INFO] [stdout] --> src/java/runtime/mod.rs:129:5 [INFO] [stdout] | [INFO] [stdout] 127 | pub struct Runtime<'a> { [INFO] [stdout] | ------- field in this struct [INFO] [stdout] 128 | classes: HashMap>>, [INFO] [stdout] 129 | classpath: Vec, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: using `.clone()` on a double reference, which returns `&str` instead of cloning the inner type [INFO] [stdout] --> src/java/runtime/mod.rs:164:83 [INFO] [stdout] | [INFO] [stdout] 164 | Some(ConstantType::Utf8 { value }) => Some((class_index, value.clone())), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(suspicious_double_ref_op)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/java/runtime/mod.rs:423:21 [INFO] [stdout] | [INFO] [stdout] 423 | self.check_return_type(method.get_signature().return_type, &return_value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 423 | let _ = self.check_return_type(method.get_signature().return_type, &return_value); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 32 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2.55s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nom v4.0.0 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1` [INFO] running `Command { std: "docker" "inspect" "17dcd54e309ae31daf8a37b2e13f8f801a9161e3f10d958a9ad5837d59e095ff", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "17dcd54e309ae31daf8a37b2e13f8f801a9161e3f10d958a9ad5837d59e095ff", kill_on_drop: false }` [INFO] [stdout] 17dcd54e309ae31daf8a37b2e13f8f801a9161e3f10d958a9ad5837d59e095ff