[INFO] cloning repository https://github.com/LemonVM/LemonVMReDesign
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/LemonVM/LemonVMReDesign" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLemonVM%2FLemonVMReDesign", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLemonVM%2FLemonVMReDesign'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d2afef1d8182b9fc9b531ba958d883300a71b26c
[INFO] testing LemonVM/LemonVMReDesign against 1.47.0 for beta-1.48-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLemonVM%2FLemonVMReDesign" "/workspace/builds/worker-10/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-10/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/LemonVM/LemonVMReDesign on toolchain 1.47.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/LemonVM/LemonVMReDesign
[INFO] finished tweaking git repo https://github.com/LemonVM/LemonVMReDesign
[INFO] tweaked toml for git repo https://github.com/LemonVM/LemonVMReDesign written to /workspace/builds/worker-10/source/Cargo.toml
[INFO] crate git repo https://github.com/LemonVM/LemonVMReDesign already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.47.0" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a103d4dabafbc61fd5d4f7d883de8dc584dbebfd5e29cae135e881369fff98cb
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "a103d4dabafbc61fd5d4f7d883de8dc584dbebfd5e29cae135e881369fff98cb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a103d4dabafbc61fd5d4f7d883de8dc584dbebfd5e29cae135e881369fff98cb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a103d4dabafbc61fd5d4f7d883de8dc584dbebfd5e29cae135e881369fff98cb", kill_on_drop: false }`
[INFO] [stdout] a103d4dabafbc61fd5d4f7d883de8dc584dbebfd5e29cae135e881369fff98cb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b555cc6c22c8887b7dce4503adf0ac3871b595597d9efe77e51e8e46f60b2f65
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "b555cc6c22c8887b7dce4503adf0ac3871b595597d9efe77e51e8e46f60b2f65", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.74
[INFO] [stderr]    Compiling arrayvec v0.5.1
[INFO] [stderr]    Compiling getrandom v0.1.14
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling lemonvm v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `TypeTags`
[INFO] [stdout]   --> src/binary/bytecode.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     TypeTags,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::*`
[INFO] [stdout]   --> src/binary/bytecode.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |         use rand::*;
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::*`
[INFO] [stdout]   --> src/binary/debug.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         use rand::*;
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::*`
[INFO] [stdout]    --> src/binary/debug.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |         use rand::*;
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::*`
[INFO] [stdout]    --> src/binary/debug.rs:219:13
[INFO] [stdout]     |
[INFO] [stdout] 219 |         use rand::*;
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::constant::*`
[INFO] [stdout]  --> src/binary/function.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::constant::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Writer`
[INFO] [stdout]   --> src/binary/function.rs:10:28
[INFO] [stdout]    |
[INFO] [stdout] 10 |     io::{BinaryRW, Reader, Writer},
[INFO] [stdout]    |                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::BTreeMap`
[INFO] [stdout]   --> src/binary/function.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::collections::BTreeMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::*`
[INFO] [stdout]   --> src/binary/function.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         use rand::*;
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::*`
[INFO] [stdout]    --> src/binary/function.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |         use rand::*;
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::*`
[INFO] [stdout]   --> src/binary/io.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     use rand::*;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::*`
[INFO] [stdout]   --> src/binary/io.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |     use rand::*;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::bytecode::*`
[INFO] [stdout]  --> src/binary/test.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::bytecode::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::io::*`
[INFO] [stdout]  --> src/binary/test.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::io::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/binary/test.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude::*`
[INFO] [stdout]  --> src/binary/test.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufReader`
[INFO] [stdout]  --> src/binary/test.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::BufReader;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Layout`, `dealloc`
[INFO] [stdout]  --> src/vm/gc/onclosegc.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::alloc::{dealloc, Layout};
[INFO] [stdout]   |                  ^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::register`
[INFO] [stdout]  --> src/vm/interpreter.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::register;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `config::*`, `constant::Constant`, `function::Function`
[INFO] [stdout]   --> src/vm/interpreter.rs:9:14
[INFO] [stdout]    |
[INFO] [stdout] 9  |     binary::{constant::Constant, function::Function, opcode::OpCode},
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     config::*,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::BTreeMap`, `ptr::NonNull`
[INFO] [stdout]   --> src/vm/interpreter.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::{collections::BTreeMap, ptr::NonNull};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]    --> src/vm/interpreter.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |         'fetch_exe: loop {
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_labels)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem::ManuallyDrop`
[INFO] [stdout]  --> src/vm/value.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::mem::ManuallyDrop;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]     --> src/vm/interpreter.rs:1855:9
[INFO] [stdout]      |
[INFO] [stdout] 135  | /         'fetch_exe: loop {
[INFO] [stdout] 136  | |             // on exception
[INFO] [stdout] 137  | |             if state.current_function_call_state.status == VMClosureStatus::Error {
[INFO] [stdout] 138  | |                 let mut find_exception_handle = false;
[INFO] [stdout] ...    |
[INFO] [stdout] 1851 | |             pc += 1;
[INFO] [stdout] 1852 | |         }
[INFO] [stdout]      | |_________- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 1855 |           state.current_function_call_state = state.current_function_call_state;
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/vm/gc/mod.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |             _ => unimplemented!(),
[INFO] [stdout]    |             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/vm/gc/mod.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |             _ => unimplemented!(),
[INFO] [stdout]    |             ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> src/binary/function.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |             t if tag == FunctionType::Function as u8 => FunctionType::Function,
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/binary/function.rs:185:17
[INFO] [stdout]     |
[INFO] [stdout] 185 |             for i in 0u8..random() {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/binary/io.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     for i in 0..10 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/binary/io.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     for i in 0..10 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function`
[INFO] [stdout]    --> src/vm/mod.rs:125:25
[INFO] [stdout]     |
[INFO] [stdout] 125 |     fn module_load_hook(function: fn() -> bool) -> bool {
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `young`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:109:27
[INFO] [stdout]     |
[INFO] [stdout] 109 |             YoungGCObject(young) => panic!("ERROR! old generation object holds an young reference"),
[INFO] [stdout]     |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_young`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `old`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:291:37
[INFO] [stdout]     |
[INFO] [stdout] 291 |                         OldGCObject(old) => {
[INFO] [stdout]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_old`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/vm/gc/onclosegc.rs:50:34
[INFO] [stdout]    |
[INFO] [stdout] 50 |             GCInnerValue::String(s) => vec![],
[INFO] [stdout]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vec`
[INFO] [stdout]   --> src/vm/gc/onclosegc.rs:51:34
[INFO] [stdout]    |
[INFO] [stdout] 51 |             GCInnerValue::Opaque(vec) => vec![],
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/vm/gc/onclosegc.rs:63:22
[INFO] [stdout]    |
[INFO] [stdout] 63 |                 for (i, j) in map {
[INFO] [stdout]    |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e1x`
[INFO] [stdout]    --> src/vm/interpreter.rs:189:17
[INFO] [stdout]     |
[INFO] [stdout] 189 |             let e1x = (ci >> 16) as u32;
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_e1x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ed`
[INFO] [stdout]    --> src/vm/interpreter.rs:194:17
[INFO] [stdout]     |
[INFO] [stdout] 194 |             let ed = (ci >> 16) as u64;
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_ed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/vm/interpreter.rs:323:31
[INFO] [stdout]     |
[INFO] [stdout] 323 |                     Value::U8(v) => panic!("ERROR! NEG A U8"),
[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/vm/interpreter.rs:325:32
[INFO] [stdout]     |
[INFO] [stdout] 325 |                     Value::U16(v) => panic!("ERROR! NEG A U16"),
[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/vm/interpreter.rs:327:32
[INFO] [stdout]     |
[INFO] [stdout] 327 |                     Value::U32(v) => panic!("ERROR! NEG A U32"),
[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/vm/interpreter.rs:329:32
[INFO] [stdout]     |
[INFO] [stdout] 329 |                     Value::U64(v) => panic!("ERROR! NEG A U64"),
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `string`
[INFO] [stdout]    --> src/vm/value.rs:133:19
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn new_string(string: String, gc: &mut dyn GC) {
[INFO] [stdout]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gc`
[INFO] [stdout]    --> src/vm/value.rs:133:35
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn new_string(string: String, gc: &mut dyn GC) {
[INFO] [stdout]     |                                   ^^ help: if this is intentional, prefix it with an underscore: `_gc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `object`
[INFO] [stdout]    --> src/vm/value.rs:136:19
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn new_object(object: BTreeMap<String, Value>, gc: &mut dyn GC) {
[INFO] [stdout]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gc`
[INFO] [stdout]    --> src/vm/value.rs:136:52
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn new_object(object: BTreeMap<String, Value>, gc: &mut dyn GC) {
[INFO] [stdout]     |                                                    ^^ help: if this is intentional, prefix it with an underscore: `_gc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opaque`
[INFO] [stdout]    --> src/vm/value.rs:139:19
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn new_opaque(opaque: Vec<u8>, gc: &mut dyn GC) {
[INFO] [stdout]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opaque`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gc`
[INFO] [stdout]    --> src/vm/value.rs:139:36
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn new_opaque(opaque: Vec<u8>, gc: &mut dyn GC) {
[INFO] [stdout]     |                                    ^^ help: if this is intentional, prefix it with an underscore: `_gc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/binary/bytecode.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let mut ret = vec![];
[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: unnecessary `unsafe` block
[INFO] [stdout]   --> src/vm/gc/onclosegc.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |         unsafe {
[INFO] [stdout]    |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 94 |             unsafe { NonNull::new_unchecked(self.blocks.last_mut().unwrap()) }
[INFO] [stdout]    |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:48:9
[INFO] [stdout]     |
[INFO] [stdout] 48  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 494 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,+);
[INFO] [stdout]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:48:9
[INFO] [stdout]     |
[INFO] [stdout] 48  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 497 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,+);
[INFO] [stdout]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:48:9
[INFO] [stdout]     |
[INFO] [stdout] 48  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 513 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,-);
[INFO] [stdout]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:48:9
[INFO] [stdout]     |
[INFO] [stdout] 48  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 516 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,-);
[INFO] [stdout]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:48:9
[INFO] [stdout]     |
[INFO] [stdout] 48  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 532 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,*);
[INFO] [stdout]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:48:9
[INFO] [stdout]     |
[INFO] [stdout] 48  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 535 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,*);
[INFO] [stdout]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:48:9
[INFO] [stdout]     |
[INFO] [stdout] 48  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 551 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,/);
[INFO] [stdout]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:48:9
[INFO] [stdout]     |
[INFO] [stdout] 48  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 554 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,/);
[INFO] [stdout]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:48:9
[INFO] [stdout]     |
[INFO] [stdout] 48  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 570 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,%);
[INFO] [stdout]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:48:9
[INFO] [stdout]     |
[INFO] [stdout] 48  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 573 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,%);
[INFO] [stdout]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 482 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u8, i8, I8, U8, wrapping_add);
[INFO] [stdout]     |                     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 485 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u16, i16, I16, U16, wrapping_add);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 488 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u32, i32, I32, U32, wrapping_add);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 491 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u64, i64, I64, U64, wrapping_add);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 501 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u8, i8, I8, U8, wrapping_sub);
[INFO] [stdout]     |                     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 504 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u16, i16, I16, U16, wrapping_sub);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 507 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u32, i32, I32, U32, wrapping_sub);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 510 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u64, i64, I64, U64, wrapping_sub);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 520 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u8, i8, I8, U8, wrapping_mul);
[INFO] [stdout]     |                     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 523 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u16, i16, I16, U16, wrapping_mul);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 526 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u32, i32, I32, U32, wrapping_mul);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 529 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u64, i64, I64, U64, wrapping_mul);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 539 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u8, i8, I8, U8, wrapping_div);
[INFO] [stdout]     |                     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 542 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u16, i16, I16, U16, wrapping_div);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 545 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u32, i32, I32, U32, wrapping_div);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 548 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u64, i64, I64, U64, wrapping_div);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 558 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u8, i8, I8, U8, wrapping_rem);
[INFO] [stdout]     |                     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 561 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u16, i16, I16, U16, wrapping_rem);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 564 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u32, i32, I32, U32, wrapping_rem);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 567 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u64, i64, I64, U64, wrapping_rem);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `module_name`
[INFO] [stdout]   --> src/binary/bytecode.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     module_name: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `module_version`
[INFO] [stdout]   --> src/binary/bytecode.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     module_version: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Mono`
[INFO] [stdout]  --> src/binary/variable.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     Mono(TypeTags),
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Record`
[INFO] [stdout]   --> src/binary/variable.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Record(BTreeMap<String, TypeTags>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Function`
[INFO] [stdout]   --> src/binary/variable.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Function(Vec<Type>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `YoungGCObject`
[INFO] [stdout]   --> src/vm/gc/lemondger.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct YoungGCObject {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `TriColor`
[INFO] [stdout]   --> src/vm/gc/lemondger.rs:36:6
[INFO] [stdout]    |
[INFO] [stdout] 36 | enum TriColor {
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `WB`
[INFO] [stdout]   --> src/vm/gc/lemondger.rs:41:6
[INFO] [stdout]    |
[INFO] [stdout] 41 | enum WB {
[INFO] [stdout]    |      ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `OldGCObject`
[INFO] [stdout]   --> src/vm/gc/lemondger.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | struct OldGCObject {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `ImmortalObject`
[INFO] [stdout]   --> src/vm/gc/lemondger.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | struct ImmortalObject {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `GCObject`
[INFO] [stdout]   --> src/vm/gc/lemondger.rs:66:6
[INFO] [stdout]    |
[INFO] [stdout] 66 | enum GCObject {
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `mark_young`
[INFO] [stdout]   --> src/vm/gc/lemondger.rs:80:8
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn mark_young(&mut self, path: &mut Vec<*mut Self>) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `color_old`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:105:8
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn color_old(&mut self, color: TriColor, path: &mut Vec<*mut Self>) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `mark_imm`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:144:8
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn mark_imm(&mut self, path: &mut Vec<*mut Self>) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `young_to_old`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:164:8
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn young_to_old(&mut self, path: &mut Vec<*mut Self>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `GCPool`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:189:8
[INFO] [stdout]     |
[INFO] [stdout] 189 | struct GCPool {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:196:8
[INFO] [stdout]     |
[INFO] [stdout] 196 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `add_young`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:204:8
[INFO] [stdout]     |
[INFO] [stdout] 204 |     fn add_young(&mut self, ptr: *mut u8, size: usize) -> *mut GCObject {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `add_old`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:217:8
[INFO] [stdout]     |
[INFO] [stdout] 217 |     fn add_old(&mut self, ptr: *mut u8, size: usize) -> *mut GCObject {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `add_imm`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 230 |     fn add_imm(&mut self, ptr: *mut u8, size: usize) -> *mut GCObject {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `upgrade_young`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:241:8
[INFO] [stdout]     |
[INFO] [stdout] 241 |     fn upgrade_young(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `young_generation_gc`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:256:8
[INFO] [stdout]     |
[INFO] [stdout] 256 |     fn young_generation_gc(&mut self, root: &mut Vec<*mut GCObject>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `color_all_old`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:302:8
[INFO] [stdout]     |
[INFO] [stdout] 302 |     fn color_all_old(&mut self, root: &mut Vec<*mut GCObject>, root_colored: bool) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `old_generation_gc`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:314:8
[INFO] [stdout]     |
[INFO] [stdout] 314 |     fn old_generation_gc(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `mark_young`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:321:4
[INFO] [stdout]     |
[INFO] [stdout] 321 | fn mark_young(root: &mut Vec<*mut GCObject>) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `color_old`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:329:4
[INFO] [stdout]     |
[INFO] [stdout] 329 | fn color_old(root: &mut Vec<*mut GCObject>) {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `mark_imm`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:337:4
[INFO] [stdout]     |
[INFO] [stdout] 337 | fn mark_imm(root: &mut Vec<*mut GCObject>) {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `gc`
[INFO] [stdout]   --> src/vm/gc/onclosegc.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     gc: NonNull<OnCloseGC>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new_null`
[INFO] [stdout]    --> src/vm/value.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn new_null() -> Self {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new_undef`
[INFO] [stdout]    --> src/vm/value.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 |     fn new_undef() -> Self {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new_boolean`
[INFO] [stdout]    --> src/vm/value.rs:126:8
[INFO] [stdout]     |
[INFO] [stdout] 126 |     fn new_boolean(boolean: bool) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new_f64`
[INFO] [stdout]    --> src/vm/value.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn new_f64(f: f64) -> Self {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new_string`
[INFO] [stdout]    --> src/vm/value.rs:133:8
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn new_string(string: String, gc: &mut dyn GC) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new_object`
[INFO] [stdout]    --> src/vm/value.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn new_object(object: BTreeMap<String, Value>, gc: &mut dyn GC) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new_opaque`
[INFO] [stdout]    --> src/vm/value.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn new_opaque(opaque: Vec<u8>, gc: &mut dyn GC) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `module_load_hook`
[INFO] [stdout]    --> src/vm/mod.rs:125:8
[INFO] [stdout]     |
[INFO] [stdout] 125 |     fn module_load_hook(function: fn() -> bool) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `load_module`
[INFO] [stdout]    --> src/vm/mod.rs:128:8
[INFO] [stdout]     |
[INFO] [stdout] 128 |     fn load_module() {}
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `run_module`
[INFO] [stdout]    --> src/vm/mod.rs:130:8
[INFO] [stdout]     |
[INFO] [stdout] 130 |     fn run_module() {}
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused attribute
[INFO] [stdout]  --> src/binary/io.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 119 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `CP` should have a snake case name
[INFO] [stdout]   --> src/main.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let mut CP = BTreeMap::new();
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `cp`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 12.89s
[INFO] running `Command { std: "docker" "inspect" "b555cc6c22c8887b7dce4503adf0ac3871b595597d9efe77e51e8e46f60b2f65", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b555cc6c22c8887b7dce4503adf0ac3871b595597d9efe77e51e8e46f60b2f65", kill_on_drop: false }`
[INFO] [stdout] b555cc6c22c8887b7dce4503adf0ac3871b595597d9efe77e51e8e46f60b2f65
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2c45aee4df8c20368beb41cc5692c8d24a5ce5905af7795fc7caf51ac91bd4c0
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "2c45aee4df8c20368beb41cc5692c8d24a5ce5905af7795fc7caf51ac91bd4c0", kill_on_drop: false }`
[INFO] [stderr]    Compiling lemonvm v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `TypeTags`
[INFO] [stdout]   --> src/binary/bytecode.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     TypeTags,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::*`
[INFO] [stdout]   --> src/binary/bytecode.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |         use rand::*;
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::*`
[INFO] [stdout]   --> src/binary/debug.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         use rand::*;
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::*`
[INFO] [stdout]    --> src/binary/debug.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |         use rand::*;
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::*`
[INFO] [stdout]    --> src/binary/debug.rs:219:13
[INFO] [stdout]     |
[INFO] [stdout] 219 |         use rand::*;
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::constant::*`
[INFO] [stdout]  --> src/binary/function.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::constant::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Writer`
[INFO] [stdout]   --> src/binary/function.rs:10:28
[INFO] [stdout]    |
[INFO] [stdout] 10 |     io::{BinaryRW, Reader, Writer},
[INFO] [stdout]    |                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::BTreeMap`
[INFO] [stdout]   --> src/binary/function.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::collections::BTreeMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::*`
[INFO] [stdout]   --> src/binary/function.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         use rand::*;
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::*`
[INFO] [stdout]    --> src/binary/function.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |         use rand::*;
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::*`
[INFO] [stdout]   --> src/binary/io.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     use rand::*;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::*`
[INFO] [stdout]   --> src/binary/io.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |     use rand::*;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::bytecode::*`
[INFO] [stdout]  --> src/binary/test.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::bytecode::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::io::*`
[INFO] [stdout]  --> src/binary/test.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::io::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/binary/test.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude::*`
[INFO] [stdout]  --> src/binary/test.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufReader`
[INFO] [stdout]  --> src/binary/test.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::BufReader;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Layout`, `dealloc`
[INFO] [stdout]  --> src/vm/gc/onclosegc.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::alloc::{dealloc, Layout};
[INFO] [stdout]   |                  ^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::register`
[INFO] [stdout]  --> src/vm/interpreter.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::register;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `config::*`, `constant::Constant`, `function::Function`
[INFO] [stdout]   --> src/vm/interpreter.rs:9:14
[INFO] [stdout]    |
[INFO] [stdout] 9  |     binary::{constant::Constant, function::Function, opcode::OpCode},
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     config::*,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::BTreeMap`, `ptr::NonNull`
[INFO] [stdout]   --> src/vm/interpreter.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::{collections::BTreeMap, ptr::NonNull};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]    --> src/vm/interpreter.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |         'fetch_exe: loop {
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_labels)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem::ManuallyDrop`
[INFO] [stdout]  --> src/vm/value.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::mem::ManuallyDrop;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]     --> src/vm/interpreter.rs:1855:9
[INFO] [stdout]      |
[INFO] [stdout] 135  | /         'fetch_exe: loop {
[INFO] [stdout] 136  | |             // on exception
[INFO] [stdout] 137  | |             if state.current_function_call_state.status == VMClosureStatus::Error {
[INFO] [stdout] 138  | |                 let mut find_exception_handle = false;
[INFO] [stdout] ...    |
[INFO] [stdout] 1851 | |             pc += 1;
[INFO] [stdout] 1852 | |         }
[INFO] [stdout]      | |_________- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 1855 |           state.current_function_call_state = state.current_function_call_state;
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/vm/gc/mod.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |             _ => unimplemented!(),
[INFO] [stdout]    |             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/vm/gc/mod.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |             _ => unimplemented!(),
[INFO] [stdout]    |             ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> src/binary/function.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |             t if tag == FunctionType::Function as u8 => FunctionType::Function,
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/binary/function.rs:185:17
[INFO] [stdout]     |
[INFO] [stdout] 185 |             for i in 0u8..random() {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/binary/io.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     for i in 0..10 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/binary/io.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     for i in 0..10 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function`
[INFO] [stdout]    --> src/vm/mod.rs:125:25
[INFO] [stdout]     |
[INFO] [stdout] 125 |     fn module_load_hook(function: fn() -> bool) -> bool {
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `young`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:109:27
[INFO] [stdout]     |
[INFO] [stdout] 109 |             YoungGCObject(young) => panic!("ERROR! old generation object holds an young reference"),
[INFO] [stdout]     |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_young`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `old`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:291:37
[INFO] [stdout]     |
[INFO] [stdout] 291 |                         OldGCObject(old) => {
[INFO] [stdout]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_old`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/vm/gc/onclosegc.rs:50:34
[INFO] [stdout]    |
[INFO] [stdout] 50 |             GCInnerValue::String(s) => vec![],
[INFO] [stdout]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vec`
[INFO] [stdout]   --> src/vm/gc/onclosegc.rs:51:34
[INFO] [stdout]    |
[INFO] [stdout] 51 |             GCInnerValue::Opaque(vec) => vec![],
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/vm/gc/onclosegc.rs:63:22
[INFO] [stdout]    |
[INFO] [stdout] 63 |                 for (i, j) in map {
[INFO] [stdout]    |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e1x`
[INFO] [stdout]    --> src/vm/interpreter.rs:189:17
[INFO] [stdout]     |
[INFO] [stdout] 189 |             let e1x = (ci >> 16) as u32;
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_e1x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ed`
[INFO] [stdout]    --> src/vm/interpreter.rs:194:17
[INFO] [stdout]     |
[INFO] [stdout] 194 |             let ed = (ci >> 16) as u64;
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_ed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/vm/interpreter.rs:323:31
[INFO] [stdout]     |
[INFO] [stdout] 323 |                     Value::U8(v) => panic!("ERROR! NEG A U8"),
[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/vm/interpreter.rs:325:32
[INFO] [stdout]     |
[INFO] [stdout] 325 |                     Value::U16(v) => panic!("ERROR! NEG A U16"),
[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/vm/interpreter.rs:327:32
[INFO] [stdout]     |
[INFO] [stdout] 327 |                     Value::U32(v) => panic!("ERROR! NEG A U32"),
[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/vm/interpreter.rs:329:32
[INFO] [stdout]     |
[INFO] [stdout] 329 |                     Value::U64(v) => panic!("ERROR! NEG A U64"),
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `string`
[INFO] [stdout]    --> src/vm/value.rs:133:19
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn new_string(string: String, gc: &mut dyn GC) {
[INFO] [stdout]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gc`
[INFO] [stdout]    --> src/vm/value.rs:133:35
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn new_string(string: String, gc: &mut dyn GC) {
[INFO] [stdout]     |                                   ^^ help: if this is intentional, prefix it with an underscore: `_gc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `object`
[INFO] [stdout]    --> src/vm/value.rs:136:19
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn new_object(object: BTreeMap<String, Value>, gc: &mut dyn GC) {
[INFO] [stdout]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gc`
[INFO] [stdout]    --> src/vm/value.rs:136:52
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn new_object(object: BTreeMap<String, Value>, gc: &mut dyn GC) {
[INFO] [stdout]     |                                                    ^^ help: if this is intentional, prefix it with an underscore: `_gc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opaque`
[INFO] [stdout]    --> src/vm/value.rs:139:19
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn new_opaque(opaque: Vec<u8>, gc: &mut dyn GC) {
[INFO] [stdout]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opaque`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gc`
[INFO] [stdout]    --> src/vm/value.rs:139:36
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn new_opaque(opaque: Vec<u8>, gc: &mut dyn GC) {
[INFO] [stdout]     |                                    ^^ help: if this is intentional, prefix it with an underscore: `_gc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/binary/bytecode.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let mut ret = vec![];
[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: unnecessary `unsafe` block
[INFO] [stdout]   --> src/vm/gc/onclosegc.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |         unsafe {
[INFO] [stdout]    |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 94 |             unsafe { NonNull::new_unchecked(self.blocks.last_mut().unwrap()) }
[INFO] [stdout]    |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:48:9
[INFO] [stdout]     |
[INFO] [stdout] 48  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 494 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,+);
[INFO] [stdout]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:48:9
[INFO] [stdout]     |
[INFO] [stdout] 48  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 497 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,+);
[INFO] [stdout]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:48:9
[INFO] [stdout]     |
[INFO] [stdout] 48  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 513 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,-);
[INFO] [stdout]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:48:9
[INFO] [stdout]     |
[INFO] [stdout] 48  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 516 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,-);
[INFO] [stdout]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:48:9
[INFO] [stdout]     |
[INFO] [stdout] 48  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 532 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,*);
[INFO] [stdout]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:48:9
[INFO] [stdout]     |
[INFO] [stdout] 48  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 535 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,*);
[INFO] [stdout]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:48:9
[INFO] [stdout]     |
[INFO] [stdout] 48  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 551 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,/);
[INFO] [stdout]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:48:9
[INFO] [stdout]     |
[INFO] [stdout] 48  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 554 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,/);
[INFO] [stdout]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:48:9
[INFO] [stdout]     |
[INFO] [stdout] 48  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 570 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,%);
[INFO] [stdout]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:48:9
[INFO] [stdout]     |
[INFO] [stdout] 48  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 573 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,%);
[INFO] [stdout]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 482 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u8, i8, I8, U8, wrapping_add);
[INFO] [stdout]     |                     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 485 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u16, i16, I16, U16, wrapping_add);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 488 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u32, i32, I32, U32, wrapping_add);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 491 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u64, i64, I64, U64, wrapping_add);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 501 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u8, i8, I8, U8, wrapping_sub);
[INFO] [stdout]     |                     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 504 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u16, i16, I16, U16, wrapping_sub);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 507 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u32, i32, I32, U32, wrapping_sub);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 510 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u64, i64, I64, U64, wrapping_sub);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 520 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u8, i8, I8, U8, wrapping_mul);
[INFO] [stdout]     |                     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 523 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u16, i16, I16, U16, wrapping_mul);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 526 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u32, i32, I32, U32, wrapping_mul);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 529 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u64, i64, I64, U64, wrapping_mul);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 539 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u8, i8, I8, U8, wrapping_div);
[INFO] [stdout]     |                     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 542 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u16, i16, I16, U16, wrapping_div);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 545 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u32, i32, I32, U32, wrapping_div);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 548 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u64, i64, I64, U64, wrapping_div);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 558 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u8, i8, I8, U8, wrapping_rem);
[INFO] [stdout]     |                     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 561 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u16, i16, I16, U16, wrapping_rem);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 564 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u32, i32, I32, U32, wrapping_rem);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 567 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u64, i64, I64, U64, wrapping_rem);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `module_name`
[INFO] [stdout]   --> src/binary/bytecode.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     module_name: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `module_version`
[INFO] [stdout]   --> src/binary/bytecode.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     module_version: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Mono`
[INFO] [stdout]  --> src/binary/variable.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     Mono(TypeTags),
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Record`
[INFO] [stdout]   --> src/binary/variable.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Record(BTreeMap<String, TypeTags>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Function`
[INFO] [stdout]   --> src/binary/variable.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Function(Vec<Type>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `YoungGCObject`
[INFO] [stdout]   --> src/vm/gc/lemondger.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct YoungGCObject {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `TriColor`
[INFO] [stdout]   --> src/vm/gc/lemondger.rs:36:6
[INFO] [stdout]    |
[INFO] [stdout] 36 | enum TriColor {
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `WB`
[INFO] [stdout]   --> src/vm/gc/lemondger.rs:41:6
[INFO] [stdout]    |
[INFO] [stdout] 41 | enum WB {
[INFO] [stdout]    |      ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `OldGCObject`
[INFO] [stdout]   --> src/vm/gc/lemondger.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | struct OldGCObject {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `ImmortalObject`
[INFO] [stdout]   --> src/vm/gc/lemondger.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | struct ImmortalObject {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `GCObject`
[INFO] [stdout]   --> src/vm/gc/lemondger.rs:66:6
[INFO] [stdout]    |
[INFO] [stdout] 66 | enum GCObject {
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `mark_young`
[INFO] [stdout]   --> src/vm/gc/lemondger.rs:80:8
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn mark_young(&mut self, path: &mut Vec<*mut Self>) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `color_old`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:105:8
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn color_old(&mut self, color: TriColor, path: &mut Vec<*mut Self>) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `mark_imm`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:144:8
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn mark_imm(&mut self, path: &mut Vec<*mut Self>) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `young_to_old`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:164:8
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn young_to_old(&mut self, path: &mut Vec<*mut Self>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `GCPool`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:189:8
[INFO] [stdout]     |
[INFO] [stdout] 189 | struct GCPool {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:196:8
[INFO] [stdout]     |
[INFO] [stdout] 196 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `add_young`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:204:8
[INFO] [stdout]     |
[INFO] [stdout] 204 |     fn add_young(&mut self, ptr: *mut u8, size: usize) -> *mut GCObject {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `add_old`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:217:8
[INFO] [stdout]     |
[INFO] [stdout] 217 |     fn add_old(&mut self, ptr: *mut u8, size: usize) -> *mut GCObject {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `add_imm`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 230 |     fn add_imm(&mut self, ptr: *mut u8, size: usize) -> *mut GCObject {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `upgrade_young`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:241:8
[INFO] [stdout]     |
[INFO] [stdout] 241 |     fn upgrade_young(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `young_generation_gc`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:256:8
[INFO] [stdout]     |
[INFO] [stdout] 256 |     fn young_generation_gc(&mut self, root: &mut Vec<*mut GCObject>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `color_all_old`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:302:8
[INFO] [stdout]     |
[INFO] [stdout] 302 |     fn color_all_old(&mut self, root: &mut Vec<*mut GCObject>, root_colored: bool) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `old_generation_gc`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:314:8
[INFO] [stdout]     |
[INFO] [stdout] 314 |     fn old_generation_gc(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `mark_young`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:321:4
[INFO] [stdout]     |
[INFO] [stdout] 321 | fn mark_young(root: &mut Vec<*mut GCObject>) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `color_old`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:329:4
[INFO] [stdout]     |
[INFO] [stdout] 329 | fn color_old(root: &mut Vec<*mut GCObject>) {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `mark_imm`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:337:4
[INFO] [stdout]     |
[INFO] [stdout] 337 | fn mark_imm(root: &mut Vec<*mut GCObject>) {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `gc`
[INFO] [stdout]   --> src/vm/gc/onclosegc.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     gc: NonNull<OnCloseGC>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new_null`
[INFO] [stdout]    --> src/vm/value.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn new_null() -> Self {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new_undef`
[INFO] [stdout]    --> src/vm/value.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 |     fn new_undef() -> Self {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new_boolean`
[INFO] [stdout]    --> src/vm/value.rs:126:8
[INFO] [stdout]     |
[INFO] [stdout] 126 |     fn new_boolean(boolean: bool) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new_f64`
[INFO] [stdout]    --> src/vm/value.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn new_f64(f: f64) -> Self {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new_string`
[INFO] [stdout]    --> src/vm/value.rs:133:8
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn new_string(string: String, gc: &mut dyn GC) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new_object`
[INFO] [stdout]    --> src/vm/value.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn new_object(object: BTreeMap<String, Value>, gc: &mut dyn GC) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new_opaque`
[INFO] [stdout]    --> src/vm/value.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn new_opaque(opaque: Vec<u8>, gc: &mut dyn GC) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `module_load_hook`
[INFO] [stdout]    --> src/vm/mod.rs:125:8
[INFO] [stdout]     |
[INFO] [stdout] 125 |     fn module_load_hook(function: fn() -> bool) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `load_module`
[INFO] [stdout]    --> src/vm/mod.rs:128:8
[INFO] [stdout]     |
[INFO] [stdout] 128 |     fn load_module() {}
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `run_module`
[INFO] [stdout]    --> src/vm/mod.rs:130:8
[INFO] [stdout]     |
[INFO] [stdout] 130 |     fn run_module() {}
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused attribute
[INFO] [stdout]  --> src/binary/io.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 119 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `CP` should have a snake case name
[INFO] [stdout]   --> src/main.rs:96:13
[INFO] [stdout]    |
[INFO] [stdout] 96 |     let mut CP = BTreeMap::new();
[INFO] [stdout]    |             ^^ help: convert the identifier to snake case: `cp`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypeTags`
[INFO] [stdout]   --> src/binary/bytecode.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     TypeTags,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::*`
[INFO] [stdout]   --> src/binary/bytecode.rs:92:13
[INFO] [stdout]    |
[INFO] [stdout] 92 |         use rand::*;
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::*`
[INFO] [stdout]   --> src/binary/debug.rs:62:13
[INFO] [stdout]    |
[INFO] [stdout] 62 |         use rand::*;
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::*`
[INFO] [stdout]    --> src/binary/debug.rs:139:13
[INFO] [stdout]     |
[INFO] [stdout] 139 |         use rand::*;
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::*`
[INFO] [stdout]    --> src/binary/debug.rs:219:13
[INFO] [stdout]     |
[INFO] [stdout] 219 |         use rand::*;
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::constant::*`
[INFO] [stdout]  --> src/binary/function.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::constant::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::BTreeMap`
[INFO] [stdout]   --> src/binary/function.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::collections::BTreeMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::*`
[INFO] [stdout]   --> src/binary/function.rs:40:13
[INFO] [stdout]    |
[INFO] [stdout] 40 |         use rand::*;
[INFO] [stdout]    |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::*`
[INFO] [stdout]    --> src/binary/function.rs:110:13
[INFO] [stdout]     |
[INFO] [stdout] 110 |         use rand::*;
[INFO] [stdout]     |             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::*`
[INFO] [stdout]   --> src/binary/io.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     use rand::*;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `rand::*`
[INFO] [stdout]   --> src/binary/io.rs:51:9
[INFO] [stdout]    |
[INFO] [stdout] 51 |     use rand::*;
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::bytecode::*`
[INFO] [stdout]  --> src/binary/test.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::bytecode::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::io::*`
[INFO] [stdout]  --> src/binary/test.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use super::io::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/binary/test.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude::*`
[INFO] [stdout]  --> src/binary/test.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufReader`
[INFO] [stdout]  --> src/binary/test.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::io::BufReader;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Layout`, `dealloc`
[INFO] [stdout]  --> src/vm/gc/onclosegc.rs:2:18
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::alloc::{dealloc, Layout};
[INFO] [stdout]   |                  ^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::register`
[INFO] [stdout]  --> src/vm/interpreter.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::register;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `config::*`, `constant::Constant`, `function::Function`
[INFO] [stdout]   --> src/vm/interpreter.rs:9:14
[INFO] [stdout]    |
[INFO] [stdout] 9  |     binary::{constant::Constant, function::Function, opcode::OpCode},
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     config::*,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `collections::BTreeMap`, `ptr::NonNull`
[INFO] [stdout]   --> src/vm/interpreter.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::{collections::BTreeMap, ptr::NonNull};
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused label
[INFO] [stdout]    --> src/vm/interpreter.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |         'fetch_exe: loop {
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_labels)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::mem::ManuallyDrop`
[INFO] [stdout]  --> src/vm/value.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::mem::ManuallyDrop;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]     --> src/vm/interpreter.rs:1855:9
[INFO] [stdout]      |
[INFO] [stdout] 135  | /         'fetch_exe: loop {
[INFO] [stdout] 136  | |             // on exception
[INFO] [stdout] 137  | |             if state.current_function_call_state.status == VMClosureStatus::Error {
[INFO] [stdout] 138  | |                 let mut find_exception_handle = false;
[INFO] [stdout] ...    |
[INFO] [stdout] 1851 | |             pc += 1;
[INFO] [stdout] 1852 | |         }
[INFO] [stdout]      | |_________- any code following this expression is unreachable
[INFO] [stdout] ...
[INFO] [stdout] 1855 |           state.current_function_call_state = state.current_function_call_state;
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unreachable_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/vm/gc/mod.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |             _ => unimplemented!(),
[INFO] [stdout]    |             ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/vm/gc/mod.rs:44:13
[INFO] [stdout]    |
[INFO] [stdout] 44 |             _ => unimplemented!(),
[INFO] [stdout]    |             ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `t`
[INFO] [stdout]   --> src/binary/function.rs:31:13
[INFO] [stdout]    |
[INFO] [stdout] 31 |             t if tag == FunctionType::Function as u8 => FunctionType::Function,
[INFO] [stdout]    |             ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/binary/function.rs:185:17
[INFO] [stdout]     |
[INFO] [stdout] 185 |             for i in 0u8..random() {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/binary/io.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |     for i in 0..10 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/binary/io.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |     for i in 0..10 {
[INFO] [stdout]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function`
[INFO] [stdout]    --> src/vm/mod.rs:125:25
[INFO] [stdout]     |
[INFO] [stdout] 125 |     fn module_load_hook(function: fn() -> bool) -> bool {
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `young`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:109:27
[INFO] [stdout]     |
[INFO] [stdout] 109 |             YoungGCObject(young) => panic!("ERROR! old generation object holds an young reference"),
[INFO] [stdout]     |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_young`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `old`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:291:37
[INFO] [stdout]     |
[INFO] [stdout] 291 |                         OldGCObject(old) => {
[INFO] [stdout]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_old`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]   --> src/vm/gc/onclosegc.rs:50:34
[INFO] [stdout]    |
[INFO] [stdout] 50 |             GCInnerValue::String(s) => vec![],
[INFO] [stdout]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vec`
[INFO] [stdout]   --> src/vm/gc/onclosegc.rs:51:34
[INFO] [stdout]    |
[INFO] [stdout] 51 |             GCInnerValue::Opaque(vec) => vec![],
[INFO] [stdout]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]   --> src/vm/gc/onclosegc.rs:63:22
[INFO] [stdout]    |
[INFO] [stdout] 63 |                 for (i, j) in map {
[INFO] [stdout]    |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e1x`
[INFO] [stdout]    --> src/vm/interpreter.rs:189:17
[INFO] [stdout]     |
[INFO] [stdout] 189 |             let e1x = (ci >> 16) as u32;
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_e1x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ed`
[INFO] [stdout]    --> src/vm/interpreter.rs:194:17
[INFO] [stdout]     |
[INFO] [stdout] 194 |             let ed = (ci >> 16) as u64;
[INFO] [stdout]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_ed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]    --> src/vm/interpreter.rs:323:31
[INFO] [stdout]     |
[INFO] [stdout] 323 |                     Value::U8(v) => panic!("ERROR! NEG A U8"),
[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/vm/interpreter.rs:325:32
[INFO] [stdout]     |
[INFO] [stdout] 325 |                     Value::U16(v) => panic!("ERROR! NEG A U16"),
[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/vm/interpreter.rs:327:32
[INFO] [stdout]     |
[INFO] [stdout] 327 |                     Value::U32(v) => panic!("ERROR! NEG A U32"),
[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/vm/interpreter.rs:329:32
[INFO] [stdout]     |
[INFO] [stdout] 329 |                     Value::U64(v) => panic!("ERROR! NEG A U64"),
[INFO] [stdout]     |                                ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `string`
[INFO] [stdout]    --> src/vm/value.rs:133:19
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn new_string(string: String, gc: &mut dyn GC) {
[INFO] [stdout]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_string`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gc`
[INFO] [stdout]    --> src/vm/value.rs:133:35
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn new_string(string: String, gc: &mut dyn GC) {
[INFO] [stdout]     |                                   ^^ help: if this is intentional, prefix it with an underscore: `_gc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `object`
[INFO] [stdout]    --> src/vm/value.rs:136:19
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn new_object(object: BTreeMap<String, Value>, gc: &mut dyn GC) {
[INFO] [stdout]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_object`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gc`
[INFO] [stdout]    --> src/vm/value.rs:136:52
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn new_object(object: BTreeMap<String, Value>, gc: &mut dyn GC) {
[INFO] [stdout]     |                                                    ^^ help: if this is intentional, prefix it with an underscore: `_gc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `opaque`
[INFO] [stdout]    --> src/vm/value.rs:139:19
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn new_opaque(opaque: Vec<u8>, gc: &mut dyn GC) {
[INFO] [stdout]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opaque`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `gc`
[INFO] [stdout]    --> src/vm/value.rs:139:36
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn new_opaque(opaque: Vec<u8>, gc: &mut dyn GC) {
[INFO] [stdout]     |                                    ^^ help: if this is intentional, prefix it with an underscore: `_gc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/binary/bytecode.rs:93:13
[INFO] [stdout]    |
[INFO] [stdout] 93 |         let mut ret = vec![];
[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: unnecessary `unsafe` block
[INFO] [stdout]   --> src/vm/gc/onclosegc.rs:94:13
[INFO] [stdout]    |
[INFO] [stdout] 86 |         unsafe {
[INFO] [stdout]    |         ------ because it's nested under this `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 94 |             unsafe { NonNull::new_unchecked(self.blocks.last_mut().unwrap()) }
[INFO] [stdout]    |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_unsafe)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:48:9
[INFO] [stdout]     |
[INFO] [stdout] 48  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 494 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,+);
[INFO] [stdout]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:48:9
[INFO] [stdout]     |
[INFO] [stdout] 48  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 497 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,+);
[INFO] [stdout]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:48:9
[INFO] [stdout]     |
[INFO] [stdout] 48  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 513 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,-);
[INFO] [stdout]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:48:9
[INFO] [stdout]     |
[INFO] [stdout] 48  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 516 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,-);
[INFO] [stdout]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:48:9
[INFO] [stdout]     |
[INFO] [stdout] 48  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 532 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,*);
[INFO] [stdout]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:48:9
[INFO] [stdout]     |
[INFO] [stdout] 48  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 535 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,*);
[INFO] [stdout]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:48:9
[INFO] [stdout]     |
[INFO] [stdout] 48  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 551 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,/);
[INFO] [stdout]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:48:9
[INFO] [stdout]     |
[INFO] [stdout] 48  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 554 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,/);
[INFO] [stdout]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:48:9
[INFO] [stdout]     |
[INFO] [stdout] 48  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 570 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,%);
[INFO] [stdout]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:48:9
[INFO] [stdout]     |
[INFO] [stdout] 48  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 573 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,%);
[INFO] [stdout]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 482 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u8, i8, I8, U8, wrapping_add);
[INFO] [stdout]     |                     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 485 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u16, i16, I16, U16, wrapping_add);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 488 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u32, i32, I32, U32, wrapping_add);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 491 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u64, i64, I64, U64, wrapping_add);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 501 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u8, i8, I8, U8, wrapping_sub);
[INFO] [stdout]     |                     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 504 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u16, i16, I16, U16, wrapping_sub);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 507 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u32, i32, I32, U32, wrapping_sub);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 510 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u64, i64, I64, U64, wrapping_sub);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 520 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u8, i8, I8, U8, wrapping_mul);
[INFO] [stdout]     |                     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 523 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u16, i16, I16, U16, wrapping_mul);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 526 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u32, i32, I32, U32, wrapping_mul);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 529 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u64, i64, I64, U64, wrapping_mul);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 539 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u8, i8, I8, U8, wrapping_div);
[INFO] [stdout]     |                     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 542 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u16, i16, I16, U16, wrapping_div);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 545 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u32, i32, I32, U32, wrapping_div);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 548 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u64, i64, I64, U64, wrapping_div);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 558 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u8, i8, I8, U8, wrapping_rem);
[INFO] [stdout]     |                     ----------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 561 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u16, i16, I16, U16, wrapping_rem);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 564 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u32, i32, I32, U32, wrapping_rem);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/vm/interpreter.rs:82:9
[INFO] [stdout]     |
[INFO] [stdout] 82  |         unsafe {
[INFO] [stdout]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] ...
[INFO] [stdout] 567 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u64, i64, I64, U64, wrapping_rem);
[INFO] [stdout]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `module_name`
[INFO] [stdout]   --> src/binary/bytecode.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     module_name: u16,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `module_version`
[INFO] [stdout]   --> src/binary/bytecode.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     module_version: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Mono`
[INFO] [stdout]  --> src/binary/variable.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     Mono(TypeTags),
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Record`
[INFO] [stdout]   --> src/binary/variable.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Record(BTreeMap<String, TypeTags>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant is never constructed: `Function`
[INFO] [stdout]   --> src/binary/variable.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Function(Vec<Type>),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `YoungGCObject`
[INFO] [stdout]   --> src/vm/gc/lemondger.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 | struct YoungGCObject {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `TriColor`
[INFO] [stdout]   --> src/vm/gc/lemondger.rs:36:6
[INFO] [stdout]    |
[INFO] [stdout] 36 | enum TriColor {
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `WB`
[INFO] [stdout]   --> src/vm/gc/lemondger.rs:41:6
[INFO] [stdout]    |
[INFO] [stdout] 41 | enum WB {
[INFO] [stdout]    |      ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `OldGCObject`
[INFO] [stdout]   --> src/vm/gc/lemondger.rs:46:8
[INFO] [stdout]    |
[INFO] [stdout] 46 | struct OldGCObject {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `ImmortalObject`
[INFO] [stdout]   --> src/vm/gc/lemondger.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | struct ImmortalObject {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum is never used: `GCObject`
[INFO] [stdout]   --> src/vm/gc/lemondger.rs:66:6
[INFO] [stdout]    |
[INFO] [stdout] 66 | enum GCObject {
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `mark_young`
[INFO] [stdout]   --> src/vm/gc/lemondger.rs:80:8
[INFO] [stdout]    |
[INFO] [stdout] 80 |     fn mark_young(&mut self, path: &mut Vec<*mut Self>) {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `color_old`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:105:8
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn color_old(&mut self, color: TriColor, path: &mut Vec<*mut Self>) {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `mark_imm`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:144:8
[INFO] [stdout]     |
[INFO] [stdout] 144 |     fn mark_imm(&mut self, path: &mut Vec<*mut Self>) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `young_to_old`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:164:8
[INFO] [stdout]     |
[INFO] [stdout] 164 |     fn young_to_old(&mut self, path: &mut Vec<*mut Self>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct is never constructed: `GCPool`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:189:8
[INFO] [stdout]     |
[INFO] [stdout] 189 | struct GCPool {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:196:8
[INFO] [stdout]     |
[INFO] [stdout] 196 |     fn new() -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `add_young`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:204:8
[INFO] [stdout]     |
[INFO] [stdout] 204 |     fn add_young(&mut self, ptr: *mut u8, size: usize) -> *mut GCObject {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `add_old`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:217:8
[INFO] [stdout]     |
[INFO] [stdout] 217 |     fn add_old(&mut self, ptr: *mut u8, size: usize) -> *mut GCObject {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `add_imm`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:230:8
[INFO] [stdout]     |
[INFO] [stdout] 230 |     fn add_imm(&mut self, ptr: *mut u8, size: usize) -> *mut GCObject {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `upgrade_young`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:241:8
[INFO] [stdout]     |
[INFO] [stdout] 241 |     fn upgrade_young(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `young_generation_gc`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:256:8
[INFO] [stdout]     |
[INFO] [stdout] 256 |     fn young_generation_gc(&mut self, root: &mut Vec<*mut GCObject>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `color_all_old`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:302:8
[INFO] [stdout]     |
[INFO] [stdout] 302 |     fn color_all_old(&mut self, root: &mut Vec<*mut GCObject>, root_colored: bool) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `old_generation_gc`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:314:8
[INFO] [stdout]     |
[INFO] [stdout] 314 |     fn old_generation_gc(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `mark_young`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:321:4
[INFO] [stdout]     |
[INFO] [stdout] 321 | fn mark_young(root: &mut Vec<*mut GCObject>) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `color_old`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:329:4
[INFO] [stdout]     |
[INFO] [stdout] 329 | fn color_old(root: &mut Vec<*mut GCObject>) {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function is never used: `mark_imm`
[INFO] [stdout]    --> src/vm/gc/lemondger.rs:337:4
[INFO] [stdout]     |
[INFO] [stdout] 337 | fn mark_imm(root: &mut Vec<*mut GCObject>) {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field is never read: `gc`
[INFO] [stdout]   --> src/vm/gc/onclosegc.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     gc: NonNull<OnCloseGC>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new_null`
[INFO] [stdout]    --> src/vm/value.rs:120:8
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn new_null() -> Self {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new_undef`
[INFO] [stdout]    --> src/vm/value.rs:123:8
[INFO] [stdout]     |
[INFO] [stdout] 123 |     fn new_undef() -> Self {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new_boolean`
[INFO] [stdout]    --> src/vm/value.rs:126:8
[INFO] [stdout]     |
[INFO] [stdout] 126 |     fn new_boolean(boolean: bool) -> Self {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new_f64`
[INFO] [stdout]    --> src/vm/value.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout] 129 |     fn new_f64(f: f64) -> Self {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new_string`
[INFO] [stdout]    --> src/vm/value.rs:133:8
[INFO] [stdout]     |
[INFO] [stdout] 133 |     fn new_string(string: String, gc: &mut dyn GC) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new_object`
[INFO] [stdout]    --> src/vm/value.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn new_object(object: BTreeMap<String, Value>, gc: &mut dyn GC) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `new_opaque`
[INFO] [stdout]    --> src/vm/value.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 139 |     fn new_opaque(opaque: Vec<u8>, gc: &mut dyn GC) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `module_load_hook`
[INFO] [stdout]    --> src/vm/mod.rs:125:8
[INFO] [stdout]     |
[INFO] [stdout] 125 |     fn module_load_hook(function: fn() -> bool) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `load_module`
[INFO] [stdout]    --> src/vm/mod.rs:128:8
[INFO] [stdout]     |
[INFO] [stdout] 128 |     fn load_module() {}
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function is never used: `run_module`
[INFO] [stdout]    --> src/vm/mod.rs:130:8
[INFO] [stdout]     |
[INFO] [stdout] 130 |     fn run_module() {}
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused attribute
[INFO] [stdout]  --> src/binary/io.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #[macro_use]
[INFO] [stdout]   | ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_rw_mock_Constant` should have a snake case name
[INFO] [stdout]    --> src/binary/constant.rs:159:34
[INFO] [stdout]     |
[INFO] [stdout] 159 | gen_test_reader_writer_for_type!(test_rw_mock_Constant, Constant);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `test_rw_mock_constant`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_rw_mock_DebugPrecompiledLineNumber` should have a snake case name
[INFO] [stdout]   --> src/binary/debug.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 41 |     test_rw_mock_DebugPrecompiledLineNumber,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_rw_mock_debug_precompiled_line_number`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_rw_mock_DebugPrecompiledLineNumberTable` should have a snake case name
[INFO] [stdout]   --> src/binary/debug.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     test_rw_mock_DebugPrecompiledLineNumberTable,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_rw_mock_debug_precompiled_line_number_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_rw_mock_DebugCompiledByteCodeComment` should have a snake case name
[INFO] [stdout]    --> src/binary/debug.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     test_rw_mock_DebugCompiledByteCodeComment,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_rw_mock_debug_compiled_byte_code_comment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_rw_mock_DebugCompiledByteCodeCommentTable` should have a snake case name
[INFO] [stdout]    --> src/binary/debug.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     test_rw_mock_DebugCompiledByteCodeCommentTable,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_rw_mock_debug_compiled_byte_code_comment_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_rw_mock_DebugVariable` should have a snake case name
[INFO] [stdout]    --> src/binary/debug.rs:198:34
[INFO] [stdout]     |
[INFO] [stdout] 198 | gen_test_reader_writer_for_type!(test_rw_mock_DebugVariable, DebugVariable);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_rw_mock_debug_variable`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_rw_mock_DebugVariableTable` should have a snake case name
[INFO] [stdout]    --> src/binary/debug.rs:232:34
[INFO] [stdout]     |
[INFO] [stdout] 232 | gen_test_reader_writer_for_type!(test_rw_mock_DebugVariableTable, DebugVariableTable);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_rw_mock_debug_variable_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_rw_mock_DebugSourceInfo` should have a snake case name
[INFO] [stdout]    --> src/binary/debug.rs:268:34
[INFO] [stdout]     |
[INFO] [stdout] 268 | gen_test_reader_writer_for_type!(test_rw_mock_DebugSourceInfo, DebugSourceInfo);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_rw_mock_debug_source_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_rw_mock_DebugInfo` should have a snake case name
[INFO] [stdout]    --> src/binary/debug.rs:336:34
[INFO] [stdout]     |
[INFO] [stdout] 336 | gen_test_reader_writer_for_type!(test_rw_mock_DebugInfo, DebugInfo);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_rw_mock_debug_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_rw_mock_FunctionType` should have a snake case name
[INFO] [stdout]   --> src/binary/function.rs:50:34
[INFO] [stdout]    |
[INFO] [stdout] 50 | gen_test_reader_writer_for_type!(test_rw_mock_FunctionType, FunctionType);
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_rw_mock_function_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_rw_mock_Exception` should have a snake case name
[INFO] [stdout]   --> src/binary/function.rs:93:34
[INFO] [stdout]    |
[INFO] [stdout] 93 | gen_test_reader_writer_for_type!(test_rw_mock_Exception, Exception);
[INFO] [stdout]    |                                  ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_rw_mock_exception`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_rw_mock_ExceptionTable` should have a snake case name
[INFO] [stdout]    --> src/binary/function.rs:124:34
[INFO] [stdout]     |
[INFO] [stdout] 124 | gen_test_reader_writer_for_type!(test_rw_mock_ExceptionTable, ExceptionTable);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_rw_mock_exception_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_rw_mock_Function` should have a snake case name
[INFO] [stdout]    --> src/binary/function.rs:213:34
[INFO] [stdout]     |
[INFO] [stdout] 213 | gen_test_reader_writer_for_type!(test_rw_mock_Function, Function);
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `test_rw_mock_function`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 131 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 4.20s
[INFO] running `Command { std: "docker" "inspect" "2c45aee4df8c20368beb41cc5692c8d24a5ce5905af7795fc7caf51ac91bd4c0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2c45aee4df8c20368beb41cc5692c8d24a5ce5905af7795fc7caf51ac91bd4c0", kill_on_drop: false }`
[INFO] [stdout] 2c45aee4df8c20368beb41cc5692c8d24a5ce5905af7795fc7caf51ac91bd4c0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-10/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+1.47.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 359b8dcabb63b6d7502af34e0c32397837b471c8a68f15a15299a90682cda148
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "359b8dcabb63b6d7502af34e0c32397837b471c8a68f15a15299a90682cda148", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `TypeTags`
[INFO] [stderr]   --> src/binary/bytecode.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 20 |     TypeTags,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::*`
[INFO] [stderr]   --> src/binary/bytecode.rs:92:13
[INFO] [stderr]    |
[INFO] [stderr] 92 |         use rand::*;
[INFO] [stderr]    |             ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::*`
[INFO] [stderr]   --> src/binary/debug.rs:62:13
[INFO] [stderr]    |
[INFO] [stderr] 62 |         use rand::*;
[INFO] [stderr]    |             ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::*`
[INFO] [stderr]    --> src/binary/debug.rs:139:13
[INFO] [stderr]     |
[INFO] [stderr] 139 |         use rand::*;
[INFO] [stderr]     |             ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::*`
[INFO] [stderr]    --> src/binary/debug.rs:219:13
[INFO] [stderr]     |
[INFO] [stderr] 219 |         use rand::*;
[INFO] [stderr]     |             ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::constant::*`
[INFO] [stderr]  --> src/binary/function.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use super::constant::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::BTreeMap`
[INFO] [stderr]   --> src/binary/function.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use std::collections::BTreeMap;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::*`
[INFO] [stderr]   --> src/binary/function.rs:40:13
[INFO] [stderr]    |
[INFO] [stderr] 40 |         use rand::*;
[INFO] [stderr]    |             ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::*`
[INFO] [stderr]    --> src/binary/function.rs:110:13
[INFO] [stderr]     |
[INFO] [stderr] 110 |         use rand::*;
[INFO] [stderr]     |             ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::*`
[INFO] [stderr]   --> src/binary/io.rs:23:9
[INFO] [stderr]    |
[INFO] [stderr] 23 |     use rand::*;
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::*`
[INFO] [stderr]   --> src/binary/io.rs:51:9
[INFO] [stderr]    |
[INFO] [stderr] 51 |     use rand::*;
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::bytecode::*`
[INFO] [stderr]  --> src/binary/test.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use super::bytecode::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::io::*`
[INFO] [stderr]  --> src/binary/test.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use super::io::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs::File`
[INFO] [stderr]  --> src/binary/test.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::fs::File;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::prelude::*`
[INFO] [stderr]  --> src/binary/test.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::io::prelude::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::BufReader`
[INFO] [stderr]  --> src/binary/test.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::io::BufReader;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Layout`, `dealloc`
[INFO] [stderr]  --> src/vm/gc/onclosegc.rs:2:18
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::alloc::{dealloc, Layout};
[INFO] [stderr]   |                  ^^^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::register`
[INFO] [stderr]  --> src/vm/interpreter.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use super::register;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `config::*`, `constant::Constant`, `function::Function`
[INFO] [stderr]   --> src/vm/interpreter.rs:9:14
[INFO] [stderr]    |
[INFO] [stderr] 9  |     binary::{constant::Constant, function::Function, opcode::OpCode},
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 10 |     config::*,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `collections::BTreeMap`, `ptr::NonNull`
[INFO] [stderr]   --> src/vm/interpreter.rs:13:11
[INFO] [stderr]    |
[INFO] [stderr] 13 | use std::{collections::BTreeMap, ptr::NonNull};
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused label
[INFO] [stderr]    --> src/vm/interpreter.rs:135:9
[INFO] [stderr]     |
[INFO] [stderr] 135 |         'fetch_exe: loop {
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_labels)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::mem::ManuallyDrop`
[INFO] [stderr]  --> src/vm/value.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::mem::ManuallyDrop;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable statement
[INFO] [stderr]     --> src/vm/interpreter.rs:1855:9
[INFO] [stderr]      |
[INFO] [stderr] 135  | /         'fetch_exe: loop {
[INFO] [stderr] 136  | |             // on exception
[INFO] [stderr] 137  | |             if state.current_function_call_state.status == VMClosureStatus::Error {
[INFO] [stderr] 138  | |                 let mut find_exception_handle = false;
[INFO] [stderr] ...    |
[INFO] [stderr] 1851 | |             pc += 1;
[INFO] [stderr] 1852 | |         }
[INFO] [stderr]      | |_________- any code following this expression is unreachable
[INFO] [stderr] ...
[INFO] [stderr] 1855 |           state.current_function_call_state = state.current_function_call_state;
[INFO] [stderr]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unreachable_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> src/vm/gc/mod.rs:33:13
[INFO] [stderr]    |
[INFO] [stderr] 33 |             _ => unimplemented!(),
[INFO] [stderr]    |             ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> src/vm/gc/mod.rs:44:13
[INFO] [stderr]    |
[INFO] [stderr] 44 |             _ => unimplemented!(),
[INFO] [stderr]    |             ^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `t`
[INFO] [stderr]   --> src/binary/function.rs:31:13
[INFO] [stderr]    |
[INFO] [stderr] 31 |             t if tag == FunctionType::Function as u8 => FunctionType::Function,
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/binary/function.rs:185:17
[INFO] [stderr]     |
[INFO] [stderr] 185 |             for i in 0u8..random() {
[INFO] [stderr]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/binary/io.rs:25:9
[INFO] [stderr]    |
[INFO] [stderr] 25 |     for i in 0..10 {
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/binary/io.rs:53:9
[INFO] [stderr]    |
[INFO] [stderr] 53 |     for i in 0..10 {
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `function`
[INFO] [stderr]    --> src/vm/mod.rs:125:25
[INFO] [stderr]     |
[INFO] [stderr] 125 |     fn module_load_hook(function: fn() -> bool) -> bool {
[INFO] [stderr]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `young`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:109:27
[INFO] [stderr]     |
[INFO] [stderr] 109 |             YoungGCObject(young) => panic!("ERROR! old generation object holds an young reference"),
[INFO] [stderr]     |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_young`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `old`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:291:37
[INFO] [stderr]     |
[INFO] [stderr] 291 |                         OldGCObject(old) => {
[INFO] [stderr]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_old`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `s`
[INFO] [stderr]   --> src/vm/gc/onclosegc.rs:50:34
[INFO] [stderr]    |
[INFO] [stderr] 50 |             GCInnerValue::String(s) => vec![],
[INFO] [stderr]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `vec`
[INFO] [stderr]   --> src/vm/gc/onclosegc.rs:51:34
[INFO] [stderr]    |
[INFO] [stderr] 51 |             GCInnerValue::Opaque(vec) => vec![],
[INFO] [stderr]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_vec`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/vm/gc/onclosegc.rs:63:22
[INFO] [stderr]    |
[INFO] [stderr] 63 |                 for (i, j) in map {
[INFO] [stderr]    |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e1x`
[INFO] [stderr]    --> src/vm/interpreter.rs:189:17
[INFO] [stderr]     |
[INFO] [stderr] 189 |             let e1x = (ci >> 16) as u32;
[INFO] [stderr]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_e1x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ed`
[INFO] [stderr]    --> src/vm/interpreter.rs:194:17
[INFO] [stderr]     |
[INFO] [stderr] 194 |             let ed = (ci >> 16) as u64;
[INFO] [stderr]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_ed`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `v`
[INFO] [stderr]    --> src/vm/interpreter.rs:323:31
[INFO] [stderr]     |
[INFO] [stderr] 323 |                     Value::U8(v) => panic!("ERROR! NEG A U8"),
[INFO] [stderr]     |                               ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `v`
[INFO] [stderr]    --> src/vm/interpreter.rs:325:32
[INFO] [stderr]     |
[INFO] [stderr] 325 |                     Value::U16(v) => panic!("ERROR! NEG A U16"),
[INFO] [stderr]     |                                ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `v`
[INFO] [stderr]    --> src/vm/interpreter.rs:327:32
[INFO] [stderr]     |
[INFO] [stderr] 327 |                     Value::U32(v) => panic!("ERROR! NEG A U32"),
[INFO] [stderr]     |                                ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `v`
[INFO] [stderr]    --> src/vm/interpreter.rs:329:32
[INFO] [stderr]     |
[INFO] [stderr] 329 |                     Value::U64(v) => panic!("ERROR! NEG A U64"),
[INFO] [stderr]     |                                ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `string`
[INFO] [stderr]    --> src/vm/value.rs:133:19
[INFO] [stderr]     |
[INFO] [stderr] 133 |     fn new_string(string: String, gc: &mut dyn GC) {
[INFO] [stderr]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_string`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `gc`
[INFO] [stderr]    --> src/vm/value.rs:133:35
[INFO] [stderr]     |
[INFO] [stderr] 133 |     fn new_string(string: String, gc: &mut dyn GC) {
[INFO] [stderr]     |                                   ^^ help: if this is intentional, prefix it with an underscore: `_gc`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `object`
[INFO] [stderr]    --> src/vm/value.rs:136:19
[INFO] [stderr]     |
[INFO] [stderr] 136 |     fn new_object(object: BTreeMap<String, Value>, gc: &mut dyn GC) {
[INFO] [stderr]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_object`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `gc`
[INFO] [stderr]    --> src/vm/value.rs:136:52
[INFO] [stderr]     |
[INFO] [stderr] 136 |     fn new_object(object: BTreeMap<String, Value>, gc: &mut dyn GC) {
[INFO] [stderr]     |                                                    ^^ help: if this is intentional, prefix it with an underscore: `_gc`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `opaque`
[INFO] [stderr]    --> src/vm/value.rs:139:19
[INFO] [stderr]     |
[INFO] [stderr] 139 |     fn new_opaque(opaque: Vec<u8>, gc: &mut dyn GC) {
[INFO] [stderr]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opaque`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `gc`
[INFO] [stderr]    --> src/vm/value.rs:139:36
[INFO] [stderr]     |
[INFO] [stderr] 139 |     fn new_opaque(opaque: Vec<u8>, gc: &mut dyn GC) {
[INFO] [stderr]     |                                    ^^ help: if this is intentional, prefix it with an underscore: `_gc`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `TypeTags`
[INFO] [stderr]   --> src/binary/bytecode.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 20 |     TypeTags,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::*`
[INFO] [stderr]   --> src/binary/bytecode.rs:92:13
[INFO] [stderr]    |
[INFO] [stderr] 92 |         use rand::*;
[INFO] [stderr]    |             ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/binary/bytecode.rs:93:13
[INFO] [stderr]    |
[INFO] [stderr] 93 |         let mut ret = vec![];
[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: unnecessary `unsafe` block
[INFO] [stderr]   --> src/vm/gc/onclosegc.rs:94:13
[INFO] [stderr]    |
[INFO] [stderr] 86 |         unsafe {
[INFO] [stderr]    |         ------ because it's nested under this `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 94 |             unsafe { NonNull::new_unchecked(self.blocks.last_mut().unwrap()) }
[INFO] [stderr]    |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_unsafe)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:48:9
[INFO] [stderr]     |
[INFO] [stderr] 48  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 494 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,+);
[INFO] [stderr]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:48:9
[INFO] [stderr]     |
[INFO] [stderr] 48  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 497 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,+);
[INFO] [stderr]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:48:9
[INFO] [stderr]     |
[INFO] [stderr] 48  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 513 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,-);
[INFO] [stderr]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:48:9
[INFO] [stderr]     |
[INFO] [stderr] 48  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 516 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,-);
[INFO] [stderr]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:48:9
[INFO] [stderr]     |
[INFO] [stderr] 48  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 532 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,*);
[INFO] [stderr]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:48:9
[INFO] [stderr]     |
[INFO] [stderr] 48  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 535 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,*);
[INFO] [stderr]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:48:9
[INFO] [stderr]     |
[INFO] [stderr] 48  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 551 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,/);
[INFO] [stderr]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:48:9
[INFO] [stderr]     |
[INFO] [stderr] 48  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 554 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,/);
[INFO] [stderr]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:48:9
[INFO] [stderr]     |
[INFO] [stderr] 48  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 570 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,%);
[INFO] [stderr]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:48:9
[INFO] [stderr]     |
[INFO] [stderr] 48  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 573 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,%);
[INFO] [stderr]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 482 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u8, i8, I8, U8, wrapping_add);
[INFO] [stderr]     |                     ----------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 485 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u16, i16, I16, U16, wrapping_add);
[INFO] [stderr]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 488 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u32, i32, I32, U32, wrapping_add);
[INFO] [stderr]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 491 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u64, i64, I64, U64, wrapping_add);
[INFO] [stderr]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 501 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u8, i8, I8, U8, wrapping_sub);
[INFO] [stderr]     |                     ----------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 504 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u16, i16, I16, U16, wrapping_sub);
[INFO] [stderr]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 507 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u32, i32, I32, U32, wrapping_sub);
[INFO] [stderr]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 510 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u64, i64, I64, U64, wrapping_sub);
[INFO] [stderr]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 520 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u8, i8, I8, U8, wrapping_mul);
[INFO] [stderr]     |                     ----------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 523 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u16, i16, I16, U16, wrapping_mul);
[INFO] [stderr]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 526 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u32, i32, I32, U32, wrapping_mul);
[INFO] [stderr]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 529 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u64, i64, I64, U64, wrapping_mul);
[INFO] [stderr]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 539 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u8, i8, I8, U8, wrapping_div);
[INFO] [stderr]     |                     ----------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 542 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u16, i16, I16, U16, wrapping_div);
[INFO] [stderr]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 545 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u32, i32, I32, U32, wrapping_div);
[INFO] [stderr]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 548 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u64, i64, I64, U64, wrapping_div);
[INFO] [stderr]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 558 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u8, i8, I8, U8, wrapping_rem);
[INFO] [stderr]     |                     ----------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 561 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u16, i16, I16, U16, wrapping_rem);
[INFO] [stderr]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 564 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u32, i32, I32, U32, wrapping_rem);
[INFO] [stderr]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 567 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u64, i64, I64, U64, wrapping_rem);
[INFO] [stderr]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `module_name`
[INFO] [stderr]   --> src/binary/bytecode.rs:33:5
[INFO] [stderr]    |
[INFO] [stderr] 33 |     module_name: u16,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `module_version`
[INFO] [stderr]   --> src/binary/bytecode.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 34 |     module_version: u32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Mono`
[INFO] [stderr]  --> src/binary/variable.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 |     Mono(TypeTags),
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Record`
[INFO] [stderr]   --> src/binary/variable.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 |     Record(BTreeMap<String, TypeTags>),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Function`
[INFO] [stderr]   --> src/binary/variable.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 |     Function(Vec<Type>),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `YoungGCObject`
[INFO] [stderr]   --> src/vm/gc/lemondger.rs:21:8
[INFO] [stderr]    |
[INFO] [stderr] 21 | struct YoungGCObject {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum is never used: `TriColor`
[INFO] [stderr]   --> src/vm/gc/lemondger.rs:36:6
[INFO] [stderr]    |
[INFO] [stderr] 36 | enum TriColor {
[INFO] [stderr]    |      ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum is never used: `WB`
[INFO] [stderr]   --> src/vm/gc/lemondger.rs:41:6
[INFO] [stderr]    |
[INFO] [stderr] 41 | enum WB {
[INFO] [stderr]    |      ^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `OldGCObject`
[INFO] [stderr]   --> src/vm/gc/lemondger.rs:46:8
[INFO] [stderr]    |
[INFO] [stderr] 46 | struct OldGCObject {
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `ImmortalObject`
[INFO] [stderr]   --> src/vm/gc/lemondger.rs:57:8
[INFO] [stderr]    |
[INFO] [stderr] 57 | struct ImmortalObject {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum is never used: `GCObject`
[INFO] [stderr]   --> src/vm/gc/lemondger.rs:66:6
[INFO] [stderr]    |
[INFO] [stderr] 66 | enum GCObject {
[INFO] [stderr]    |      ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `mark_young`
[INFO] [stderr]   --> src/vm/gc/lemondger.rs:80:8
[INFO] [stderr]    |
[INFO] [stderr] 80 |     fn mark_young(&mut self, path: &mut Vec<*mut Self>) {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `color_old`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:105:8
[INFO] [stderr]     |
[INFO] [stderr] 105 |     fn color_old(&mut self, color: TriColor, path: &mut Vec<*mut Self>) {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `mark_imm`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:144:8
[INFO] [stderr]     |
[INFO] [stderr] 144 |     fn mark_imm(&mut self, path: &mut Vec<*mut Self>) {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `young_to_old`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:164:8
[INFO] [stderr]     |
[INFO] [stderr] 164 |     fn young_to_old(&mut self, path: &mut Vec<*mut Self>) {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `GCPool`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:189:8
[INFO] [stderr]     |
[INFO] [stderr] 189 | struct GCPool {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:196:8
[INFO] [stderr]     |
[INFO] [stderr] 196 |     fn new() -> Self {
[INFO] [stderr]     |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `add_young`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:204:8
[INFO] [stderr]     |
[INFO] [stderr] 204 |     fn add_young(&mut self, ptr: *mut u8, size: usize) -> *mut GCObject {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `add_old`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:217:8
[INFO] [stderr]     |
[INFO] [stderr] 217 |     fn add_old(&mut self, ptr: *mut u8, size: usize) -> *mut GCObject {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `add_imm`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:230:8
[INFO] [stderr]     |
[INFO] [stderr] 230 |     fn add_imm(&mut self, ptr: *mut u8, size: usize) -> *mut GCObject {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `upgrade_young`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:241:8
[INFO] [stderr]     |
[INFO] [stderr] 241 |     fn upgrade_young(&mut self) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `young_generation_gc`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:256:8
[INFO] [stderr]     |
[INFO] [stderr] 256 |     fn young_generation_gc(&mut self, root: &mut Vec<*mut GCObject>) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `color_all_old`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:302:8
[INFO] [stderr]     |
[INFO] [stderr] 302 |     fn color_all_old(&mut self, root: &mut Vec<*mut GCObject>, root_colored: bool) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `old_generation_gc`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:314:8
[INFO] [stderr]     |
[INFO] [stderr] 314 |     fn old_generation_gc(&mut self) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `mark_young`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:321:4
[INFO] [stderr]     |
[INFO] [stderr] 321 | fn mark_young(root: &mut Vec<*mut GCObject>) {
[INFO] [stderr]     |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `color_old`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:329:4
[INFO] [stderr]     |
[INFO] [stderr] 329 | fn color_old(root: &mut Vec<*mut GCObject>) {
[INFO] [stderr]     |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `mark_imm`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:337:4
[INFO] [stderr]     |
[INFO] [stderr] 337 | fn mark_imm(root: &mut Vec<*mut GCObject>) {
[INFO] [stderr]     |    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `gc`
[INFO] [stderr]   --> src/vm/gc/onclosegc.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 |     gc: NonNull<OnCloseGC>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new_null`
[INFO] [stderr]    --> src/vm/value.rs:120:8
[INFO] [stderr]     |
[INFO] [stderr] 120 |     fn new_null() -> Self {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new_undef`
[INFO] [stderr]    --> src/vm/value.rs:123:8
[INFO] [stderr]     |
[INFO] [stderr] 123 |     fn new_undef() -> Self {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new_boolean`
[INFO] [stderr]    --> src/vm/value.rs:126:8
[INFO] [stderr]     |
[INFO] [stderr] 126 |     fn new_boolean(boolean: bool) -> Self {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new_f64`
[INFO] [stderr]    --> src/vm/value.rs:129:8
[INFO] [stderr]     |
[INFO] [stderr] 129 |     fn new_f64(f: f64) -> Self {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new_string`
[INFO] [stderr]    --> src/vm/value.rs:133:8
[INFO] [stderr]     |
[INFO] [stderr] 133 |     fn new_string(string: String, gc: &mut dyn GC) {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new_object`
[INFO] [stderr]    --> src/vm/value.rs:136:8
[INFO] [stderr]     |
[INFO] [stderr] 136 |     fn new_object(object: BTreeMap<String, Value>, gc: &mut dyn GC) {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new_opaque`
[INFO] [stderr]    --> src/vm/value.rs:139:8
[INFO] [stderr]     |
[INFO] [stderr] 139 |     fn new_opaque(opaque: Vec<u8>, gc: &mut dyn GC) {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `module_load_hook`
[INFO] [stderr]    --> src/vm/mod.rs:125:8
[INFO] [stderr]     |
[INFO] [stderr] 125 |     fn module_load_hook(function: fn() -> bool) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `load_module`
[INFO] [stderr]    --> src/vm/mod.rs:128:8
[INFO] [stderr]     |
[INFO] [stderr] 128 |     fn load_module() {}
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `run_module`
[INFO] [stderr]    --> src/vm/mod.rs:130:8
[INFO] [stderr]     |
[INFO] [stderr] 130 |     fn run_module() {}
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused attribute
[INFO] [stderr]  --> src/binary/io.rs:1:1
[INFO] [stderr]   |
[INFO] [stderr] 1 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_attributes)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_rw_mock_Constant` should have a snake case name
[INFO] [stderr]    --> src/binary/constant.rs:159:34
[INFO] [stderr]     |
[INFO] [stderr] 159 | gen_test_reader_writer_for_type!(test_rw_mock_Constant, Constant);
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `test_rw_mock_constant`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_rw_mock_DebugPrecompiledLineNumber` should have a snake case name
[INFO] [stderr]   --> src/binary/debug.rs:41:5
[INFO] [stderr]    |
[INFO] [stderr] 41 |     test_rw_mock_DebugPrecompiledLineNumber,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_rw_mock_debug_precompiled_line_number`
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_rw_mock_DebugPrecompiledLineNumberTable` should have a snake case name
[INFO] [stderr]   --> src/binary/debug.rs:76:5
[INFO] [stderr]    |
[INFO] [stderr] 76 |     test_rw_mock_DebugPrecompiledLineNumberTable,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_rw_mock_debug_precompiled_line_number_table`
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_rw_mock_DebugCompiledByteCodeComment` should have a snake case name
[INFO] [stderr]    --> src/binary/debug.rs:120:5
[INFO] [stderr]     |
[INFO] [stderr] 120 |     test_rw_mock_DebugCompiledByteCodeComment,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_rw_mock_debug_compiled_byte_code_comment`
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_rw_mock_DebugCompiledByteCodeCommentTable` should have a snake case name
[INFO] [stderr]    --> src/binary/debug.rs:153:5
[INFO] [stderr]     |
[INFO] [stderr] 153 |     test_rw_mock_DebugCompiledByteCodeCommentTable,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_rw_mock_debug_compiled_byte_code_comment_table`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::*`
[INFO] [stderr]   --> src/binary/debug.rs:62:13
[INFO] [stderr]    |
[INFO] [stderr] 62 |         use rand::*;
[INFO] [stderr]    |             ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_rw_mock_DebugVariable` should have a snake case name
[INFO] [stderr]    --> src/binary/debug.rs:198:34
[INFO] [stderr]     |
[INFO] [stderr] 198 | gen_test_reader_writer_for_type!(test_rw_mock_DebugVariable, DebugVariable);
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_rw_mock_debug_variable`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::*`
[INFO] [stderr]    --> src/binary/debug.rs:139:13
[INFO] [stderr]     |
[INFO] [stderr] 139 |         use rand::*;
[INFO] [stderr]     |             ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_rw_mock_DebugVariableTable` should have a snake case name
[INFO] [stderr]    --> src/binary/debug.rs:232:34
[INFO] [stderr]     |
[INFO] [stderr] 232 | gen_test_reader_writer_for_type!(test_rw_mock_DebugVariableTable, DebugVariableTable);
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_rw_mock_debug_variable_table`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::*`
[INFO] [stderr]    --> src/binary/debug.rs:219:13
[INFO] [stderr]     |
[INFO] [stderr] 219 |         use rand::*;
[INFO] [stderr]     |             ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_rw_mock_DebugSourceInfo` should have a snake case name
[INFO] [stderr]    --> src/binary/debug.rs:268:34
[INFO] [stderr]     |
[INFO] [stderr] 268 | gen_test_reader_writer_for_type!(test_rw_mock_DebugSourceInfo, DebugSourceInfo);
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_rw_mock_debug_source_info`
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_rw_mock_DebugInfo` should have a snake case name
[INFO] [stderr]    --> src/binary/debug.rs:336:34
[INFO] [stderr]     |
[INFO] [stderr] 336 | gen_test_reader_writer_for_type!(test_rw_mock_DebugInfo, DebugInfo);
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_rw_mock_debug_info`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::constant::*`
[INFO] [stderr]  --> src/binary/function.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use super::constant::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_rw_mock_FunctionType` should have a snake case name
[INFO] [stderr]   --> src/binary/function.rs:50:34
[INFO] [stderr]    |
[INFO] [stderr] 50 | gen_test_reader_writer_for_type!(test_rw_mock_FunctionType, FunctionType);
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_rw_mock_function_type`
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Writer`
[INFO] [stderr]   --> src/binary/function.rs:10:28
[INFO] [stderr]    |
[INFO] [stderr] 10 |     io::{BinaryRW, Reader, Writer},
[INFO] [stderr]    |                            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::BTreeMap`
[INFO] [stderr]   --> src/binary/function.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use std::collections::BTreeMap;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::*`
[INFO] [stderr]   --> src/binary/function.rs:40:13
[INFO] [stderr]    |
[INFO] [stderr] 40 |         use rand::*;
[INFO] [stderr]    |             ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::*`
[INFO] [stderr]    --> src/binary/function.rs:110:13
[INFO] [stderr]     |
[INFO] [stderr] 110 |         use rand::*;
[INFO] [stderr]     |             ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::*`
[INFO] [stderr]   --> src/binary/io.rs:23:9
[INFO] [stderr]    |
[INFO] [stderr] 23 |     use rand::*;
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `rand::*`
[INFO] [stderr]   --> src/binary/io.rs:51:9
[INFO] [stderr]    |
[INFO] [stderr] 51 |     use rand::*;
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::bytecode::*`
[INFO] [stderr]  --> src/binary/test.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use super::bytecode::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::io::*`
[INFO] [stderr]  --> src/binary/test.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use super::io::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs::File`
[INFO] [stderr]  --> src/binary/test.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::fs::File;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::prelude::*`
[INFO] [stderr]  --> src/binary/test.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::io::prelude::*;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::BufReader`
[INFO] [stderr]  --> src/binary/test.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::io::BufReader;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Layout`, `dealloc`
[INFO] [stderr]  --> src/vm/gc/onclosegc.rs:2:18
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::alloc::{dealloc, Layout};
[INFO] [stderr]   |                  ^^^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::register`
[INFO] [stderr]  --> src/vm/interpreter.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use super::register;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `config::*`, `constant::Constant`, `function::Function`
[INFO] [stderr]   --> src/vm/interpreter.rs:9:14
[INFO] [stderr]    |
[INFO] [stderr] 9  |     binary::{constant::Constant, function::Function, opcode::OpCode},
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 10 |     config::*,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `collections::BTreeMap`, `ptr::NonNull`
[INFO] [stderr]   --> src/vm/interpreter.rs:13:11
[INFO] [stderr]    |
[INFO] [stderr] 13 | use std::{collections::BTreeMap, ptr::NonNull};
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused label
[INFO] [stderr]    --> src/vm/interpreter.rs:135:9
[INFO] [stderr]     |
[INFO] [stderr] 135 |         'fetch_exe: loop {
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_labels)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::mem::ManuallyDrop`
[INFO] [stderr]  --> src/vm/value.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::mem::ManuallyDrop;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable statement
[INFO] [stderr]     --> src/vm/interpreter.rs:1855:9
[INFO] [stderr]      |
[INFO] [stderr] 135  | /         'fetch_exe: loop {
[INFO] [stderr] 136  | |             // on exception
[INFO] [stderr] 137  | |             if state.current_function_call_state.status == VMClosureStatus::Error {
[INFO] [stderr] 138  | |                 let mut find_exception_handle = false;
[INFO] [stderr] ...    |
[INFO] [stderr] 1851 | |             pc += 1;
[INFO] [stderr] 1852 | |         }
[INFO] [stderr]      | |_________- any code following this expression is unreachable
[INFO] [stderr] ...
[INFO] [stderr] 1855 |           state.current_function_call_state = state.current_function_call_state;
[INFO] [stderr]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unreachable_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> src/vm/gc/mod.rs:33:13
[INFO] [stderr]    |
[INFO] [stderr] 33 |             _ => unimplemented!(),
[INFO] [stderr]    |             ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> src/vm/gc/mod.rs:44:13
[INFO] [stderr]    |
[INFO] [stderr] 44 |             _ => unimplemented!(),
[INFO] [stderr]    |             ^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `t`
[INFO] [stderr]   --> src/binary/function.rs:31:13
[INFO] [stderr]    |
[INFO] [stderr] 31 |             t if tag == FunctionType::Function as u8 => FunctionType::Function,
[INFO] [stderr]    |             ^ help: if this is intentional, prefix it with an underscore: `_t`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]    --> src/binary/function.rs:185:17
[INFO] [stderr]     |
[INFO] [stderr] 185 |             for i in 0u8..random() {
[INFO] [stderr]     |                 ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/binary/io.rs:25:9
[INFO] [stderr]    |
[INFO] [stderr] 25 |     for i in 0..10 {
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/binary/io.rs:53:9
[INFO] [stderr]    |
[INFO] [stderr] 53 |     for i in 0..10 {
[INFO] [stderr]    |         ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `function`
[INFO] [stderr]    --> src/vm/mod.rs:125:25
[INFO] [stderr]     |
[INFO] [stderr] 125 |     fn module_load_hook(function: fn() -> bool) -> bool {
[INFO] [stderr]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `young`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:109:27
[INFO] [stderr]     |
[INFO] [stderr] 109 |             YoungGCObject(young) => panic!("ERROR! old generation object holds an young reference"),
[INFO] [stderr]     |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_young`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `old`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:291:37
[INFO] [stderr]     |
[INFO] [stderr] 291 |                         OldGCObject(old) => {
[INFO] [stderr]     |                                     ^^^ help: if this is intentional, prefix it with an underscore: `_old`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `s`
[INFO] [stderr]   --> src/vm/gc/onclosegc.rs:50:34
[INFO] [stderr]    |
[INFO] [stderr] 50 |             GCInnerValue::String(s) => vec![],
[INFO] [stderr]    |                                  ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `vec`
[INFO] [stderr]   --> src/vm/gc/onclosegc.rs:51:34
[INFO] [stderr]    |
[INFO] [stderr] 51 |             GCInnerValue::Opaque(vec) => vec![],
[INFO] [stderr]    |                                  ^^^ help: if this is intentional, prefix it with an underscore: `_vec`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `i`
[INFO] [stderr]   --> src/vm/gc/onclosegc.rs:63:22
[INFO] [stderr]    |
[INFO] [stderr] 63 |                 for (i, j) in map {
[INFO] [stderr]    |                      ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `e1x`
[INFO] [stderr]    --> src/vm/interpreter.rs:189:17
[INFO] [stderr]     |
[INFO] [stderr] 189 |             let e1x = (ci >> 16) as u32;
[INFO] [stderr]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_e1x`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ed`
[INFO] [stderr]    --> src/vm/interpreter.rs:194:17
[INFO] [stderr]     |
[INFO] [stderr] 194 |             let ed = (ci >> 16) as u64;
[INFO] [stderr]     |                 ^^ help: if this is intentional, prefix it with an underscore: `_ed`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `v`
[INFO] [stderr]    --> src/vm/interpreter.rs:323:31
[INFO] [stderr]     |
[INFO] [stderr] 323 |                     Value::U8(v) => panic!("ERROR! NEG A U8"),
[INFO] [stderr]     |                               ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `v`
[INFO] [stderr]    --> src/vm/interpreter.rs:325:32
[INFO] [stderr]     |
[INFO] [stderr] 325 |                     Value::U16(v) => panic!("ERROR! NEG A U16"),
[INFO] [stderr]     |                                ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `v`
[INFO] [stderr]    --> src/vm/interpreter.rs:327:32
[INFO] [stderr]     |
[INFO] [stderr] 327 |                     Value::U32(v) => panic!("ERROR! NEG A U32"),
[INFO] [stderr]     |                                ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `v`
[INFO] [stderr]    --> src/vm/interpreter.rs:329:32
[INFO] [stderr]     |
[INFO] [stderr] 329 |                     Value::U64(v) => panic!("ERROR! NEG A U64"),
[INFO] [stderr]     |                                ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `string`
[INFO] [stderr]    --> src/vm/value.rs:133:19
[INFO] [stderr]     |
[INFO] [stderr] 133 |     fn new_string(string: String, gc: &mut dyn GC) {
[INFO] [stderr]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_string`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `gc`
[INFO] [stderr]    --> src/vm/value.rs:133:35
[INFO] [stderr]     |
[INFO] [stderr] 133 |     fn new_string(string: String, gc: &mut dyn GC) {
[INFO] [stderr]     |                                   ^^ help: if this is intentional, prefix it with an underscore: `_gc`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `object`
[INFO] [stderr]    --> src/vm/value.rs:136:19
[INFO] [stderr]     |
[INFO] [stderr] 136 |     fn new_object(object: BTreeMap<String, Value>, gc: &mut dyn GC) {
[INFO] [stderr]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_object`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `gc`
[INFO] [stderr]    --> src/vm/value.rs:136:52
[INFO] [stderr]     |
[INFO] [stderr] 136 |     fn new_object(object: BTreeMap<String, Value>, gc: &mut dyn GC) {
[INFO] [stderr]     |                                                    ^^ help: if this is intentional, prefix it with an underscore: `_gc`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `opaque`
[INFO] [stderr]    --> src/vm/value.rs:139:19
[INFO] [stderr]     |
[INFO] [stderr] 139 |     fn new_opaque(opaque: Vec<u8>, gc: &mut dyn GC) {
[INFO] [stderr]     |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_opaque`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `gc`
[INFO] [stderr]    --> src/vm/value.rs:139:36
[INFO] [stderr]     |
[INFO] [stderr] 139 |     fn new_opaque(opaque: Vec<u8>, gc: &mut dyn GC) {
[INFO] [stderr]     |                                    ^^ help: if this is intentional, prefix it with an underscore: `_gc`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/binary/bytecode.rs:93:13
[INFO] [stderr]    |
[INFO] [stderr] 93 |         let mut ret = vec![];
[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: unnecessary `unsafe` block
[INFO] [stderr]   --> src/vm/gc/onclosegc.rs:94:13
[INFO] [stderr]    |
[INFO] [stderr] 86 |         unsafe {
[INFO] [stderr]    |         ------ because it's nested under this `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 94 |             unsafe { NonNull::new_unchecked(self.blocks.last_mut().unwrap()) }
[INFO] [stderr]    |             ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_unsafe)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:48:9
[INFO] [stderr]     |
[INFO] [stderr] 48  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 494 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,+);
[INFO] [stderr]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:48:9
[INFO] [stderr]     |
[INFO] [stderr] 48  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 497 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,+);
[INFO] [stderr]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:48:9
[INFO] [stderr]     |
[INFO] [stderr] 48  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 513 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,-);
[INFO] [stderr]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:48:9
[INFO] [stderr]     |
[INFO] [stderr] 48  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 516 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,-);
[INFO] [stderr]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_rw_mock_Exception` should have a snake case name
[INFO] [stderr]   --> src/binary/function.rs:93:34
[INFO] [stderr]    |
[INFO] [stderr] 93 | gen_test_reader_writer_for_type!(test_rw_mock_Exception, Exception);
[INFO] [stderr]    |                                  ^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_rw_mock_exception`
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_rw_mock_ExceptionTable` should have a snake case name
[INFO] [stderr]    --> src/binary/function.rs:124:34
[INFO] [stderr]     |
[INFO] [stderr] 124 | gen_test_reader_writer_for_type!(test_rw_mock_ExceptionTable, ExceptionTable);
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `test_rw_mock_exception_table`
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_rw_mock_Function` should have a snake case name
[INFO] [stderr]    --> src/binary/function.rs:213:34
[INFO] [stderr]     |
[INFO] [stderr] 213 | gen_test_reader_writer_for_type!(test_rw_mock_Function, Function);
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `test_rw_mock_function`
[INFO] [stderr] 
[INFO] [stderr] warning: 131 warnings emitted
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:48:9
[INFO] [stderr]     |
[INFO] [stderr] 48  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 532 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,*);
[INFO] [stderr]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:48:9
[INFO] [stderr]     |
[INFO] [stderr] 48  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 535 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,*);
[INFO] [stderr]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:48:9
[INFO] [stderr]     |
[INFO] [stderr] 48  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 551 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,/);
[INFO] [stderr]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:48:9
[INFO] [stderr]     |
[INFO] [stderr] 48  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 554 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,/);
[INFO] [stderr]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:48:9
[INFO] [stderr]     |
[INFO] [stderr] 48  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 570 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,%);
[INFO] [stderr]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:48:9
[INFO] [stderr]     |
[INFO] [stderr] 48  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 573 |                     TRI_INS_X!(stack_regs,e1,e2,e3,f32,f32,F32,%);
[INFO] [stderr]     |                     ---------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 482 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u8, i8, I8, U8, wrapping_add);
[INFO] [stderr]     |                     ----------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 485 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u16, i16, I16, U16, wrapping_add);
[INFO] [stderr]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 488 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u32, i32, I32, U32, wrapping_add);
[INFO] [stderr]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 491 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u64, i64, I64, U64, wrapping_add);
[INFO] [stderr]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 501 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u8, i8, I8, U8, wrapping_sub);
[INFO] [stderr]     |                     ----------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 504 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u16, i16, I16, U16, wrapping_sub);
[INFO] [stderr]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 507 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u32, i32, I32, U32, wrapping_sub);
[INFO] [stderr]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 510 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u64, i64, I64, U64, wrapping_sub);
[INFO] [stderr]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 520 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u8, i8, I8, U8, wrapping_mul);
[INFO] [stderr]     |                     ----------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 523 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u16, i16, I16, U16, wrapping_mul);
[INFO] [stderr]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 526 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u32, i32, I32, U32, wrapping_mul);
[INFO] [stderr]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 529 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u64, i64, I64, U64, wrapping_mul);
[INFO] [stderr]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 539 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u8, i8, I8, U8, wrapping_div);
[INFO] [stderr]     |                     ----------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 542 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u16, i16, I16, U16, wrapping_div);
[INFO] [stderr]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 545 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u32, i32, I32, U32, wrapping_div);
[INFO] [stderr]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 548 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u64, i64, I64, U64, wrapping_div);
[INFO] [stderr]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 558 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u8, i8, I8, U8, wrapping_rem);
[INFO] [stderr]     |                     ----------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 561 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u16, i16, I16, U16, wrapping_rem);
[INFO] [stderr]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 564 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u32, i32, I32, U32, wrapping_rem);
[INFO] [stderr]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary `unsafe` block
[INFO] [stderr]    --> src/vm/interpreter.rs:82:9
[INFO] [stderr]     |
[INFO] [stderr] 82  |         unsafe {
[INFO] [stderr]     |         ^^^^^^ unnecessary `unsafe` block
[INFO] [stderr] ...
[INFO] [stderr] 567 |                     TRI_INS_X!(stack_regs, e1, e2, e3, u64, i64, I64, U64, wrapping_rem);
[INFO] [stderr]     |                     --------------------------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `module_name`
[INFO] [stderr]   --> src/binary/bytecode.rs:33:5
[INFO] [stderr]    |
[INFO] [stderr] 33 |     module_name: u16,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `module_version`
[INFO] [stderr]   --> src/binary/bytecode.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 34 |     module_version: u32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Mono`
[INFO] [stderr]  --> src/binary/variable.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 |     Mono(TypeTags),
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Record`
[INFO] [stderr]   --> src/binary/variable.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 |     Record(BTreeMap<String, TypeTags>),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant is never constructed: `Function`
[INFO] [stderr]   --> src/binary/variable.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 |     Function(Vec<Type>),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `YoungGCObject`
[INFO] [stderr]   --> src/vm/gc/lemondger.rs:21:8
[INFO] [stderr]    |
[INFO] [stderr] 21 | struct YoungGCObject {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum is never used: `TriColor`
[INFO] [stderr]   --> src/vm/gc/lemondger.rs:36:6
[INFO] [stderr]    |
[INFO] [stderr] 36 | enum TriColor {
[INFO] [stderr]    |      ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum is never used: `WB`
[INFO] [stderr]   --> src/vm/gc/lemondger.rs:41:6
[INFO] [stderr]    |
[INFO] [stderr] 41 | enum WB {
[INFO] [stderr]    |      ^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `OldGCObject`
[INFO] [stderr]   --> src/vm/gc/lemondger.rs:46:8
[INFO] [stderr]    |
[INFO] [stderr] 46 | struct OldGCObject {
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `ImmortalObject`
[INFO] [stderr]   --> src/vm/gc/lemondger.rs:57:8
[INFO] [stderr]    |
[INFO] [stderr] 57 | struct ImmortalObject {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum is never used: `GCObject`
[INFO] [stderr]   --> src/vm/gc/lemondger.rs:66:6
[INFO] [stderr]    |
[INFO] [stderr] 66 | enum GCObject {
[INFO] [stderr]    |      ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `mark_young`
[INFO] [stderr]   --> src/vm/gc/lemondger.rs:80:8
[INFO] [stderr]    |
[INFO] [stderr] 80 |     fn mark_young(&mut self, path: &mut Vec<*mut Self>) {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `color_old`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:105:8
[INFO] [stderr]     |
[INFO] [stderr] 105 |     fn color_old(&mut self, color: TriColor, path: &mut Vec<*mut Self>) {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `mark_imm`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:144:8
[INFO] [stderr]     |
[INFO] [stderr] 144 |     fn mark_imm(&mut self, path: &mut Vec<*mut Self>) {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `young_to_old`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:164:8
[INFO] [stderr]     |
[INFO] [stderr] 164 |     fn young_to_old(&mut self, path: &mut Vec<*mut Self>) {
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct is never constructed: `GCPool`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:189:8
[INFO] [stderr]     |
[INFO] [stderr] 189 | struct GCPool {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:196:8
[INFO] [stderr]     |
[INFO] [stderr] 196 |     fn new() -> Self {
[INFO] [stderr]     |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `add_young`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:204:8
[INFO] [stderr]     |
[INFO] [stderr] 204 |     fn add_young(&mut self, ptr: *mut u8, size: usize) -> *mut GCObject {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `add_old`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:217:8
[INFO] [stderr]     |
[INFO] [stderr] 217 |     fn add_old(&mut self, ptr: *mut u8, size: usize) -> *mut GCObject {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `add_imm`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:230:8
[INFO] [stderr]     |
[INFO] [stderr] 230 |     fn add_imm(&mut self, ptr: *mut u8, size: usize) -> *mut GCObject {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `upgrade_young`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:241:8
[INFO] [stderr]     |
[INFO] [stderr] 241 |     fn upgrade_young(&mut self) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `young_generation_gc`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:256:8
[INFO] [stderr]     |
[INFO] [stderr] 256 |     fn young_generation_gc(&mut self, root: &mut Vec<*mut GCObject>) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `color_all_old`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:302:8
[INFO] [stderr]     |
[INFO] [stderr] 302 |     fn color_all_old(&mut self, root: &mut Vec<*mut GCObject>, root_colored: bool) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `old_generation_gc`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:314:8
[INFO] [stderr]     |
[INFO] [stderr] 314 |     fn old_generation_gc(&mut self) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `mark_young`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:321:4
[INFO] [stderr]     |
[INFO] [stderr] 321 | fn mark_young(root: &mut Vec<*mut GCObject>) {
[INFO] [stderr]     |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `color_old`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:329:4
[INFO] [stderr]     |
[INFO] [stderr] 329 | fn color_old(root: &mut Vec<*mut GCObject>) {
[INFO] [stderr]     |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function is never used: `mark_imm`
[INFO] [stderr]    --> src/vm/gc/lemondger.rs:337:4
[INFO] [stderr]     |
[INFO] [stderr] 337 | fn mark_imm(root: &mut Vec<*mut GCObject>) {
[INFO] [stderr]     |    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field is never read: `gc`
[INFO] [stderr]   --> src/vm/gc/onclosegc.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 |     gc: NonNull<OnCloseGC>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new_null`
[INFO] [stderr]    --> src/vm/value.rs:120:8
[INFO] [stderr]     |
[INFO] [stderr] 120 |     fn new_null() -> Self {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new_undef`
[INFO] [stderr]    --> src/vm/value.rs:123:8
[INFO] [stderr]     |
[INFO] [stderr] 123 |     fn new_undef() -> Self {
[INFO] [stderr]     |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new_boolean`
[INFO] [stderr]    --> src/vm/value.rs:126:8
[INFO] [stderr]     |
[INFO] [stderr] 126 |     fn new_boolean(boolean: bool) -> Self {
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new_f64`
[INFO] [stderr]    --> src/vm/value.rs:129:8
[INFO] [stderr]     |
[INFO] [stderr] 129 |     fn new_f64(f: f64) -> Self {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new_string`
[INFO] [stderr]    --> src/vm/value.rs:133:8
[INFO] [stderr]     |
[INFO] [stderr] 133 |     fn new_string(string: String, gc: &mut dyn GC) {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new_object`
[INFO] [stderr]    --> src/vm/value.rs:136:8
[INFO] [stderr]     |
[INFO] [stderr] 136 |     fn new_object(object: BTreeMap<String, Value>, gc: &mut dyn GC) {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `new_opaque`
[INFO] [stderr]    --> src/vm/value.rs:139:8
[INFO] [stderr]     |
[INFO] [stderr] 139 |     fn new_opaque(opaque: Vec<u8>, gc: &mut dyn GC) {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `module_load_hook`
[INFO] [stderr]    --> src/vm/mod.rs:125:8
[INFO] [stderr]     |
[INFO] [stderr] 125 |     fn module_load_hook(function: fn() -> bool) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `load_module`
[INFO] [stderr]    --> src/vm/mod.rs:128:8
[INFO] [stderr]     |
[INFO] [stderr] 128 |     fn load_module() {}
[INFO] [stderr]     |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function is never used: `run_module`
[INFO] [stderr]    --> src/vm/mod.rs:130:8
[INFO] [stderr]     |
[INFO] [stderr] 130 |     fn run_module() {}
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused attribute
[INFO] [stderr]  --> src/binary/io.rs:1:1
[INFO] [stderr]   |
[INFO] [stderr] 1 | #[macro_use]
[INFO] [stderr]   | ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_attributes)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: 119 warnings emitted
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stderr] warning: variable `CP` should have a snake case name
[INFO] [stdout] running 13 tests
[INFO] [stderr]   --> src/main.rs:96:13
[INFO] [stdout] test binary::function::test_rw_mock_FunctionType ... ok
[INFO] [stderr]    |
[INFO] [stderr] 96 |     let mut CP = BTreeMap::new();
[INFO] [stderr]    |             ^^ help: convert the identifier to snake case: `cp`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: 1 warning emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.12s
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/liblemonvm-b68625426445fdf8
[INFO] [stdout] test binary::debug::test_rw_mock_DebugVariable ... ok
[INFO] [stdout] test binary::debug::test_rw_mock_DebugPrecompiledLineNumber ... ok
[INFO] [stdout] test binary::debug::test_rw_mock_DebugPrecompiledLineNumberTable ... ok
[INFO] [stdout] test binary::debug::test_rw_mock_DebugVariableTable ... ok
[INFO] [stdout] test binary::function::test_rw_mock_Exception ... ok
[INFO] [stdout] test binary::debug::test_rw_mock_DebugCompiledByteCodeCommentTable ... ok
[INFO] [stdout] test binary::debug::test_rw_mock_DebugInfo ... ok
[INFO] [stdout] test binary::debug::test_rw_mock_DebugSourceInfo ... ok
[INFO] [stdout] test binary::function::test_rw_mock_ExceptionTable ... ok
[INFO] [stdout] test binary::debug::test_rw_mock_DebugCompiledByteCodeComment ... ok
[INFO] [stdout] test binary::function::test_rw_mock_Function ... ok
[INFO] [stderr]      Running /opt/rustwide/target/debug/deps/lemonvm_repl-acc61e74178bd691
[INFO] [stdout] test binary::constant::test_rw_mock_Constant ... ok
[INFO] [stderr]    Doc-tests liblemonvm
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "359b8dcabb63b6d7502af34e0c32397837b471c8a68f15a15299a90682cda148", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "359b8dcabb63b6d7502af34e0c32397837b471c8a68f15a15299a90682cda148", kill_on_drop: false }`
[INFO] [stdout] 359b8dcabb63b6d7502af34e0c32397837b471c8a68f15a15299a90682cda148
