[INFO] cloning repository https://github.com/iximeow/zvm [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/iximeow/zvm" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fiximeow%2Fzvm", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fiximeow%2Fzvm'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 2b2175d771afb478f30b176118d6680b1c695eb8 [INFO] checking iximeow/zvm against master#c43786c9b7b8d8dcc3f9c604e0e3074c16ed69d3 for pr-141352 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fiximeow%2Fzvm" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/iximeow/zvm on toolchain c43786c9b7b8d8dcc3f9c604e0e3074c16ed69d3 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c43786c9b7b8d8dcc3f9c604e0e3074c16ed69d3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/iximeow/zvm [INFO] finished tweaking git repo https://github.com/iximeow/zvm [INFO] tweaked toml for git repo https://github.com/iximeow/zvm written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/iximeow/zvm 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" "+c43786c9b7b8d8dcc3f9c604e0e3074c16ed69d3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded yaxpeax-arch v0.2.7 [INFO] [stderr] Downloaded cranelift-codegen-shared v0.86.1 [INFO] [stderr] Downloaded cranelift-frontend v0.86.1 [INFO] [stderr] Downloaded cranelift-bforest v0.86.1 [INFO] [stderr] Downloaded cranelift-isle v0.86.1 [INFO] [stderr] Downloaded cranelift-entity v0.86.1 [INFO] [stderr] Downloaded cranelift-codegen-meta v0.86.1 [INFO] [stderr] Downloaded regalloc2 v0.3.1 [INFO] [stderr] Downloaded yaxpeax-x86 v1.1.4 [INFO] [stderr] Downloaded cranelift-codegen v0.86.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+c43786c9b7b8d8dcc3f9c604e0e3074c16ed69d3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e052bb2adff9909aaa1aa4a983e8901b332037bdac8a310b3e7424034c845682 [INFO] running `Command { std: "docker" "start" "-a" "e052bb2adff9909aaa1aa4a983e8901b332037bdac8a310b3e7424034c845682", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e052bb2adff9909aaa1aa4a983e8901b332037bdac8a310b3e7424034c845682", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e052bb2adff9909aaa1aa4a983e8901b332037bdac8a310b3e7424034c845682", kill_on_drop: false }` [INFO] [stdout] e052bb2adff9909aaa1aa4a983e8901b332037bdac8a310b3e7424034c845682 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+c43786c9b7b8d8dcc3f9c604e0e3074c16ed69d3" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d32043b632d5d34c75652dd193330cdbbcd307f78c9c5d10f275c7127fbdfe42 [INFO] running `Command { std: "docker" "start" "-a" "d32043b632d5d34c75652dd193330cdbbcd307f78c9c5d10f275c7127fbdfe42", kill_on_drop: false }` [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling libc v0.2.126 [INFO] [stderr] Compiling log v0.4.17 [INFO] [stderr] Checking smallvec v1.9.0 [INFO] [stderr] Compiling proc-macro2 v1.0.42 [INFO] [stderr] Compiling parking_lot_core v0.8.5 [INFO] [stderr] Compiling quote v1.0.20 [INFO] [stderr] Compiling byteorder v1.3.2 [INFO] [stderr] Compiling cranelift-isle v0.86.1 [INFO] [stderr] Compiling unicode-ident v1.0.2 [INFO] [stderr] Checking scopeguard v1.1.0 [INFO] [stderr] Compiling syn v1.0.98 [INFO] [stderr] Compiling cranelift-codegen-shared v0.86.1 [INFO] [stderr] Compiling serde_derive v1.0.140 [INFO] [stderr] Compiling target-lexicon v0.12.4 [INFO] [stderr] Checking hashbrown v0.12.3 [INFO] [stderr] Compiling cranelift-codegen-meta v0.86.1 [INFO] [stderr] Compiling serde v1.0.140 [INFO] [stderr] Checking instant v0.1.12 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking lazy_static v1.4.0 [INFO] [stderr] Checking slice-group-by v0.3.0 [INFO] [stderr] Checking cranelift-entity v0.86.1 [INFO] [stderr] Compiling yaxpeax-x86 v1.1.4 [INFO] [stderr] Compiling lock_api v0.4.7 [INFO] [stderr] Compiling indexmap v1.9.1 [INFO] [stderr] Compiling num-traits v0.2.15 [INFO] [stderr] Checking cranelift-bforest v0.86.1 [INFO] [stderr] Checking fxhash v0.2.1 [INFO] [stderr] Checking regalloc2 v0.3.1 [INFO] [stderr] Checking gimli v0.26.2 [INFO] [stderr] Checking signal-hook-registry v1.4.0 [INFO] [stderr] Checking mio v0.7.14 [INFO] [stderr] Checking signal-hook v0.1.17 [INFO] [stderr] Checking parking_lot v0.11.2 [INFO] [stderr] Checking crossterm v0.19.0 [INFO] [stderr] Compiling cranelift-codegen v0.86.1 [INFO] [stderr] Checking yaxpeax-arch v0.2.7 [INFO] [stderr] Checking cranelift-frontend v0.86.1 [INFO] [stderr] Checking zvm v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/virtual_machine/jvm/synthetic.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `attribute::Attribute` [INFO] [stdout] --> src/virtual_machine/jvm/synthetic.rs:7:38 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::class_file::unvalidated::{attribute::Attribute, AttributeInfo, MethodAccessFlags, MethodInfo}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ValueRef` [INFO] [stdout] --> src/virtual_machine/jvm/synthetic.rs:9:77 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::virtual_machine::{ClassFile, ClassFileRef, UnvalidatedClassFile, ValueRef}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `NativeObject` [INFO] [stdout] --> src/virtual_machine/jvm/synthetic.rs:10:73 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::virtual_machine::{MethodBody, JvmArray, JvmObject, JvmValue, NativeObject}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::hash_map::Entry` [INFO] [stdout] --> src/virtual_machine.rs:3575:17 [INFO] [stdout] | [INFO] [stdout] 3575 | use std::collections::hash_map::Entry; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/compiler/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SimpleJvmValue` [INFO] [stdout] --> src/compiler/mod.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::{SimpleJvmValue, VirtualMachine, VMState}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/compiler/mod.rs:1113:5 [INFO] [stdout] | [INFO] [stdout] 1113 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/compiler/mod.rs:1151:5 [INFO] [stdout] | [INFO] [stdout] 1151 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/virtual_machine/jvm/synthetic.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `attribute::Attribute` [INFO] [stdout] --> src/virtual_machine/jvm/synthetic.rs:7:38 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::class_file::unvalidated::{attribute::Attribute, AttributeInfo, MethodAccessFlags, MethodInfo}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ValueRef` [INFO] [stdout] --> src/virtual_machine/jvm/synthetic.rs:9:77 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::virtual_machine::{ClassFile, ClassFileRef, UnvalidatedClassFile, ValueRef}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `NativeObject` [INFO] [stdout] --> src/virtual_machine/jvm/synthetic.rs:10:73 [INFO] [stdout] | [INFO] [stdout] 10 | use crate::virtual_machine::{MethodBody, JvmArray, JvmObject, JvmValue, NativeObject}; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::hash_map::Entry` [INFO] [stdout] --> src/virtual_machine.rs:3575:17 [INFO] [stdout] | [INFO] [stdout] 3575 | use std::collections::hash_map::Entry; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/compiler/mod.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SimpleJvmValue` [INFO] [stdout] --> src/compiler/mod.rs:9:13 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::{SimpleJvmValue, VirtualMachine, VMState}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/compiler/mod.rs:1113:5 [INFO] [stdout] | [INFO] [stdout] 1113 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::borrow::Borrow` [INFO] [stdout] --> src/compiler/mod.rs:1151:5 [INFO] [stdout] | [INFO] [stdout] 1151 | use std::borrow::Borrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/virtual_machine/jvm/synthetic.rs:1154:9 [INFO] [stdout] | [INFO] [stdout] 1153 | let data: &[u8] = panic!("get string somehow"); [INFO] [stdout] | ---------------------------- any code following this expression is unreachable [INFO] [stdout] 1154 | / match &data[..] { [INFO] [stdout] 1155 | | b"file.encoding" => { [INFO] [stdout] 1156 | | ValueImpl::string(vm, "UTF-8") [INFO] [stdout] ... | [INFO] [stdout] 1163 | | } [INFO] [stdout] | |_________^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/virtual_machine/jvm/synthetic.rs:1168:5 [INFO] [stdout] | [INFO] [stdout] 1165 | panic!("invalid argument for getProperty {:?}", argument); [INFO] [stdout] | --------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] ... [INFO] [stdout] 1168 | state.current_frame_mut().operand_stack.push(property); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/virtual_machine/jvm/synthetic.rs:1202:9 [INFO] [stdout] | [INFO] [stdout] 1199 | panic!("todo: turn class name array into a real string"); [INFO] [stdout] | -------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] ... [INFO] [stdout] 1202 | / state.current_frame_mut() [INFO] [stdout] 1203 | | .operand_stack [INFO] [stdout] 1204 | | .push(ValueImpl::array_with_data( [INFO] [stdout] 1205 | | vm.resolve_class(class_name_string).expect("TODO: need to fish out the right string from `cls`."), [INFO] [stdout] 1206 | | elems.into_boxed_slice(), [INFO] [stdout] 1207 | | )); [INFO] [stdout] | |_______________^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable call [INFO] [stdout] --> src/virtual_machine.rs:2765:61 [INFO] [stdout] | [INFO] [stdout] 2765 | let layout_id = ZVM.as_ref().unwrap().layouts().get_layout_id(panic!("&class_file.this_name")).expect("TODO: class exists"); [INFO] [stdout] | ^^^^^^^^^^^^^ ------------------------------- any code following this expression is unreachable [INFO] [stdout] | | [INFO] [stdout] | unreachable call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/virtual_machine.rs:2950:9 [INFO] [stdout] | [INFO] [stdout] 2950 | / Self { [INFO] [stdout] 2951 | | cls: class_file, [INFO] [stdout] 2952 | | data: panic!("todo: do something with argument") [INFO] [stdout] | | ------------------------------------------ any code following this expression is unreachable [INFO] [stdout] 2953 | | } [INFO] [stdout] | |_________^ unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/virtual_machine/jvm/synthetic.rs:1154:9 [INFO] [stdout] | [INFO] [stdout] 1153 | let data: &[u8] = panic!("get string somehow"); [INFO] [stdout] | ---------------------------- any code following this expression is unreachable [INFO] [stdout] 1154 | / match &data[..] { [INFO] [stdout] 1155 | | b"file.encoding" => { [INFO] [stdout] 1156 | | ValueImpl::string(vm, "UTF-8") [INFO] [stdout] ... | [INFO] [stdout] 1163 | | } [INFO] [stdout] | |_________^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/virtual_machine/jvm/synthetic.rs:1168:5 [INFO] [stdout] | [INFO] [stdout] 1165 | panic!("invalid argument for getProperty {:?}", argument); [INFO] [stdout] | --------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] ... [INFO] [stdout] 1168 | state.current_frame_mut().operand_stack.push(property); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> src/virtual_machine/jvm/synthetic.rs:1202:9 [INFO] [stdout] | [INFO] [stdout] 1199 | panic!("todo: turn class name array into a real string"); [INFO] [stdout] | -------------------------------------------------------- any code following this expression is unreachable [INFO] [stdout] ... [INFO] [stdout] 1202 | / state.current_frame_mut() [INFO] [stdout] 1203 | | .operand_stack [INFO] [stdout] 1204 | | .push(ValueImpl::array_with_data( [INFO] [stdout] 1205 | | vm.resolve_class(class_name_string).expect("TODO: need to fish out the right string from `cls`."), [INFO] [stdout] 1206 | | elems.into_boxed_slice(), [INFO] [stdout] 1207 | | )); [INFO] [stdout] | |_______________^ unreachable statement [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable call [INFO] [stdout] --> src/virtual_machine.rs:2765:61 [INFO] [stdout] | [INFO] [stdout] 2765 | let layout_id = ZVM.as_ref().unwrap().layouts().get_layout_id(panic!("&class_file.this_name")).expect("TODO: class exists"); [INFO] [stdout] | ^^^^^^^^^^^^^ ------------------------------- any code following this expression is unreachable [INFO] [stdout] | | [INFO] [stdout] | unreachable call [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/virtual_machine.rs:2950:9 [INFO] [stdout] | [INFO] [stdout] 2950 | / Self { [INFO] [stdout] 2951 | | cls: class_file, [INFO] [stdout] 2952 | | data: panic!("todo: do something with argument") [INFO] [stdout] | | ------------------------------------------ any code following this expression is unreachable [INFO] [stdout] 2953 | | } [INFO] [stdout] | |_________^ unreachable expression [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bytecode` [INFO] [stdout] --> src/class_file/unvalidated/class.rs:180:9 [INFO] [stdout] | [INFO] [stdout] 180 | bytecode: Option>, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bytecode` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/class_file/unvalidated/class.rs:183:13 [INFO] [stdout] | [INFO] [stdout] 183 | let mut attributes = Vec::new(); [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/class_file/unvalidated/class.rs:209:9 [INFO] [stdout] | [INFO] [stdout] 209 | mut self, [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/virtual_machine/jvm/synthetic.rs:167:20 [INFO] [stdout] | [INFO] [stdout] 167 | pub fn extends(mut self, name: &str) -> Self { [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/virtual_machine/jvm/synthetic.rs:175:24 [INFO] [stdout] | [INFO] [stdout] 175 | pub fn with_method(mut self, name: &str, sig: &str, native: Option>) -> Self { [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/virtual_machine/jvm/synthetic.rs:178:13 [INFO] [stdout] | [INFO] [stdout] 178 | let mut bytecode_methods = self.bytecode_methods; [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/virtual_machine/jvm/synthetic.rs:224:23 [INFO] [stdout] | [INFO] [stdout] 224 | pub fn with_field(mut self, name: &str, sig: &str) -> Self { [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/virtual_machine/jvm/synthetic.rs:243:13 [INFO] [stdout] | [INFO] [stdout] 243 | let mut cls = ClassFile::validate(&self.cls).unwrap(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `obj` [INFO] [stdout] --> src/virtual_machine/jvm/synthetic.rs:427:24 [INFO] [stdout] | [INFO] [stdout] 427 | } else if let Some(obj) = argument.as_object() { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_obj` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vm` [INFO] [stdout] --> src/virtual_machine/jvm/synthetic.rs:595:71 [INFO] [stdout] | [INFO] [stdout] 595 | fn object_equals(state: &mut VMState, vm: &mut VirtualMachine) -> Result<(), VMError> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `bytecode` [INFO] [stdout] --> src/class_file/unvalidated/class.rs:180:9 [INFO] [stdout] | [INFO] [stdout] 180 | bytecode: Option>, [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bytecode` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/class_file/unvalidated/class.rs:183:13 [INFO] [stdout] | [INFO] [stdout] 183 | let mut attributes = Vec::new(); [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/class_file/unvalidated/class.rs:209:9 [INFO] [stdout] | [INFO] [stdout] 209 | mut self, [INFO] [stdout] | ----^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `property` [INFO] [stdout] --> src/virtual_machine/jvm/synthetic.rs:1152:9 [INFO] [stdout] | [INFO] [stdout] 1152 | let property = if argument.as_type("java/lang/String").is_some() { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/virtual_machine/jvm/synthetic.rs:1153:13 [INFO] [stdout] | [INFO] [stdout] 1153 | let data: &[u8] = panic!("get string somehow"); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vm` [INFO] [stdout] --> src/virtual_machine/jvm/synthetic.rs:1145:77 [INFO] [stdout] | [INFO] [stdout] 1145 | fn system_get_property(state: &mut VMState, vm: &mut VirtualMachine) -> Result<(), VMError> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `class_name_string` [INFO] [stdout] --> src/virtual_machine/jvm/synthetic.rs:1194:13 [INFO] [stdout] | [INFO] [stdout] 1194 | let class_name_string = { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_name_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vm` [INFO] [stdout] --> src/virtual_machine/jvm/synthetic.rs:1172:72 [INFO] [stdout] | [INFO] [stdout] 1172 | fn array_newarray(state: &mut VMState, vm: &mut VirtualMachine) -> Result<(), VMError> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frame` [INFO] [stdout] --> src/virtual_machine.rs:365:13 [INFO] [stdout] | [INFO] [stdout] 365 | let frame = self.current_frame(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `layout_id` [INFO] [stdout] --> src/virtual_machine.rs:2765:17 [INFO] [stdout] | [INFO] [stdout] 2765 | let layout_id = ZVM.as_ref().unwrap().layouts().get_layout_id(panic!("&class_file.this_name")).expect("TODO: class exists"); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_layout_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `classfile_ptr` [INFO] [stdout] --> src/virtual_machine.rs:2770:17 [INFO] [stdout] | [INFO] [stdout] 2770 | let classfile_ptr = Arc::into_raw(class_file); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_classfile_ptr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `class_file` [INFO] [stdout] --> src/virtual_machine.rs:2897:18 [INFO] [stdout] | [INFO] [stdout] 2897 | fn new_array(class_file: Arc, data: Box<[NativeJvmValue]>) -> Self { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/virtual_machine.rs:2897:46 [INFO] [stdout] | [INFO] [stdout] 2897 | fn new_array(class_file: Arc, data: Box<[NativeJvmValue]>) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `idx` [INFO] [stdout] --> src/virtual_machine.rs:2931:24 [INFO] [stdout] | [INFO] [stdout] 2931 | fn get_elem(&self, idx: usize) -> Option<&SimpleJvmValue> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `idx` [INFO] [stdout] --> src/virtual_machine.rs:2934:28 [INFO] [stdout] | [INFO] [stdout] 2934 | fn get_elem_mut(&self, idx: usize) -> Option<&mut SimpleJvmValue> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/virtual_machine.rs:2949:46 [INFO] [stdout] | [INFO] [stdout] 2949 | fn new_array(class_file: Arc, data: Box<[SimpleJvmValue]>) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/virtual_machine.rs:3104:14 [INFO] [stdout] | [INFO] [stdout] 3104 | fn float(v: f32) -> Self { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/virtual_machine.rs:3108:15 [INFO] [stdout] | [INFO] [stdout] 3108 | fn double(v: f64) -> Self { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/virtual_machine.rs:3112:13 [INFO] [stdout] | [INFO] [stdout] 3112 | fn null(s: String) -> Self { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/virtual_machine.rs:3272:13 [INFO] [stdout] | [INFO] [stdout] 3272 | let mut obj = Self::ObjectTy::new_inst(class_file); [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/virtual_machine/jvm/synthetic.rs:167:20 [INFO] [stdout] | [INFO] [stdout] 167 | pub fn extends(mut self, name: &str) -> Self { [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/virtual_machine/jvm/synthetic.rs:175:24 [INFO] [stdout] | [INFO] [stdout] 175 | pub fn with_method(mut self, name: &str, sig: &str, native: Option>) -> Self { [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/virtual_machine/jvm/synthetic.rs:178:13 [INFO] [stdout] | [INFO] [stdout] 178 | let mut bytecode_methods = self.bytecode_methods; [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/virtual_machine/jvm/synthetic.rs:224:23 [INFO] [stdout] | [INFO] [stdout] 224 | pub fn with_field(mut self, name: &str, sig: &str) -> Self { [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/virtual_machine/jvm/synthetic.rs:243:13 [INFO] [stdout] | [INFO] [stdout] 243 | let mut cls = ClassFile::validate(&self.cls).unwrap(); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `obj` [INFO] [stdout] --> src/virtual_machine/jvm/synthetic.rs:427:24 [INFO] [stdout] | [INFO] [stdout] 427 | } else if let Some(obj) = argument.as_object() { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_obj` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vm` [INFO] [stdout] --> src/virtual_machine/jvm/synthetic.rs:595:71 [INFO] [stdout] | [INFO] [stdout] 595 | fn object_equals(state: &mut VMState, vm: &mut VirtualMachine) -> Result<(), VMError> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `property` [INFO] [stdout] --> src/virtual_machine/jvm/synthetic.rs:1152:9 [INFO] [stdout] | [INFO] [stdout] 1152 | let property = if argument.as_type("java/lang/String").is_some() { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_property` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `managed_alloc_name` [INFO] [stdout] --> src/compiler/mod.rs:467:17 [INFO] [stdout] | [INFO] [stdout] 467 | let managed_alloc_name = ExternalName::User { namespace: 0, index: 0 }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_managed_alloc_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `other` [INFO] [stdout] --> src/compiler/mod.rs:567:29 [INFO] [stdout] | [INFO] [stdout] 567 | ... other => { return Err(ir::CompileError::InvalidSignature("managed alloc returned multiple values?")); } [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_other` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/virtual_machine/jvm/synthetic.rs:1153:13 [INFO] [stdout] | [INFO] [stdout] 1153 | let data: &[u8] = panic!("get string somehow"); [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/compiler/mod.rs:571:48 [INFO] [stdout] | [INFO] [stdout] 571 | ir::Instruction::Dealloc { value } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `value: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/compiler/mod.rs:574:59 [INFO] [stdout] | [INFO] [stdout] 574 | ir::Instruction::CallImport { result, name, sig, args } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ret` [INFO] [stdout] --> src/compiler/mod.rs:576:51 [INFO] [stdout] | [INFO] [stdout] 576 | let returns = if let Some(ret) = sig.1 { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ret` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vm` [INFO] [stdout] --> src/virtual_machine/jvm/synthetic.rs:1145:77 [INFO] [stdout] | [INFO] [stdout] 1145 | fn system_get_property(state: &mut VMState, vm: &mut VirtualMachine) -> Result<(), VMError> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `other` [INFO] [stdout] --> src/compiler/mod.rs:616:29 [INFO] [stdout] | [INFO] [stdout] 616 | ... other => { return Err(ir::CompileError::InvalidSignature("call returned multiple values?")); } [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_other` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `class_name_string` [INFO] [stdout] --> src/virtual_machine/jvm/synthetic.rs:1194:13 [INFO] [stdout] | [INFO] [stdout] 1194 | let class_name_string = { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_name_string` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `vm` [INFO] [stdout] --> src/virtual_machine/jvm/synthetic.rs:1172:72 [INFO] [stdout] | [INFO] [stdout] 1172 | fn array_newarray(state: &mut VMState, vm: &mut VirtualMachine) -> Result<(), VMError> { [INFO] [stdout] | ^^ help: if this is intentional, prefix it with an underscore: `_vm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `frame` [INFO] [stdout] --> src/virtual_machine.rs:365:13 [INFO] [stdout] | [INFO] [stdout] 365 | let frame = self.current_frame(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/compiler/mod.rs:1421:10 [INFO] [stdout] | [INFO] [stdout] 1421 | for (i, cls) in extra_classes.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `attributes` is never read [INFO] [stdout] --> src/class_file/unvalidated/field.rs:46:16 [INFO] [stdout] | [INFO] [stdout] 42 | pub struct FieldInfo { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 46 | pub(crate) attributes: Vec, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FieldInfo` 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: field `max_stack` is never read [INFO] [stdout] --> src/class_file/validated/method.rs:25:16 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct MethodBody { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 25 | pub(crate) max_stack: u16, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MethodBody` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `layout_id` is never read [INFO] [stdout] --> src/virtual_machine.rs:2729:5 [INFO] [stdout] | [INFO] [stdout] 2728 | struct ZvmObjectVTable { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 2729 | layout_id: crate::compiler::ir::LayoutId, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `data` is never read [INFO] [stdout] --> src/virtual_machine.rs:2849:5 [INFO] [stdout] | [INFO] [stdout] 2845 | pub struct NativeJvmArrayData { [INFO] [stdout] | ------------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 2849 | data: [NativeJvmValue; 1] [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `cls` and `internal_obj_id` are never used [INFO] [stdout] --> src/virtual_machine.rs:3329:8 [INFO] [stdout] | [INFO] [stdout] 3327 | pub trait JvmArray: fmt::Debug + Sized + PartialEq + Eq + Hash { [INFO] [stdout] | -------- methods in this trait [INFO] [stdout] 3328 | fn new_array(class_file: Arc, data: Box<[ValueTy]>) -> Self; [INFO] [stdout] 3329 | fn cls(&self) -> Arc; [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 3333 | fn internal_obj_id(&self) -> u64; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ValueRef` is never constructed [INFO] [stdout] --> src/virtual_machine.rs:3338:19 [INFO] [stdout] | [INFO] [stdout] 3338 | pub(crate) struct ValueRef(ValueImpl); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `of` is never used [INFO] [stdout] --> src/virtual_machine.rs:3341:12 [INFO] [stdout] | [INFO] [stdout] 3340 | impl ValueRef { [INFO] [stdout] | --------------------------------------------- associated function in this implementation [INFO] [stdout] 3341 | pub fn of(reference: &ValueImpl) -> Self { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `has_instance_field`, `get_instance_field`, and `put_instance_field` are never used [INFO] [stdout] --> src/virtual_machine.rs:3455:8 [INFO] [stdout] | [INFO] [stdout] 3442 | impl VirtualMachine { [INFO] [stdout] | --------------------------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 3455 | fn has_instance_field( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3487 | fn get_instance_field( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3503 | fn put_instance_field( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `data` is never used [INFO] [stdout] --> src/compiler/mod.rs:323:8 [INFO] [stdout] | [INFO] [stdout] 317 | impl FunctionEmitter { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 323 | fn data(&self) -> &[u8] { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `relocs` is never read [INFO] [stdout] --> src/compiler/mod.rs:363:5 [INFO] [stdout] | [INFO] [stdout] 360 | pub struct CompiledMethod { [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 363 | relocs: Box<[cranelift_codegen::MachReloc]>, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `data_mut` is never used [INFO] [stdout] --> src/compiler/mod.rs:369:8 [INFO] [stdout] | [INFO] [stdout] 368 | impl CompiledMethod { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] 369 | fn data_mut(&mut self) -> &mut [u8] { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `blocks` is never read [INFO] [stdout] --> src/compiler/mod.rs:722:5 [INFO] [stdout] | [INFO] [stdout] 720 | struct TranslatorState<'layouts> { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 721 | current_block: ir::Block, [INFO] [stdout] 722 | blocks: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TranslatorState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `layout_id` is never read [INFO] [stdout] --> src/compiler/mod.rs:1122:5 [INFO] [stdout] | [INFO] [stdout] 1119 | pub struct StructLayout { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 1122 | layout_id: u64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Value` is never used [INFO] [stdout] --> src/compiler/mod.rs:16:14 [INFO] [stdout] | [INFO] [stdout] 16 | pub enum Value { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Value` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Const` is never used [INFO] [stdout] --> src/compiler/mod.rs:33:14 [INFO] [stdout] | [INFO] [stdout] 33 | pub enum Const { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Const` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Byte` and `Short` are never constructed [INFO] [stdout] --> src/compiler/mod.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 44 | pub enum ValueType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 45 | Byte, [INFO] [stdout] | ^^^^ [INFO] [stdout] 46 | Short, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ValueType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Const` is never constructed [INFO] [stdout] --> src/compiler/mod.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 85 | pub enum ValuePool { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 88 | Const, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ValuePool` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `constant` is never used [INFO] [stdout] --> src/compiler/mod.rs:112:16 [INFO] [stdout] | [INFO] [stdout] 97 | impl ValueRef { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn constant(id: usize) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FunctionRef` is never constructed [INFO] [stdout] --> src/compiler/mod.rs:120:12 [INFO] [stdout] | [INFO] [stdout] 120 | struct FunctionRef { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Dealloc` is never constructed [INFO] [stdout] --> src/compiler/mod.rs:137:9 [INFO] [stdout] | [INFO] [stdout] 125 | pub enum Instruction { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 137 | Dealloc { value: ValueRef }, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Instruction` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OBJ_HEADER_ZVM_LAYOUT_ID` is never used [INFO] [stdout] --> src/compiler/mod.rs:222:22 [INFO] [stdout] | [INFO] [stdout] 222 | pub(crate) const OBJ_HEADER_ZVM_LAYOUT_ID: LayoutFieldRef = LayoutFieldRef { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/compiler/mod.rs:286:26 [INFO] [stdout] | [INFO] [stdout] 286 | InvalidSignature(&'static str), [INFO] [stdout] | ---------------- ^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `CompileError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field [INFO] [stdout] | [INFO] [stdout] 286 - InvalidSignature(&'static str), [INFO] [stdout] 286 + InvalidSignature(()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `0`, `1`, `2`, and `3` are never read [INFO] [stdout] --> src/compiler/mod.rs:287:27 [INFO] [stdout] | [INFO] [stdout] 287 | InvalidTypeAdjust(ValueRef, ValueType, ValueRef, ValueType), [INFO] [stdout] | ----------------- ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `CompileError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields [INFO] [stdout] | [INFO] [stdout] 287 - InvalidTypeAdjust(ValueRef, ValueType, ValueRef, ValueType), [INFO] [stdout] 287 + InvalidTypeAdjust((), (), (), ()), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `InvalidLoad` is never constructed [INFO] [stdout] --> src/compiler/mod.rs:285:9 [INFO] [stdout] | [INFO] [stdout] 284 | pub enum CompileError { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] 285 | InvalidLoad(&'static str), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CompileError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `LayoutId`, which is not FFI-safe [INFO] [stdout] --> src/virtual_machine.rs:2705:43 [INFO] [stdout] | [INFO] [stdout] 2705 | extern "C" fn zvm_layout_id(&self) -> crate::compiler::ir::LayoutId { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stdout] = note: this struct has unspecified layout [INFO] [stdout] note: the type is defined here [INFO] [stdout] --> src/compiler/mod.rs:164:5 [INFO] [stdout] | [INFO] [stdout] 164 | pub struct LayoutId(pub usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(improper_ctypes_definitions)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `Arc`, which is not FFI-safe [INFO] [stdout] --> src/virtual_machine.rs:2714:40 [INFO] [stdout] | [INFO] [stdout] 2714 | extern "C" fn zvm_vtable(&self) -> Arc { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stdout] = note: this struct has unspecified layout [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/virtual_machine.rs:2765:29 [INFO] [stdout] | [INFO] [stdout] 2765 | let layout_id = ZVM.as_ref().unwrap().layouts().get_layout_id(panic!("&class_file.this_name")).expect("TODO: class exists"); [INFO] [stdout] | ^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: `#[warn(static_mut_refs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/virtual_machine.rs:2766:26 [INFO] [stdout] | [INFO] [stdout] 2766 | let layout = ZVM.as_ref().unwrap().layouts().get_layout(layout_id); [INFO] [stdout] | ^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/virtual_machine.rs:2768:23 [INFO] [stdout] | [INFO] [stdout] 2768 | let obj = ZVM.as_ref().unwrap().obj_alloc(struct_layout).expect("TODO: alloc succeeds"); [INFO] [stdout] | ^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/virtual_machine.rs:2781:30 [INFO] [stdout] | [INFO] [stdout] 2781 | let field = unsafe { crate::compiler::ZVM.as_ref().unwrap().layouts().get_field_in_layout( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/virtual_machine.rs:2796:30 [INFO] [stdout] | [INFO] [stdout] 2796 | let field = unsafe { crate::compiler::ZVM.as_ref().unwrap().layouts().get_field_in_layout( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/compiler/mod.rs:1164:27 [INFO] [stdout] | [INFO] [stdout] 1164 | let vm = unsafe { ZVM.as_mut().unwrap() }; [INFO] [stdout] | ^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/compiler/mod.rs:1179:27 [INFO] [stdout] | [INFO] [stdout] 1179 | let vm = unsafe { ZVM.as_mut().unwrap() }; [INFO] [stdout] | ^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler/mod.rs:1407:5 [INFO] [stdout] | [INFO] [stdout] 1407 | / rt_info.declare_layout({ [INFO] [stdout] 1408 | | let mut layout = ir::Layout::new(); [INFO] [stdout] 1409 | | layout.add_field(ir::LayoutFieldRef { [INFO] [stdout] 1410 | | offset: 0, [INFO] [stdout] ... | [INFO] [stdout] 1419 | | layout [INFO] [stdout] 1420 | | }, "java/lang/Integer".to_string()); [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] 1407 | let _ = rt_info.declare_layout({ [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler/mod.rs:1422:9 [INFO] [stdout] | [INFO] [stdout] 1422 | / rt_info.declare_layout({ [INFO] [stdout] 1423 | | let mut layout = ir::Layout::new(); [INFO] [stdout] 1424 | | let mut offset = 0; [INFO] [stdout] 1425 | | for f in cls.fields.iter() { [INFO] [stdout] ... | [INFO] [stdout] 1433 | | layout [INFO] [stdout] 1434 | | }, cls.this_class.to_string()); [INFO] [stdout] | |______________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1422 | let _ = rt_info.declare_layout({ [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `layout_id` [INFO] [stdout] --> src/virtual_machine.rs:2765:17 [INFO] [stdout] | [INFO] [stdout] 2765 | let layout_id = ZVM.as_ref().unwrap().layouts().get_layout_id(panic!("&class_file.this_name")).expect("TODO: class exists"); [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_layout_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `classfile_ptr` [INFO] [stdout] --> src/virtual_machine.rs:2770:17 [INFO] [stdout] | [INFO] [stdout] 2770 | let classfile_ptr = Arc::into_raw(class_file); [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_classfile_ptr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `class_file` [INFO] [stdout] --> src/virtual_machine.rs:2897:18 [INFO] [stdout] | [INFO] [stdout] 2897 | fn new_array(class_file: Arc, data: Box<[NativeJvmValue]>) -> Self { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_file` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/virtual_machine.rs:2897:46 [INFO] [stdout] | [INFO] [stdout] 2897 | fn new_array(class_file: Arc, data: Box<[NativeJvmValue]>) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `idx` [INFO] [stdout] --> src/virtual_machine.rs:2931:24 [INFO] [stdout] | [INFO] [stdout] 2931 | fn get_elem(&self, idx: usize) -> Option<&SimpleJvmValue> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `idx` [INFO] [stdout] --> src/virtual_machine.rs:2934:28 [INFO] [stdout] | [INFO] [stdout] 2934 | fn get_elem_mut(&self, idx: usize) -> Option<&mut SimpleJvmValue> { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_idx` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/virtual_machine.rs:2949:46 [INFO] [stdout] | [INFO] [stdout] 2949 | fn new_array(class_file: Arc, data: Box<[SimpleJvmValue]>) -> Self { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/virtual_machine.rs:3104:14 [INFO] [stdout] | [INFO] [stdout] 3104 | fn float(v: f32) -> Self { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/virtual_machine.rs:3108:15 [INFO] [stdout] | [INFO] [stdout] 3108 | fn double(v: f64) -> Self { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `s` [INFO] [stdout] --> src/virtual_machine.rs:3112:13 [INFO] [stdout] | [INFO] [stdout] 3112 | fn null(s: String) -> Self { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_s` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/virtual_machine.rs:3272:13 [INFO] [stdout] | [INFO] [stdout] 3272 | let mut obj = Self::ObjectTy::new_inst(class_file); [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `managed_alloc_name` [INFO] [stdout] --> src/compiler/mod.rs:467:17 [INFO] [stdout] | [INFO] [stdout] 467 | let managed_alloc_name = ExternalName::User { namespace: 0, index: 0 }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_managed_alloc_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `other` [INFO] [stdout] --> src/compiler/mod.rs:567:29 [INFO] [stdout] | [INFO] [stdout] 567 | ... other => { return Err(ir::CompileError::InvalidSignature("managed alloc returned multiple values?")); } [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_other` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/compiler/mod.rs:571:48 [INFO] [stdout] | [INFO] [stdout] 571 | ir::Instruction::Dealloc { value } => { [INFO] [stdout] | ^^^^^ help: try ignoring the field: `value: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/compiler/mod.rs:574:59 [INFO] [stdout] | [INFO] [stdout] 574 | ir::Instruction::CallImport { result, name, sig, args } => { [INFO] [stdout] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ret` [INFO] [stdout] --> src/compiler/mod.rs:576:51 [INFO] [stdout] | [INFO] [stdout] 576 | let returns = if let Some(ret) = sig.1 { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_ret` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `other` [INFO] [stdout] --> src/compiler/mod.rs:616:29 [INFO] [stdout] | [INFO] [stdout] 616 | ... other => { return Err(ir::CompileError::InvalidSignature("call returned multiple values?")); } [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_other` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/compiler/mod.rs:1421:10 [INFO] [stdout] | [INFO] [stdout] 1421 | for (i, cls) in extra_classes.iter().enumerate() { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `attributes` is never read [INFO] [stdout] --> src/class_file/unvalidated/field.rs:46:16 [INFO] [stdout] | [INFO] [stdout] 42 | pub struct FieldInfo { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 46 | pub(crate) attributes: Vec, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FieldInfo` 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: field `max_stack` is never read [INFO] [stdout] --> src/class_file/validated/method.rs:25:16 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct MethodBody { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 25 | pub(crate) max_stack: u16, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `MethodBody` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `layout_id` is never read [INFO] [stdout] --> src/virtual_machine.rs:2729:5 [INFO] [stdout] | [INFO] [stdout] 2728 | struct ZvmObjectVTable { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 2729 | layout_id: crate::compiler::ir::LayoutId, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `data` is never read [INFO] [stdout] --> src/virtual_machine.rs:2849:5 [INFO] [stdout] | [INFO] [stdout] 2845 | pub struct NativeJvmArrayData { [INFO] [stdout] | ------------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 2849 | data: [NativeJvmValue; 1] [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `cls` and `internal_obj_id` are never used [INFO] [stdout] --> src/virtual_machine.rs:3329:8 [INFO] [stdout] | [INFO] [stdout] 3327 | pub trait JvmArray: fmt::Debug + Sized + PartialEq + Eq + Hash { [INFO] [stdout] | -------- methods in this trait [INFO] [stdout] 3328 | fn new_array(class_file: Arc, data: Box<[ValueTy]>) -> Self; [INFO] [stdout] 3329 | fn cls(&self) -> Arc; [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 3333 | fn internal_obj_id(&self) -> u64; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ValueRef` is never constructed [INFO] [stdout] --> src/virtual_machine.rs:3338:19 [INFO] [stdout] | [INFO] [stdout] 3338 | pub(crate) struct ValueRef(ValueImpl); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `of` is never used [INFO] [stdout] --> src/virtual_machine.rs:3341:12 [INFO] [stdout] | [INFO] [stdout] 3340 | impl ValueRef { [INFO] [stdout] | --------------------------------------------- associated function in this implementation [INFO] [stdout] 3341 | pub fn of(reference: &ValueImpl) -> Self { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `has_instance_field`, `get_instance_field`, and `put_instance_field` are never used [INFO] [stdout] --> src/virtual_machine.rs:3455:8 [INFO] [stdout] | [INFO] [stdout] 3442 | impl VirtualMachine { [INFO] [stdout] | --------------------------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 3455 | fn has_instance_field( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3487 | fn get_instance_field( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 3503 | fn put_instance_field( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `ty` is never read [INFO] [stdout] --> src/virtual_machine.rs:3778:22 [INFO] [stdout] | [INFO] [stdout] 3778 | pub struct Arg { pub ty: ir::ValueType } [INFO] [stdout] | --- ^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = note: `Arg` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `bytes` and `len` are never read [INFO] [stdout] --> src/compiler/mod.rs:313:5 [INFO] [stdout] | [INFO] [stdout] 312 | pub struct FunctionEmitter { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 313 | bytes: *mut u8, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 314 | len: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `data_mut`, `data`, `link`, and `finalize` are never used [INFO] [stdout] --> src/compiler/mod.rs:318:8 [INFO] [stdout] | [INFO] [stdout] 317 | impl FunctionEmitter { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] 318 | fn data_mut(&mut self) -> &mut [u8] { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 323 | fn data(&self) -> &[u8] { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 328 | fn link(&mut self, relocs: &[cranelift_codegen::MachReloc], rt_info: &dyn RuntimeInfo) -> Result<(), crate::compiler::ir::CompileErro... [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 346 | fn finalize(self) -> (*mut u8, usize) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CompiledMethod` is never constructed [INFO] [stdout] --> src/compiler/mod.rs:360:12 [INFO] [stdout] | [INFO] [stdout] 360 | pub struct CompiledMethod { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `data_mut` and `data` are never used [INFO] [stdout] --> src/compiler/mod.rs:369:8 [INFO] [stdout] | [INFO] [stdout] 368 | impl CompiledMethod { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] 369 | fn data_mut(&mut self) -> &mut [u8] { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 374 | fn data(&self) -> &[u8] { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `arguments`, `locals`, `blocks`, and `returns` are never read [INFO] [stdout] --> src/compiler/mod.rs:383:5 [INFO] [stdout] | [INFO] [stdout] 382 | pub struct ZvmMethod { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 383 | arguments: Vec, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 384 | locals: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 385 | blocks: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 386 | returns: Option, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ZvmMethod` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `alloc_function`, `func_addr`, `declare_layout`, `set_jvm`, and `get_parts` are never used [INFO] [stdout] --> src/compiler/mod.rs:401:8 [INFO] [stdout] | [INFO] [stdout] 391 | pub trait RuntimeInfo: Sync { [INFO] [stdout] | ----------- methods in this trait [INFO] [stdout] ... [INFO] [stdout] 401 | fn alloc_function(&self, size: usize) -> Result; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 402 | fn func_addr(&self, name: &cranelift_codegen::ir::ExternalName) -> Result; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 403 | fn declare_layout(&mut self, layout: ir::Layout, name: String) -> Result<(), &'static str>; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 411 | fn set_jvm(&mut self, jvm: VirtualMachine); [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 412 | fn get_parts(&mut self) -> (&ir::LayoutsInfo, Option<&mut VirtualMachine>); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `compile` is never used [INFO] [stdout] --> src/compiler/mod.rs:416:12 [INFO] [stdout] | [INFO] [stdout] 415 | impl ZvmMethod { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 416 | pub fn compile(&self, rt_info: &dyn RuntimeInfo) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `blocks` and `layouts` are never read [INFO] [stdout] --> src/compiler/mod.rs:722:5 [INFO] [stdout] | [INFO] [stdout] 720 | struct TranslatorState<'layouts> { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 721 | current_block: ir::Block, [INFO] [stdout] 722 | blocks: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 728 | layouts: &'layouts ir::LayoutsInfo, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TranslatorState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `desc_to_ir_valuety` is never used [INFO] [stdout] --> src/compiler/mod.rs:863:4 [INFO] [stdout] | [INFO] [stdout] 863 | fn desc_to_ir_valuety(desc: &str) -> ir::ValueType { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bytecode2ir` is never used [INFO] [stdout] --> src/compiler/mod.rs:871:8 [INFO] [stdout] | [INFO] [stdout] 871 | pub fn bytecode2ir(rt_info: &mut dyn RuntimeInfo, method: &MethodBody, sig: (Vec, Option)) -> Result src/compiler/mod.rs:1122:5 [INFO] [stdout] | [INFO] [stdout] 1119 | pub struct StructLayout { [INFO] [stdout] | ------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 1122 | layout_id: u64, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `init` is never used [INFO] [stdout] --> src/compiler/mod.rs:1154:12 [INFO] [stdout] | [INFO] [stdout] 1153 | impl ZvmRuntime { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 1154 | pub fn init() -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `jit` is never used [INFO] [stdout] --> src/compiler/mod.rs:1398:4 [INFO] [stdout] | [INFO] [stdout] 1398 | fn jit(args: &[i64], instructions: Vec, signature: &'static str, extra_classes: Vec>, rt_info: &mu... [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `jitcall` is never used [INFO] [stdout] --> src/compiler/mod.rs:1471:4 [INFO] [stdout] | [INFO] [stdout] 1471 | fn jitcall(args: &[i64], code: fn(i64, i64, i64, i64, i64, i64) -> i64) -> i64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Value` is never used [INFO] [stdout] --> src/compiler/mod.rs:16:14 [INFO] [stdout] | [INFO] [stdout] 16 | pub enum Value { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Value` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Const` is never used [INFO] [stdout] --> src/compiler/mod.rs:33:14 [INFO] [stdout] | [INFO] [stdout] 33 | pub enum Const { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Const` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Byte` and `Short` are never constructed [INFO] [stdout] --> src/compiler/mod.rs:45:9 [INFO] [stdout] | [INFO] [stdout] 44 | pub enum ValueType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 45 | Byte, [INFO] [stdout] | ^^^^ [INFO] [stdout] 46 | Short, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ValueType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Const` is never constructed [INFO] [stdout] --> src/compiler/mod.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 85 | pub enum ValuePool { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 88 | Const, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ValuePool` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `constant` is never used [INFO] [stdout] --> src/compiler/mod.rs:112:16 [INFO] [stdout] | [INFO] [stdout] 97 | impl ValueRef { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 112 | pub fn constant(id: usize) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FunctionRef` is never constructed [INFO] [stdout] --> src/compiler/mod.rs:120:12 [INFO] [stdout] | [INFO] [stdout] 120 | struct FunctionRef { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `result`, `source`, and `id` are never read [INFO] [stdout] --> src/compiler/mod.rs:126:19 [INFO] [stdout] | [INFO] [stdout] 126 | LoadArg { result: ValueRef, source: ValueRef, id: usize }, [INFO] [stdout] | ------- ^^^^^^ ^^^^^^ ^^ [INFO] [stdout] | | [INFO] [stdout] | fields in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Instruction` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/compiler/mod.rs:127:9 [INFO] [stdout] | [INFO] [stdout] 125 | pub enum Instruction { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] 126 | LoadArg { result: ValueRef, source: ValueRef, id: usize }, [INFO] [stdout] 127 | ConstInt { result: ValueRef, value: i32 }, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 128 | ConstLong { result: ValueRef, value: i64 }, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 129 | IntAdd { result: ValueRef, left: ValueRef, right: ValueRef }, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 130 | IntXor { result: ValueRef, left: ValueRef, right: ValueRef }, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 131 | AReturn { retval: ValueRef }, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 132 | IReturn { retval: ValueRef }, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 133 | TypeAdjust { value: ValueRef, current_ty: ValueType, result: ValueRef, new_ty: ValueType }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 134 | GetField { result: ValueRef, object: ValueRef, field_desc: LayoutFieldRef }, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 135 | SetField { target: ValueRef, value: ValueRef, field_desc: LayoutFieldRef }, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 136 | Alloc { result: ValueRef, layout_id: LayoutId }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 137 | Dealloc { value: ValueRef }, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 138 | CallImport { result: Option, name: String, sig: (Vec, Option), args: Vec }, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 139 | Return, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Instruction` 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 `instructions` is never used [INFO] [stdout] --> src/compiler/mod.rs:158:16 [INFO] [stdout] | [INFO] [stdout] 147 | impl Block { [INFO] [stdout] | ---------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 158 | pub fn instructions(&self) -> &[Instruction] { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `as_usize` is never used [INFO] [stdout] --> src/compiler/mod.rs:167:16 [INFO] [stdout] | [INFO] [stdout] 166 | impl LayoutId { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 167 | pub fn as_usize(&self) -> usize { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `add_field` are never used [INFO] [stdout] --> src/compiler/mod.rs:181:16 [INFO] [stdout] | [INFO] [stdout] 180 | impl Layout { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 181 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 187 | pub fn add_field(&mut self, field_layout: LayoutFieldRef) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OBJ_HEADER_ZVM_LAYOUT_ID` is never used [INFO] [stdout] --> src/compiler/mod.rs:222:22 [INFO] [stdout] | [INFO] [stdout] 222 | pub(crate) const OBJ_HEADER_ZVM_LAYOUT_ID: LayoutFieldRef = LayoutFieldRef { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `OBJ_HEADER_CLASSFILE_REF` is never used [INFO] [stdout] --> src/compiler/mod.rs:228:22 [INFO] [stdout] | [INFO] [stdout] 228 | pub(crate) const OBJ_HEADER_CLASSFILE_REF: LayoutFieldRef = LayoutFieldRef { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/compiler/mod.rs:241:16 [INFO] [stdout] | [INFO] [stdout] 240 | impl LayoutsInfo { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 241 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `CompileError` is never used [INFO] [stdout] --> src/compiler/mod.rs:284:14 [INFO] [stdout] | [INFO] [stdout] 284 | pub enum CompileError { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CompileError` 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 `UnsupportedInstruction` is never constructed [INFO] [stdout] --> src/compiler/mod.rs:294:9 [INFO] [stdout] | [INFO] [stdout] 293 | pub enum TranslationError { [INFO] [stdout] | ---------------- variant in this enum [INFO] [stdout] 294 | UnsupportedInstruction(crate::class_file::validated::Instruction), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `LayoutId`, which is not FFI-safe [INFO] [stdout] --> src/virtual_machine.rs:2705:43 [INFO] [stdout] | [INFO] [stdout] 2705 | extern "C" fn zvm_layout_id(&self) -> crate::compiler::ir::LayoutId { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stdout] = note: this struct has unspecified layout [INFO] [stdout] note: the type is defined here [INFO] [stdout] --> src/compiler/mod.rs:164:5 [INFO] [stdout] | [INFO] [stdout] 164 | pub struct LayoutId(pub usize); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(improper_ctypes_definitions)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `extern` fn uses type `Arc`, which is not FFI-safe [INFO] [stdout] --> src/virtual_machine.rs:2714:40 [INFO] [stdout] | [INFO] [stdout] 2714 | extern "C" fn zvm_vtable(&self) -> Arc { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ not FFI-safe [INFO] [stdout] | [INFO] [stdout] = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct [INFO] [stdout] = note: this struct has unspecified layout [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/virtual_machine.rs:2765:29 [INFO] [stdout] | [INFO] [stdout] 2765 | let layout_id = ZVM.as_ref().unwrap().layouts().get_layout_id(panic!("&class_file.this_name")).expect("TODO: class exists"); [INFO] [stdout] | ^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: `#[warn(static_mut_refs)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/virtual_machine.rs:2766:26 [INFO] [stdout] | [INFO] [stdout] 2766 | let layout = ZVM.as_ref().unwrap().layouts().get_layout(layout_id); [INFO] [stdout] | ^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/virtual_machine.rs:2768:23 [INFO] [stdout] | [INFO] [stdout] 2768 | let obj = ZVM.as_ref().unwrap().obj_alloc(struct_layout).expect("TODO: alloc succeeds"); [INFO] [stdout] | ^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/virtual_machine.rs:2781:30 [INFO] [stdout] | [INFO] [stdout] 2781 | let field = unsafe { crate::compiler::ZVM.as_ref().unwrap().layouts().get_field_in_layout( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/virtual_machine.rs:2796:30 [INFO] [stdout] | [INFO] [stdout] 2796 | let field = unsafe { crate::compiler::ZVM.as_ref().unwrap().layouts().get_field_in_layout( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/compiler/mod.rs:1164:27 [INFO] [stdout] | [INFO] [stdout] 1164 | let vm = unsafe { ZVM.as_mut().unwrap() }; [INFO] [stdout] | ^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a mutable reference to mutable static [INFO] [stdout] --> src/compiler/mod.rs:1179:27 [INFO] [stdout] | [INFO] [stdout] 1179 | let vm = unsafe { ZVM.as_mut().unwrap() }; [INFO] [stdout] | ^^^^^^^^^^^^ mutable reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler/mod.rs:1407:5 [INFO] [stdout] | [INFO] [stdout] 1407 | / rt_info.declare_layout({ [INFO] [stdout] 1408 | | let mut layout = ir::Layout::new(); [INFO] [stdout] 1409 | | layout.add_field(ir::LayoutFieldRef { [INFO] [stdout] 1410 | | offset: 0, [INFO] [stdout] ... | [INFO] [stdout] 1419 | | layout [INFO] [stdout] 1420 | | }, "java/lang/Integer".to_string()); [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] 1407 | let _ = rt_info.declare_layout({ [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/compiler/mod.rs:1422:9 [INFO] [stdout] | [INFO] [stdout] 1422 | / rt_info.declare_layout({ [INFO] [stdout] 1423 | | let mut layout = ir::Layout::new(); [INFO] [stdout] 1424 | | let mut offset = 0; [INFO] [stdout] 1425 | | for f in cls.fields.iter() { [INFO] [stdout] ... | [INFO] [stdout] 1433 | | layout [INFO] [stdout] 1434 | | }, cls.this_class.to_string()); [INFO] [stdout] | |______________________________________^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1422 | let _ = rt_info.declare_layout({ [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking zvm-tools v0.1.0 (/opt/rustwide/workdir/zvm-tools) [INFO] [stderr] Checking zvm-cli v0.1.0 (/opt/rustwide/workdir/zvm-cli) [INFO] [stderr] Checking zvm-stdlib v0.1.0 (/opt/rustwide/workdir/zvm-stdlib) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.43s [INFO] running `Command { std: "docker" "inspect" "d32043b632d5d34c75652dd193330cdbbcd307f78c9c5d10f275c7127fbdfe42", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d32043b632d5d34c75652dd193330cdbbcd307f78c9c5d10f275c7127fbdfe42", kill_on_drop: false }` [INFO] [stdout] d32043b632d5d34c75652dd193330cdbbcd307f78c9c5d10f275c7127fbdfe42