[INFO] cloning repository https://github.com/Birbe/jvm [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Birbe/jvm" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBirbe%2Fjvm", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBirbe%2Fjvm'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5152fa65242ff45bc6e3d7c6d4accf3d2ce3bb10 [INFO] checking Birbe/jvm against try#b2c2190fa7bf856bb0ed5e8806266e3a2135c6f8 for pr-78363 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBirbe%2Fjvm" "/workspace/builds/worker-0/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Birbe/jvm on toolchain b2c2190fa7bf856bb0ed5e8806266e3a2135c6f8 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+b2c2190fa7bf856bb0ed5e8806266e3a2135c6f8" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Birbe/jvm [INFO] finished tweaking git repo https://github.com/Birbe/jvm [INFO] tweaked toml for git repo https://github.com/Birbe/jvm written to /workspace/builds/worker-0/source/Cargo.toml [INFO] crate git repo https://github.com/Birbe/jvm already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+b2c2190fa7bf856bb0ed5e8806266e3a2135c6f8" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+b2c2190fa7bf856bb0ed5e8806266e3a2135c6f8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] f3e0f6f0da4ccb885dfafc884b9c809f761d93782e7248d4647ce2e17db23dc2 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "f3e0f6f0da4ccb885dfafc884b9c809f761d93782e7248d4647ce2e17db23dc2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "f3e0f6f0da4ccb885dfafc884b9c809f761d93782e7248d4647ce2e17db23dc2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f3e0f6f0da4ccb885dfafc884b9c809f761d93782e7248d4647ce2e17db23dc2", kill_on_drop: false }` [INFO] [stdout] f3e0f6f0da4ccb885dfafc884b9c809f761d93782e7248d4647ce2e17db23dc2 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+b2c2190fa7bf856bb0ed5e8806266e3a2135c6f8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 0508e31c041d167861f6dd62a0d22f78be74f5b1a24930d361dd95039d39e1a3 [INFO] running `Command { std: "docker" "start" "-a" "0508e31c041d167861f6dd62a0d22f78be74f5b1a24930d361dd95039d39e1a3", kill_on_drop: false }` [INFO] [stderr] Checking jvm v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Method` [INFO] [stdout] --> src/vm/vm.rs:1:48 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::vm::class::{Class, FieldDescriptor, Method, MethodDescriptor, AccessFlags}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Ref` [INFO] [stdout] --> src/vm/vm.rs:10:34 [INFO] [stdout] | [INFO] [stdout] 10 | use std::cell::{RefCell, RefMut, Ref}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem::size_of_val` [INFO] [stdout] --> src/vm/vm.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use std::mem::size_of_val; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/vm/vm.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::hint::unreachable_unchecked` [INFO] [stdout] --> src/vm/vm.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use std::hint::unreachable_unchecked; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/vm/vm.rs:248:18 [INFO] [stdout] | [INFO] [stdout] 248 | ) as (*mut T); [INFO] [stdout] | ^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/vm/vm.rs:260:18 [INFO] [stdout] | [INFO] [stdout] 260 | ) as (*mut T); [INFO] [stdout] | ^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vm/vm.rs:572:13 [INFO] [stdout] | [INFO] [stdout] 572 | ///ldc [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 573 | / 0x12 => { //ldc (load constant) [INFO] [stdout] 574 | | let index = frame.code.read_u8().unwrap(); [INFO] [stdout] 575 | | let constant = frame.class.constant_pool.get(index as usize).unwrap(); [INFO] [stdout] 576 | | [INFO] [stdout] ... | [INFO] [stdout] 603 | | } [INFO] [stdout] 604 | | } [INFO] [stdout] | |_____________- rustdoc does not generate documentation for match arms [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vm/vm.rs:618:13 [INFO] [stdout] | [INFO] [stdout] 618 | ///lload_ ; Load long from local variables [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 619 | / 0x1e..=0x21 => { [INFO] [stdout] 620 | | if let Type::LongHalf(lhalf1) = frame.local_vars.get(&((opcode-0x1e) as u16)).unwrap() { // = 0..3 [INFO] [stdout] 621 | | if let Type::LongHalf(lhalf2) = frame.local_vars.get(&((opcode-0x1e) as u16 + 1)).unwrap() { // = 0..3 [INFO] [stdout] 622 | | frame.op_stack.push(Operand(OperandType::LongHalf, *lhalf1 as usize)); [INFO] [stdout] ... | [INFO] [stdout] 625 | | } else { panic!("lload_n command did not resolve to a long!") } [INFO] [stdout] 626 | | }, [INFO] [stdout] | |_____________- rustdoc does not generate documentation for match arms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vm/vm.rs:627:13 [INFO] [stdout] | [INFO] [stdout] 627 | ///fload_ ; Load float from local variables [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 628 | / 0x22..=0x25 => { [INFO] [stdout] 629 | | if let Type::Float(float) = frame.local_vars.get(&((opcode-0x22) as u16)).unwrap() { // = 0..3 [INFO] [stdout] 630 | | frame.op_stack.push(Operand(OperandType::Float, *float as usize)); [INFO] [stdout] 631 | | } else { panic!("fload_n command did not resolve to an float!") } [INFO] [stdout] 632 | | }, [INFO] [stdout] | |_____________- rustdoc does not generate documentation for match arms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vm/vm.rs:633:13 [INFO] [stdout] | [INFO] [stdout] 633 | ///dload_ ; Load double from local variables [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 634 | / 0x26..=0x29 => { [INFO] [stdout] 635 | | if let Type::DoubleHalf(dhalf1) = frame.local_vars.get(&((opcode-0x26) as u16)).unwrap() { // = 0..3 [INFO] [stdout] 636 | | if let Type::DoubleHalf(dhalf2) = frame.local_vars.get(&((opcode-0x1e) as u16 + 1)).unwrap() { // = 0..3 [INFO] [stdout] 637 | | frame.op_stack.push(Operand(OperandType::DoubleHalf, *dhalf1 as usize)); [INFO] [stdout] ... | [INFO] [stdout] 640 | | } else { panic!("dload_n command did not resolve to a double!") } [INFO] [stdout] 641 | | }, [INFO] [stdout] | |_____________- rustdoc does not generate documentation for match arms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vm/vm.rs:642:13 [INFO] [stdout] | [INFO] [stdout] 642 | ///aload_ ; Load reference [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 643 | / 0x2a..=0x2d => { [INFO] [stdout] 644 | | let index = opcode-0x2a; [INFO] [stdout] 645 | | [INFO] [stdout] 646 | | let var = frame.local_vars.get(&(index as u16)).unwrap(); [INFO] [stdout] ... | [INFO] [stdout] 657 | | } else { panic!("aload_ local variable did not resolve to a reference!") }; [INFO] [stdout] 658 | | }, [INFO] [stdout] | |_____________- rustdoc does not generate documentation for match arms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vm/vm.rs:709:13 [INFO] [stdout] | [INFO] [stdout] 709 | ///istore_ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 710 | / 0x3b..=0x3e => { [INFO] [stdout] 711 | | let index = (opcode - 0x3b) as u16; [INFO] [stdout] 712 | | let value = frame.op_stack.pop().unwrap().1 as i32; [INFO] [stdout] 713 | | frame.local_vars.insert(index, Type::Int(value)); [INFO] [stdout] 714 | | }, [INFO] [stdout] | |_____________- rustdoc does not generate documentation for match arms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vm/vm.rs:715:13 [INFO] [stdout] | [INFO] [stdout] 715 | ///astore_ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 716 | / 0x4b..=0x4e => { [INFO] [stdout] 717 | | let index = opcode-0x4b; [INFO] [stdout] 718 | | [INFO] [stdout] 719 | | let object_ref = frame.op_stack.pop().unwrap(); [INFO] [stdout] 720 | | [INFO] [stdout] 721 | | frame.local_vars.insert(index as u16, Operand::as_type(object_ref)); [INFO] [stdout] 722 | | }, [INFO] [stdout] | |_____________- rustdoc does not generate documentation for match arms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vm/vm.rs:723:13 [INFO] [stdout] | [INFO] [stdout] 723 | ///dup [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 724 | / 0x59 => { [INFO] [stdout] 725 | | let op = frame.op_stack.pop().unwrap(); [INFO] [stdout] 726 | | frame.op_stack.push(op.clone()); [INFO] [stdout] 727 | | frame.op_stack.push(op); [INFO] [stdout] 728 | | } [INFO] [stdout] | |_____________- rustdoc does not generate documentation for match arms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vm/vm.rs:789:13 [INFO] [stdout] | [INFO] [stdout] 789 | ///getfield [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 790 | / 0xb4 => { [INFO] [stdout] 791 | | //TODO: type checking, exceptions [INFO] [stdout] 792 | | [INFO] [stdout] 793 | | let index = frame.code.read_u16::().unwrap(); [INFO] [stdout] ... | [INFO] [stdout] 813 | | frame.op_stack.push(operand); [INFO] [stdout] 814 | | }, [INFO] [stdout] | |_____________- rustdoc does not generate documentation for match arms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vm/vm.rs:901:13 [INFO] [stdout] | [INFO] [stdout] 901 | / ///new [INFO] [stdout] 902 | | ///breakpoint [INFO] [stdout] | |_________________________^ [INFO] [stdout] 903 | / 0xbb => { [INFO] [stdout] 904 | | let index = frame.code.read_u16::().unwrap(); [INFO] [stdout] 905 | | let classpath = frame.class.constant_pool.resolve_class_info(index as usize); [INFO] [stdout] 906 | | let (loaded, class) = vm.load_and_link_class(classpath); [INFO] [stdout] ... | [INFO] [stdout] 936 | | pending_frames = Option::Some(frames); [INFO] [stdout] 937 | | }, [INFO] [stdout] | |_____________- rustdoc does not generate documentation for match arms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::vm::vm::OperandType` [INFO] [stdout] --> src/vm/class.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::vm::vm::OperandType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Method` [INFO] [stdout] --> src/vm/vm.rs:1:48 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::vm::class::{Class, FieldDescriptor, Method, MethodDescriptor, AccessFlags}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Ref` [INFO] [stdout] --> src/vm/vm.rs:10:34 [INFO] [stdout] | [INFO] [stdout] 10 | use std::cell::{RefCell, RefMut, Ref}; [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem::size_of_val` [INFO] [stdout] --> src/vm/vm.rs:17:5 [INFO] [stdout] | [INFO] [stdout] 17 | use std::mem::size_of_val; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/vm/vm.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::hint::unreachable_unchecked` [INFO] [stdout] --> src/vm/vm.rs:20:5 [INFO] [stdout] | [INFO] [stdout] 20 | use std::hint::unreachable_unchecked; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/vm/vm.rs:248:18 [INFO] [stdout] | [INFO] [stdout] 248 | ) as (*mut T); [INFO] [stdout] | ^^^^^^^^ help: remove these parentheses [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_parens)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary parentheses around type [INFO] [stdout] --> src/vm/vm.rs:260:18 [INFO] [stdout] | [INFO] [stdout] 260 | ) as (*mut T); [INFO] [stdout] | ^^^^^^^^ help: remove these parentheses [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vm/vm.rs:572:13 [INFO] [stdout] | [INFO] [stdout] 572 | ///ldc [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 573 | / 0x12 => { //ldc (load constant) [INFO] [stdout] 574 | | let index = frame.code.read_u8().unwrap(); [INFO] [stdout] 575 | | let constant = frame.class.constant_pool.get(index as usize).unwrap(); [INFO] [stdout] 576 | | [INFO] [stdout] ... | [INFO] [stdout] 603 | | } [INFO] [stdout] 604 | | } [INFO] [stdout] | |_____________- rustdoc does not generate documentation for match arms [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vm/vm.rs:618:13 [INFO] [stdout] | [INFO] [stdout] 618 | ///lload_ ; Load long from local variables [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 619 | / 0x1e..=0x21 => { [INFO] [stdout] 620 | | if let Type::LongHalf(lhalf1) = frame.local_vars.get(&((opcode-0x1e) as u16)).unwrap() { // = 0..3 [INFO] [stdout] 621 | | if let Type::LongHalf(lhalf2) = frame.local_vars.get(&((opcode-0x1e) as u16 + 1)).unwrap() { // = 0..3 [INFO] [stdout] 622 | | frame.op_stack.push(Operand(OperandType::LongHalf, *lhalf1 as usize)); [INFO] [stdout] ... | [INFO] [stdout] 625 | | } else { panic!("lload_n command did not resolve to a long!") } [INFO] [stdout] 626 | | }, [INFO] [stdout] | |_____________- rustdoc does not generate documentation for match arms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vm/vm.rs:627:13 [INFO] [stdout] | [INFO] [stdout] 627 | ///fload_ ; Load float from local variables [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 628 | / 0x22..=0x25 => { [INFO] [stdout] 629 | | if let Type::Float(float) = frame.local_vars.get(&((opcode-0x22) as u16)).unwrap() { // = 0..3 [INFO] [stdout] 630 | | frame.op_stack.push(Operand(OperandType::Float, *float as usize)); [INFO] [stdout] 631 | | } else { panic!("fload_n command did not resolve to an float!") } [INFO] [stdout] 632 | | }, [INFO] [stdout] | |_____________- rustdoc does not generate documentation for match arms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vm/vm.rs:633:13 [INFO] [stdout] | [INFO] [stdout] 633 | ///dload_ ; Load double from local variables [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 634 | / 0x26..=0x29 => { [INFO] [stdout] 635 | | if let Type::DoubleHalf(dhalf1) = frame.local_vars.get(&((opcode-0x26) as u16)).unwrap() { // = 0..3 [INFO] [stdout] 636 | | if let Type::DoubleHalf(dhalf2) = frame.local_vars.get(&((opcode-0x1e) as u16 + 1)).unwrap() { // = 0..3 [INFO] [stdout] 637 | | frame.op_stack.push(Operand(OperandType::DoubleHalf, *dhalf1 as usize)); [INFO] [stdout] ... | [INFO] [stdout] 640 | | } else { panic!("dload_n command did not resolve to a double!") } [INFO] [stdout] 641 | | }, [INFO] [stdout] | |_____________- rustdoc does not generate documentation for match arms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vm/vm.rs:642:13 [INFO] [stdout] | [INFO] [stdout] 642 | ///aload_ ; Load reference [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 643 | / 0x2a..=0x2d => { [INFO] [stdout] 644 | | let index = opcode-0x2a; [INFO] [stdout] 645 | | [INFO] [stdout] 646 | | let var = frame.local_vars.get(&(index as u16)).unwrap(); [INFO] [stdout] ... | [INFO] [stdout] 657 | | } else { panic!("aload_ local variable did not resolve to a reference!") }; [INFO] [stdout] 658 | | }, [INFO] [stdout] | |_____________- rustdoc does not generate documentation for match arms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vm/vm.rs:709:13 [INFO] [stdout] | [INFO] [stdout] 709 | ///istore_ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 710 | / 0x3b..=0x3e => { [INFO] [stdout] 711 | | let index = (opcode - 0x3b) as u16; [INFO] [stdout] 712 | | let value = frame.op_stack.pop().unwrap().1 as i32; [INFO] [stdout] 713 | | frame.local_vars.insert(index, Type::Int(value)); [INFO] [stdout] 714 | | }, [INFO] [stdout] | |_____________- rustdoc does not generate documentation for match arms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vm/vm.rs:715:13 [INFO] [stdout] | [INFO] [stdout] 715 | ///astore_ [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 716 | / 0x4b..=0x4e => { [INFO] [stdout] 717 | | let index = opcode-0x4b; [INFO] [stdout] 718 | | [INFO] [stdout] 719 | | let object_ref = frame.op_stack.pop().unwrap(); [INFO] [stdout] 720 | | [INFO] [stdout] 721 | | frame.local_vars.insert(index as u16, Operand::as_type(object_ref)); [INFO] [stdout] 722 | | }, [INFO] [stdout] | |_____________- rustdoc does not generate documentation for match arms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vm/vm.rs:723:13 [INFO] [stdout] | [INFO] [stdout] 723 | ///dup [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 724 | / 0x59 => { [INFO] [stdout] 725 | | let op = frame.op_stack.pop().unwrap(); [INFO] [stdout] 726 | | frame.op_stack.push(op.clone()); [INFO] [stdout] 727 | | frame.op_stack.push(op); [INFO] [stdout] 728 | | } [INFO] [stdout] | |_____________- rustdoc does not generate documentation for match arms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vm/vm.rs:789:13 [INFO] [stdout] | [INFO] [stdout] 789 | ///getfield [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 790 | / 0xb4 => { [INFO] [stdout] 791 | | //TODO: type checking, exceptions [INFO] [stdout] 792 | | [INFO] [stdout] 793 | | let index = frame.code.read_u16::().unwrap(); [INFO] [stdout] ... | [INFO] [stdout] 813 | | frame.op_stack.push(operand); [INFO] [stdout] 814 | | }, [INFO] [stdout] | |_____________- rustdoc does not generate documentation for match arms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/vm/vm.rs:901:13 [INFO] [stdout] | [INFO] [stdout] 901 | / ///new [INFO] [stdout] 902 | | ///breakpoint [INFO] [stdout] | |_________________________^ [INFO] [stdout] 903 | / 0xbb => { [INFO] [stdout] 904 | | let index = frame.code.read_u16::().unwrap(); [INFO] [stdout] 905 | | let classpath = frame.class.constant_pool.resolve_class_info(index as usize); [INFO] [stdout] 906 | | let (loaded, class) = vm.load_and_link_class(classpath); [INFO] [stdout] ... | [INFO] [stdout] 936 | | pending_frames = Option::Some(frames); [INFO] [stdout] 937 | | }, [INFO] [stdout] | |_____________- rustdoc does not generate documentation for match arms [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::vm::vm::OperandType` [INFO] [stdout] --> src/vm/class.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::vm::vm::OperandType; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `str_class` [INFO] [stdout] --> src/vm/vm.rs:581:33 [INFO] [stdout] | [INFO] [stdout] 581 | let (_, str_class) = vm.load_and_link_class("java/lang/String"); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_str_class` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `object_type` [INFO] [stdout] --> src/vm/vm.rs:807:49 [INFO] [stdout] | [INFO] [stdout] 807 | FieldDescriptor::ObjectType(object_type) => { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_object_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `method_ref` [INFO] [stdout] --> src/vm/vm.rs:831:21 [INFO] [stdout] | [INFO] [stdout] 831 | let method_ref = frame.class.constant_pool.resolve_ref_info(index as usize); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_ref` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `minor` [INFO] [stdout] --> src/vm/linker/loader.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | let minor = rdr.read_u16::().unwrap(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_minor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `base_type` [INFO] [stdout] --> src/lib.rs:19:46 [INFO] [stdout] | [INFO] [stdout] 19 | if let FieldDescriptor::BaseType(base_type) = f { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_base_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/vm/vm.rs:307:18 [INFO] [stdout] | [INFO] [stdout] 307 | let (mut arr_header, mut arr_body) = VirtualMachine::get_array::(header as *mut u8); [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: variable does not need to be mutable [INFO] [stdout] --> src/vm/vm.rs:307:34 [INFO] [stdout] | [INFO] [stdout] 307 | let (mut arr_header, mut arr_body) = VirtualMachine::get_array::(header as *mut u8); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `str_class` [INFO] [stdout] --> src/vm/vm.rs:581:33 [INFO] [stdout] | [INFO] [stdout] 581 | let (_, str_class) = vm.load_and_link_class("java/lang/String"); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_str_class` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `object_type` [INFO] [stdout] --> src/vm/vm.rs:807:49 [INFO] [stdout] | [INFO] [stdout] 807 | FieldDescriptor::ObjectType(object_type) => { [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_object_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `method_ref` [INFO] [stdout] --> src/vm/vm.rs:831:21 [INFO] [stdout] | [INFO] [stdout] 831 | let method_ref = frame.class.constant_pool.resolve_ref_info(index as usize); [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_ref` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `minor` [INFO] [stdout] --> src/vm/linker/loader.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | let minor = rdr.read_u16::().unwrap(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_minor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/vm/vm.rs:307:18 [INFO] [stdout] | [INFO] [stdout] 307 | let (mut arr_header, mut arr_body) = VirtualMachine::get_array::(header as *mut u8); [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: variable does not need to be mutable [INFO] [stdout] --> src/vm/vm.rs:307:34 [INFO] [stdout] | [INFO] [stdout] 307 | let (mut arr_header, mut arr_body) = VirtualMachine::get_array::(header as *mut u8); [INFO] [stdout] | ----^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/vm/vm.rs:752:29 [INFO] [stdout] | [INFO] [stdout] 752 | 0x9b => val < 0, //iflt [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/vm/vm.rs:753:29 [INFO] [stdout] | [INFO] [stdout] 753 | 0x9c => val >= 0, //iflte [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/vm/vm.rs:755:29 [INFO] [stdout] | [INFO] [stdout] 755 | 0x9e => val >= 0, //ifge [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/vm/vm.rs:752:29 [INFO] [stdout] | [INFO] [stdout] 752 | 0x9b => val < 0, //iflt [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_comparisons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/vm/vm.rs:753:29 [INFO] [stdout] | [INFO] [stdout] 753 | 0x9c => val >= 0, //iflte [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: comparison is useless due to type limits [INFO] [stdout] --> src/vm/vm.rs:755:29 [INFO] [stdout] | [INFO] [stdout] 755 | 0x9e => val >= 0, //ifge [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 28 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 27 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Type` [INFO] [stdout] --> src/main.rs:3:35 [INFO] [stdout] | [INFO] [stdout] 3 | use jvm::vm::vm::{VirtualMachine, Type}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Borrow` [INFO] [stdout] --> src/main.rs:7:30 [INFO] [stdout] | [INFO] [stdout] 7 | use std::borrow::{BorrowMut, Borrow}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/main.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::exit` [INFO] [stdout] --> src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::process::exit; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `jvm::vm::class::MethodDescriptor` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use jvm::vm::class::MethodDescriptor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Type` [INFO] [stdout] --> src/main.rs:3:35 [INFO] [stdout] | [INFO] [stdout] 3 | use jvm::vm::vm::{VirtualMachine, Type}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Borrow` [INFO] [stdout] --> src/main.rs:7:30 [INFO] [stdout] | [INFO] [stdout] 7 | use std::borrow::{BorrowMut, Borrow}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/main.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/main.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::process::exit` [INFO] [stdout] --> src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use std::process::exit; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `jvm::vm::class::MethodDescriptor` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use jvm::vm::class::MethodDescriptor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BorrowMut` [INFO] [stdout] --> src/main.rs:7:19 [INFO] [stdout] | [INFO] [stdout] 7 | use std::borrow::{BorrowMut, Borrow}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BorrowMut` [INFO] [stdout] --> src/main.rs:7:19 [INFO] [stdout] | [INFO] [stdout] 7 | use std::borrow::{BorrowMut, Borrow}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 8 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1.10s [INFO] running `Command { std: "docker" "inspect" "0508e31c041d167861f6dd62a0d22f78be74f5b1a24930d361dd95039d39e1a3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0508e31c041d167861f6dd62a0d22f78be74f5b1a24930d361dd95039d39e1a3", kill_on_drop: false }` [INFO] [stdout] 0508e31c041d167861f6dd62a0d22f78be74f5b1a24930d361dd95039d39e1a3