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