[INFO] cloning repository https://github.com/xacrimon/tcvm
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/xacrimon/tcvm" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxacrimon%2Ftcvm", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxacrimon%2Ftcvm'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 59d76b5b289d0f3f91bf76d45a26bb244811c5b8
[INFO] testing xacrimon/tcvm against try#db823df02fd0c2cf67b43025ac3fef3f2d743245 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxacrimon%2Ftcvm" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-5-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/xacrimon/tcvm
[INFO] finished tweaking git repo https://github.com/xacrimon/tcvm
[INFO] tweaked toml for git repo https://github.com/xacrimon/tcvm written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/xacrimon/tcvm on toolchain db823df02fd0c2cf67b43025ac3fef3f2d743245
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/xacrimon/tcvm already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9eda795bc5a67d92c8e85d875b7fba58ecb304b60d9571a706b8042a4bdcf3fa
[INFO] running `Command { std: "docker" "start" "-a" "9eda795bc5a67d92c8e85d875b7fba58ecb304b60d9571a706b8042a4bdcf3fa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9eda795bc5a67d92c8e85d875b7fba58ecb304b60d9571a706b8042a4bdcf3fa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9eda795bc5a67d92c8e85d875b7fba58ecb304b60d9571a706b8042a4bdcf3fa", kill_on_drop: false }`
[INFO] [stdout] 9eda795bc5a67d92c8e85d875b7fba58ecb304b60d9571a706b8042a4bdcf3fa
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 61e11d29ffaa1b8dd0ad1327da463851d05f08d3a12f9f716f8959488227d9d7
[INFO] running `Command { std: "docker" "start" "-a" "61e11d29ffaa1b8dd0ad1327da463851d05f08d3a12f9f716f8959488227d9d7", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling proc-macro-hack v0.5.20+deprecated
[INFO] [stderr]    Compiling genawaiter-macro v0.99.1
[INFO] [stderr]    Compiling hashbrown v0.15.4
[INFO] [stderr]    Compiling proc-macro-error-attr v0.4.12
[INFO] [stderr]    Compiling proc-macro-error v0.4.12
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling syn-mid v0.5.4
[INFO] [stderr]    Compiling tcvm-derive v0.1.0 (/opt/rustwide/workdir/derive)
[INFO] [stderr]    Compiling genawaiter-proc-macro v0.99.1
[INFO] [stderr]    Compiling genawaiter v0.99.1
[INFO] [stderr]    Compiling tcvm v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused macro definition: `raise`
[INFO] [stdout]    --> src/vm/interp.rs:105:22
[INFO] [stdout]     |
[INFO] [stdout] 105 |         macro_rules! raise {
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `check`
[INFO] [stdout]    --> src/vm/interp.rs:111:22
[INFO] [stdout]     |
[INFO] [stdout] 111 |         macro_rules! check {
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `reg`
[INFO] [stdout]    --> src/vm/interp.rs:119:22
[INFO] [stdout]     |
[INFO] [stdout] 119 |         macro_rules! reg {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `args`
[INFO] [stdout]   --> src/vm/interp.rs:96:22
[INFO] [stdout]    |
[INFO] [stdout] 96 |         macro_rules! args {
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `dispatch`
[INFO] [stdout]   --> src/vm/interp.rs:81:22
[INFO] [stdout]    |
[INFO] [stdout] 81 |         macro_rules! dispatch {
[INFO] [stdout]    |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutation`
[INFO] [stdout]  --> src/env/table/mod.rs:3:46
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::dmm::{lock::RefLock, Collect, Gc, Mutation};
[INFO] [stdout]   |                                              ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/vm/interp.rs:198:10
[INFO] [stdout]     |
[INFO] [stdout] 198 |     let (dst, idx) = args!(Instruction::LOAD { dst, idx });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/vm/interp.rs:198:15
[INFO] [stdout]     |
[INFO] [stdout] 198 |     let (dst, idx) = args!(Instruction::LOAD { dst, idx });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/vm/interp.rs:211:9
[INFO] [stdout]     |
[INFO] [stdout] 211 |     let src = args!(Instruction::LFALSESKIP { src });
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/vm/interp.rs:224:10
[INFO] [stdout]     |
[INFO] [stdout] 224 |     let (dst, idx) = args!(Instruction::GETUPVAL { dst, idx });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/vm/interp.rs:224:15
[INFO] [stdout]     |
[INFO] [stdout] 224 |     let (dst, idx) = args!(Instruction::GETUPVAL { dst, idx });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/vm/interp.rs:237:10
[INFO] [stdout]     |
[INFO] [stdout] 237 |     let (src, idx) = args!(Instruction::SETUPVAL { src, idx });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/vm/interp.rs:237:15
[INFO] [stdout]     |
[INFO] [stdout] 237 |     let (src, idx) = args!(Instruction::SETUPVAL { src, idx });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/vm/interp.rs:250:10
[INFO] [stdout]     |
[INFO] [stdout] 250 |     let (dst, idx, key) = args!(Instruction::GETTABUP { dst, idx, key });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/vm/interp.rs:250:15
[INFO] [stdout]     |
[INFO] [stdout] 250 |     let (dst, idx, key) = args!(Instruction::GETTABUP { dst, idx, key });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/vm/interp.rs:250:20
[INFO] [stdout]     |
[INFO] [stdout] 250 |     let (dst, idx, key) = args!(Instruction::GETTABUP { dst, idx, key });
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/vm/interp.rs:263:10
[INFO] [stdout]     |
[INFO] [stdout] 263 |     let (src, idx, key) = args!(Instruction::SETTABUP { src, idx, key });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/vm/interp.rs:263:15
[INFO] [stdout]     |
[INFO] [stdout] 263 |     let (src, idx, key) = args!(Instruction::SETTABUP { src, idx, key });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/vm/interp.rs:263:20
[INFO] [stdout]     |
[INFO] [stdout] 263 |     let (src, idx, key) = args!(Instruction::SETTABUP { src, idx, key });
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/vm/interp.rs:276:10
[INFO] [stdout]     |
[INFO] [stdout] 276 |     let (dst, table, key) = args!(Instruction::GETTABLE { dst, table, key });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `table`
[INFO] [stdout]    --> src/vm/interp.rs:276:15
[INFO] [stdout]     |
[INFO] [stdout] 276 |     let (dst, table, key) = args!(Instruction::GETTABLE { dst, table, key });
[INFO] [stdout]     |               ^^^^^ help: if this is intentional, prefix it with an underscore: `_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/vm/interp.rs:276:22
[INFO] [stdout]     |
[INFO] [stdout] 276 |     let (dst, table, key) = args!(Instruction::GETTABLE { dst, table, key });
[INFO] [stdout]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/vm/interp.rs:289:10
[INFO] [stdout]     |
[INFO] [stdout] 289 |     let (src, table, key) = args!(Instruction::SETTABLE { src, table, key });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `table`
[INFO] [stdout]    --> src/vm/interp.rs:289:15
[INFO] [stdout]     |
[INFO] [stdout] 289 |     let (src, table, key) = args!(Instruction::SETTABLE { src, table, key });
[INFO] [stdout]     |               ^^^^^ help: if this is intentional, prefix it with an underscore: `_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/vm/interp.rs:289:22
[INFO] [stdout]     |
[INFO] [stdout] 289 |     let (src, table, key) = args!(Instruction::SETTABLE { src, table, key });
[INFO] [stdout]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/vm/interp.rs:302:9
[INFO] [stdout]     |
[INFO] [stdout] 302 |     let dst = args!(Instruction::NEWTABLE { dst });
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lhs`
[INFO] [stdout]    --> src/vm/interp.rs:543:10
[INFO] [stdout]     |
[INFO] [stdout] 543 |     let (lhs, rhs, metamethod) = args!(Instruction::MMBIN {
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_lhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> src/vm/interp.rs:543:15
[INFO] [stdout]     |
[INFO] [stdout] 543 |     let (lhs, rhs, metamethod) = args!(Instruction::MMBIN {
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `metamethod`
[INFO] [stdout]    --> src/vm/interp.rs:543:20
[INFO] [stdout]     |
[INFO] [stdout] 543 |     let (lhs, rhs, metamethod) = args!(Instruction::MMBIN {
[INFO] [stdout]     |                    ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metamethod`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/vm/interp.rs:560:10
[INFO] [stdout]     |
[INFO] [stdout] 560 |     let (dst, src) = args!(Instruction::UNM { dst, src });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/vm/interp.rs:560:15
[INFO] [stdout]     |
[INFO] [stdout] 560 |     let (dst, src) = args!(Instruction::UNM { dst, src });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/vm/interp.rs:573:10
[INFO] [stdout]     |
[INFO] [stdout] 573 |     let (dst, src) = args!(Instruction::BNOT { dst, src });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/vm/interp.rs:573:15
[INFO] [stdout]     |
[INFO] [stdout] 573 |     let (dst, src) = args!(Instruction::BNOT { dst, src });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/vm/interp.rs:586:10
[INFO] [stdout]     |
[INFO] [stdout] 586 |     let (dst, src) = args!(Instruction::BNOT { dst, src });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/vm/interp.rs:586:15
[INFO] [stdout]     |
[INFO] [stdout] 586 |     let (dst, src) = args!(Instruction::BNOT { dst, src });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/vm/interp.rs:599:10
[INFO] [stdout]     |
[INFO] [stdout] 599 |     let (dst, src) = args!(Instruction::BNOT { dst, src });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/vm/interp.rs:599:15
[INFO] [stdout]     |
[INFO] [stdout] 599 |     let (dst, src) = args!(Instruction::BNOT { dst, src });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/vm/interp.rs:612:10
[INFO] [stdout]     |
[INFO] [stdout] 612 |     let (dst, lhs, rhs) = args!(Instruction::CONCAT { dst, lhs, rhs });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lhs`
[INFO] [stdout]    --> src/vm/interp.rs:612:15
[INFO] [stdout]     |
[INFO] [stdout] 612 |     let (dst, lhs, rhs) = args!(Instruction::CONCAT { dst, lhs, rhs });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_lhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> src/vm/interp.rs:612:20
[INFO] [stdout]     |
[INFO] [stdout] 612 |     let (dst, lhs, rhs) = args!(Instruction::CONCAT { dst, lhs, rhs });
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> src/vm/interp.rs:625:9
[INFO] [stdout]     |
[INFO] [stdout] 625 |     let start = args!(Instruction::CLOSE { start });
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]    --> src/vm/interp.rs:638:9
[INFO] [stdout]     |
[INFO] [stdout] 638 |     let val = args!(Instruction::TBC { val });
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> src/vm/interp.rs:651:9
[INFO] [stdout]     |
[INFO] [stdout] 651 |     let offset = args!(Instruction::JMP { offset });
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lhs`
[INFO] [stdout]    --> src/vm/interp.rs:664:10
[INFO] [stdout]     |
[INFO] [stdout] 664 |     let (lhs, rhs, inverted) = args!(Instruction::EQ { lhs, rhs, inverted });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_lhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> src/vm/interp.rs:664:15
[INFO] [stdout]     |
[INFO] [stdout] 664 |     let (lhs, rhs, inverted) = args!(Instruction::EQ { lhs, rhs, inverted });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inverted`
[INFO] [stdout]    --> src/vm/interp.rs:664:20
[INFO] [stdout]     |
[INFO] [stdout] 664 |     let (lhs, rhs, inverted) = args!(Instruction::EQ { lhs, rhs, inverted });
[INFO] [stdout]     |                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inverted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lhs`
[INFO] [stdout]    --> src/vm/interp.rs:677:10
[INFO] [stdout]     |
[INFO] [stdout] 677 |     let (lhs, rhs, inverted) = args!(Instruction::LT { lhs, rhs, inverted });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_lhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> src/vm/interp.rs:677:15
[INFO] [stdout]     |
[INFO] [stdout] 677 |     let (lhs, rhs, inverted) = args!(Instruction::LT { lhs, rhs, inverted });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inverted`
[INFO] [stdout]    --> src/vm/interp.rs:677:20
[INFO] [stdout]     |
[INFO] [stdout] 677 |     let (lhs, rhs, inverted) = args!(Instruction::LT { lhs, rhs, inverted });
[INFO] [stdout]     |                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inverted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lhs`
[INFO] [stdout]    --> src/vm/interp.rs:690:10
[INFO] [stdout]     |
[INFO] [stdout] 690 |     let (lhs, rhs, inverted) = args!(Instruction::LE { lhs, rhs, inverted });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_lhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> src/vm/interp.rs:690:15
[INFO] [stdout]     |
[INFO] [stdout] 690 |     let (lhs, rhs, inverted) = args!(Instruction::LE { lhs, rhs, inverted });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inverted`
[INFO] [stdout]    --> src/vm/interp.rs:690:20
[INFO] [stdout]     |
[INFO] [stdout] 690 |     let (lhs, rhs, inverted) = args!(Instruction::LE { lhs, rhs, inverted });
[INFO] [stdout]     |                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inverted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/vm/interp.rs:703:10
[INFO] [stdout]     |
[INFO] [stdout] 703 |     let (src, inverted) = args!(Instruction::TEST { src, inverted });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inverted`
[INFO] [stdout]    --> src/vm/interp.rs:703:15
[INFO] [stdout]     |
[INFO] [stdout] 703 |     let (src, inverted) = args!(Instruction::TEST { src, inverted });
[INFO] [stdout]     |               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inverted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func`
[INFO] [stdout]    --> src/vm/interp.rs:716:10
[INFO] [stdout]     |
[INFO] [stdout] 716 |     let (func, args, returns) = args!(Instruction::CALL {
[INFO] [stdout]     |          ^^^^ help: if this is intentional, prefix it with an underscore: `_func`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/vm/interp.rs:716:16
[INFO] [stdout]     |
[INFO] [stdout] 716 |     let (func, args, returns) = args!(Instruction::CALL {
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `returns`
[INFO] [stdout]    --> src/vm/interp.rs:716:22
[INFO] [stdout]     |
[INFO] [stdout] 716 |     let (func, args, returns) = args!(Instruction::CALL {
[INFO] [stdout]     |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_returns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func`
[INFO] [stdout]    --> src/vm/interp.rs:733:10
[INFO] [stdout]     |
[INFO] [stdout] 733 |     let (func, args) = args!(Instruction::TAILCALL { func, args });
[INFO] [stdout]     |          ^^^^ help: if this is intentional, prefix it with an underscore: `_func`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/vm/interp.rs:733:16
[INFO] [stdout]     |
[INFO] [stdout] 733 |     let (func, args) = args!(Instruction::TAILCALL { func, args });
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `values`
[INFO] [stdout]    --> src/vm/interp.rs:746:10
[INFO] [stdout]     |
[INFO] [stdout] 746 |     let (values, count) = args!(Instruction::RETURN { values, count });
[INFO] [stdout]     |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]    --> src/vm/interp.rs:746:18
[INFO] [stdout]     |
[INFO] [stdout] 746 |     let (values, count) = args!(Instruction::RETURN { values, count });
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Register` is never used
[INFO] [stdout]  --> src/instruction.rs:1:6
[INFO] [stdout]   |
[INFO] [stdout] 1 | type Register = u8;
[INFO] [stdout]   |      ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `UpvalueIndex` is never used
[INFO] [stdout]  --> src/instruction.rs:2:6
[INFO] [stdout]   |
[INFO] [stdout] 2 | type UpvalueIndex = u8;
[INFO] [stdout]   |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ConstantIndex` is never used
[INFO] [stdout]  --> src/instruction.rs:3:6
[INFO] [stdout]   |
[INFO] [stdout] 3 | type ConstantIndex = u16;
[INFO] [stdout]   |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Instruction` is never used
[INFO] [stdout]  --> src/instruction.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum Instruction {
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `discriminant` is never used
[INFO] [stdout]    --> src/instruction.rs:240:12
[INFO] [stdout]     |
[INFO] [stdout] 239 | impl Instruction {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] 240 |     pub fn discriminant(self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MetaMethod` is never used
[INFO] [stdout]    --> src/instruction.rs:246:10
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub enum MetaMethod {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Lexer` is never constructed
[INFO] [stdout]  --> src/parser/lexer.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Lexer<'source> {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Token` is never used
[INFO] [stdout]  --> src/parser/token.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum Token {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HANDLERS` is never used
[INFO] [stdout]  --> src/vm/interp.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const HANDLERS: &[Handler] = &[
[INFO] [stdout]   |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Error` is never constructed
[INFO] [stdout]   --> src/vm/interp.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | struct Error {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Thread` is never constructed
[INFO] [stdout]   --> src/vm/interp.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct Thread {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Registers` is never used
[INFO] [stdout]   --> src/vm/interp.rs:66:6
[INFO] [stdout]    |
[INFO] [stdout] 66 | type Registers<'gc, 'a> = &'a mut [Value<'gc>];
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Handler` is never used
[INFO] [stdout]   --> src/vm/interp.rs:71:6
[INFO] [stdout]    |
[INFO] [stdout] 71 | type Handler = fn(
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]    --> src/vm/interp.rs:148:8
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub fn run(tape: &[Instruction], thread: &mut Thread) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `impl_error` is never used
[INFO] [stdout]    --> src/vm/interp.rs:163:4
[INFO] [stdout]     |
[INFO] [stdout] 163 | fn impl_error<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_move` is never used
[INFO] [stdout]    --> src/vm/interp.rs:176:4
[INFO] [stdout]     |
[INFO] [stdout] 176 | fn op_move<'gc>(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_load` is never used
[INFO] [stdout]    --> src/vm/interp.rs:190:4
[INFO] [stdout]     |
[INFO] [stdout] 190 | fn op_load<'gc>(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_lfalseskip` is never used
[INFO] [stdout]    --> src/vm/interp.rs:203:4
[INFO] [stdout]     |
[INFO] [stdout] 203 | fn op_lfalseskip<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_getupval` is never used
[INFO] [stdout]    --> src/vm/interp.rs:216:4
[INFO] [stdout]     |
[INFO] [stdout] 216 | fn op_getupval<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_setupval` is never used
[INFO] [stdout]    --> src/vm/interp.rs:229:4
[INFO] [stdout]     |
[INFO] [stdout] 229 | fn op_setupval<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_gettabup` is never used
[INFO] [stdout]    --> src/vm/interp.rs:242:4
[INFO] [stdout]     |
[INFO] [stdout] 242 | fn op_gettabup<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_settabup` is never used
[INFO] [stdout]    --> src/vm/interp.rs:255:4
[INFO] [stdout]     |
[INFO] [stdout] 255 | fn op_settabup<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_gettable` is never used
[INFO] [stdout]    --> src/vm/interp.rs:268:4
[INFO] [stdout]     |
[INFO] [stdout] 268 | fn op_gettable<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_settable` is never used
[INFO] [stdout]    --> src/vm/interp.rs:281:4
[INFO] [stdout]     |
[INFO] [stdout] 281 | fn op_settable<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_newtable` is never used
[INFO] [stdout]    --> src/vm/interp.rs:294:4
[INFO] [stdout]     |
[INFO] [stdout] 294 | fn op_newtable<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_add` is never used
[INFO] [stdout]    --> src/vm/interp.rs:307:4
[INFO] [stdout]     |
[INFO] [stdout] 307 | fn op_add<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_sub` is never used
[INFO] [stdout]    --> src/vm/interp.rs:326:4
[INFO] [stdout]     |
[INFO] [stdout] 326 | fn op_sub<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_mul` is never used
[INFO] [stdout]    --> src/vm/interp.rs:345:4
[INFO] [stdout]     |
[INFO] [stdout] 345 | fn op_mul<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_mod` is never used
[INFO] [stdout]    --> src/vm/interp.rs:364:4
[INFO] [stdout]     |
[INFO] [stdout] 364 | fn op_mod<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_pow` is never used
[INFO] [stdout]    --> src/vm/interp.rs:383:4
[INFO] [stdout]     |
[INFO] [stdout] 383 | fn op_pow<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_div` is never used
[INFO] [stdout]    --> src/vm/interp.rs:402:4
[INFO] [stdout]     |
[INFO] [stdout] 402 | fn op_div<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_idiv` is never used
[INFO] [stdout]    --> src/vm/interp.rs:421:4
[INFO] [stdout]     |
[INFO] [stdout] 421 | fn op_idiv<'gc>(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_band` is never used
[INFO] [stdout]    --> src/vm/interp.rs:440:4
[INFO] [stdout]     |
[INFO] [stdout] 440 | fn op_band<'gc>(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_bor` is never used
[INFO] [stdout]    --> src/vm/interp.rs:459:4
[INFO] [stdout]     |
[INFO] [stdout] 459 | fn op_bor<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_bxor` is never used
[INFO] [stdout]    --> src/vm/interp.rs:478:4
[INFO] [stdout]     |
[INFO] [stdout] 478 | fn op_bxor<'gc>(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_shl` is never used
[INFO] [stdout]    --> src/vm/interp.rs:497:4
[INFO] [stdout]     |
[INFO] [stdout] 497 | fn op_shl<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_shr` is never used
[INFO] [stdout]    --> src/vm/interp.rs:516:4
[INFO] [stdout]     |
[INFO] [stdout] 516 | fn op_shr<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_mmbin` is never used
[INFO] [stdout]    --> src/vm/interp.rs:535:4
[INFO] [stdout]     |
[INFO] [stdout] 535 | fn op_mmbin<'gc>(
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_unm` is never used
[INFO] [stdout]    --> src/vm/interp.rs:552:4
[INFO] [stdout]     |
[INFO] [stdout] 552 | fn op_unm<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_bnot` is never used
[INFO] [stdout]    --> src/vm/interp.rs:565:4
[INFO] [stdout]     |
[INFO] [stdout] 565 | fn op_bnot<'gc>(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_not` is never used
[INFO] [stdout]    --> src/vm/interp.rs:578:4
[INFO] [stdout]     |
[INFO] [stdout] 578 | fn op_not<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_len` is never used
[INFO] [stdout]    --> src/vm/interp.rs:591:4
[INFO] [stdout]     |
[INFO] [stdout] 591 | fn op_len<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_concat` is never used
[INFO] [stdout]    --> src/vm/interp.rs:604:4
[INFO] [stdout]     |
[INFO] [stdout] 604 | fn op_concat<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_close` is never used
[INFO] [stdout]    --> src/vm/interp.rs:617:4
[INFO] [stdout]     |
[INFO] [stdout] 617 | fn op_close<'gc>(
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tbc` is never used
[INFO] [stdout]    --> src/vm/interp.rs:630:4
[INFO] [stdout]     |
[INFO] [stdout] 630 | fn op_tbc<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_jmp` is never used
[INFO] [stdout]    --> src/vm/interp.rs:643:4
[INFO] [stdout]     |
[INFO] [stdout] 643 | fn op_jmp<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_eq` is never used
[INFO] [stdout]    --> src/vm/interp.rs:656:4
[INFO] [stdout]     |
[INFO] [stdout] 656 | fn op_eq<'gc>(
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_lt` is never used
[INFO] [stdout]    --> src/vm/interp.rs:669:4
[INFO] [stdout]     |
[INFO] [stdout] 669 | fn op_lt<'gc>(
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_le` is never used
[INFO] [stdout]    --> src/vm/interp.rs:682:4
[INFO] [stdout]     |
[INFO] [stdout] 682 | fn op_le<'gc>(
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_test` is never used
[INFO] [stdout]    --> src/vm/interp.rs:695:4
[INFO] [stdout]     |
[INFO] [stdout] 695 | fn op_test<'gc>(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_call` is never used
[INFO] [stdout]    --> src/vm/interp.rs:708:4
[INFO] [stdout]     |
[INFO] [stdout] 708 | fn op_call<'gc>(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tailcall` is never used
[INFO] [stdout]    --> src/vm/interp.rs:725:4
[INFO] [stdout]     |
[INFO] [stdout] 725 | fn op_tailcall<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_return` is never used
[INFO] [stdout]    --> src/vm/interp.rs:738:4
[INFO] [stdout]     |
[INFO] [stdout] 738 | fn op_return<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_forloop` is never used
[INFO] [stdout]    --> src/vm/interp.rs:751:4
[INFO] [stdout]     |
[INFO] [stdout] 751 | fn op_forloop<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_forprep` is never used
[INFO] [stdout]    --> src/vm/interp.rs:763:4
[INFO] [stdout]     |
[INFO] [stdout] 763 | fn op_forprep<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tforprep` is never used
[INFO] [stdout]    --> src/vm/interp.rs:775:4
[INFO] [stdout]     |
[INFO] [stdout] 775 | fn op_tforprep<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tforcall` is never used
[INFO] [stdout]    --> src/vm/interp.rs:787:4
[INFO] [stdout]     |
[INFO] [stdout] 787 | fn op_tforcall<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tforloop` is never used
[INFO] [stdout]    --> src/vm/interp.rs:799:4
[INFO] [stdout]     |
[INFO] [stdout] 799 | fn op_tforloop<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_setlist` is never used
[INFO] [stdout]    --> src/vm/interp.rs:811:4
[INFO] [stdout]     |
[INFO] [stdout] 811 | fn op_setlist<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_closure` is never used
[INFO] [stdout]    --> src/vm/interp.rs:823:4
[INFO] [stdout]     |
[INFO] [stdout] 823 | fn op_closure<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_vararg` is never used
[INFO] [stdout]    --> src/vm/interp.rs:835:4
[INFO] [stdout]     |
[INFO] [stdout] 835 | fn op_vararg<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_varargprep` is never used
[INFO] [stdout]    --> src/vm/interp.rs:847:4
[INFO] [stdout]     |
[INFO] [stdout] 847 | fn op_varargprep<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_nop` is never used
[INFO] [stdout]    --> src/vm/interp.rs:859:4
[INFO] [stdout]     |
[INFO] [stdout] 859 | fn op_nop<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_stop` is never used
[INFO] [stdout]    --> src/vm/interp.rs:872:4
[INFO] [stdout]     |
[INFO] [stdout] 872 | fn op_stop<'gc>(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `exact_float_to_int` is never used
[INFO] [stdout]  --> src/vm/num.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn exact_float_to_int(f: f64) -> Option<i64> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_arith` is never used
[INFO] [stdout]   --> src/vm/num.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn op_arith<'gc, Op: ArithOp>(lhs: Value, rhs: Value) -> Option<Value<'gc>> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ArithOp` is never used
[INFO] [stdout]   --> src/vm/num.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub trait ArithOp {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Add` is never constructed
[INFO] [stdout]   --> src/vm/num.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct Add;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Sub` is never constructed
[INFO] [stdout]   --> src/vm/num.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct Sub;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mul` is never constructed
[INFO] [stdout]   --> src/vm/num.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct Mul;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mod` is never constructed
[INFO] [stdout]   --> src/vm/num.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub struct Mod;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Pow` is never constructed
[INFO] [stdout]    --> src/vm/num.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub struct Pow;
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Div` is never constructed
[INFO] [stdout]    --> src/vm/num.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub struct Div;
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IDiv` is never constructed
[INFO] [stdout]    --> src/vm/num.rs:133:12
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub struct IDiv;
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_bit` is never used
[INFO] [stdout]    --> src/vm/num.rs:148:8
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub fn op_bit<'gc, Op: BitOp>(lhs: Value, rhs: Value) -> Option<Value<'gc>> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BitOp` is never used
[INFO] [stdout]    --> src/vm/num.rs:164:11
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub trait BitOp {
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BAnd` is never constructed
[INFO] [stdout]    --> src/vm/num.rs:168:12
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub struct BAnd;
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BOr` is never constructed
[INFO] [stdout]    --> src/vm/num.rs:177:12
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub struct BOr;
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BXor` is never constructed
[INFO] [stdout]    --> src/vm/num.rs:186:12
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub struct BXor;
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Shl` is never constructed
[INFO] [stdout]    --> src/vm/num.rs:195:12
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub struct Shl;
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Shr` is never constructed
[INFO] [stdout]    --> src/vm/num.rs:204:12
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub struct Shr;
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/env/table/mod.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Table<'gc>(Gc<'gc, RefLock<TableState<'gc>>>);
[INFO] [stdout]   |            -----      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |            |
[INFO] [stdout]   |            field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[INFO] [stdout]   = note: `Table` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `raw` and `metadatable` are never read
[INFO] [stdout]   --> src/env/table/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct TableState<'gc> {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout]  9 |     raw: RawTable<'gc>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 10 |     metadatable: Option<Table<'gc>>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.29s
[INFO] running `Command { std: "docker" "inspect" "61e11d29ffaa1b8dd0ad1327da463851d05f08d3a12f9f716f8959488227d9d7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "61e11d29ffaa1b8dd0ad1327da463851d05f08d3a12f9f716f8959488227d9d7", kill_on_drop: false }`
[INFO] [stdout] 61e11d29ffaa1b8dd0ad1327da463851d05f08d3a12f9f716f8959488227d9d7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 59ba56f5f33a1f334eae32ff730dd39b69476a444b4fbac8e4fa040534524b83
[INFO] running `Command { std: "docker" "start" "-a" "59ba56f5f33a1f334eae32ff730dd39b69476a444b4fbac8e4fa040534524b83", kill_on_drop: false }`
[INFO] [stdout] warning: unused macro definition: `raise`
[INFO] [stdout]    --> src/vm/interp.rs:105:22
[INFO] [stdout]     |
[INFO] [stdout] 105 |         macro_rules! raise {
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `check`
[INFO] [stdout]    --> src/vm/interp.rs:111:22
[INFO] [stdout]     |
[INFO] [stdout] 111 |         macro_rules! check {
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `reg`
[INFO] [stdout]    --> src/vm/interp.rs:119:22
[INFO] [stdout]     |
[INFO] [stdout] 119 |         macro_rules! reg {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `args`
[INFO] [stdout]   --> src/vm/interp.rs:96:22
[INFO] [stdout]    |
[INFO] [stdout] 96 |         macro_rules! args {
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `dispatch`
[INFO] [stdout]   --> src/vm/interp.rs:81:22
[INFO] [stdout]    |
[INFO] [stdout] 81 |         macro_rules! dispatch {
[INFO] [stdout]    |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutation`
[INFO] [stdout]  --> src/env/table/mod.rs:3:46
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::dmm::{lock::RefLock, Collect, Gc, Mutation};
[INFO] [stdout]   |                                              ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/vm/interp.rs:198:10
[INFO] [stdout]     |
[INFO] [stdout] 198 |     let (dst, idx) = args!(Instruction::LOAD { dst, idx });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/vm/interp.rs:198:15
[INFO] [stdout]     |
[INFO] [stdout] 198 |     let (dst, idx) = args!(Instruction::LOAD { dst, idx });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/vm/interp.rs:211:9
[INFO] [stdout]     |
[INFO] [stdout] 211 |     let src = args!(Instruction::LFALSESKIP { src });
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/vm/interp.rs:224:10
[INFO] [stdout]     |
[INFO] [stdout] 224 |     let (dst, idx) = args!(Instruction::GETUPVAL { dst, idx });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/vm/interp.rs:224:15
[INFO] [stdout]     |
[INFO] [stdout] 224 |     let (dst, idx) = args!(Instruction::GETUPVAL { dst, idx });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/vm/interp.rs:237:10
[INFO] [stdout]     |
[INFO] [stdout] 237 |     let (src, idx) = args!(Instruction::SETUPVAL { src, idx });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/vm/interp.rs:237:15
[INFO] [stdout]     |
[INFO] [stdout] 237 |     let (src, idx) = args!(Instruction::SETUPVAL { src, idx });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/vm/interp.rs:250:10
[INFO] [stdout]     |
[INFO] [stdout] 250 |     let (dst, idx, key) = args!(Instruction::GETTABUP { dst, idx, key });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/vm/interp.rs:250:15
[INFO] [stdout]     |
[INFO] [stdout] 250 |     let (dst, idx, key) = args!(Instruction::GETTABUP { dst, idx, key });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/vm/interp.rs:250:20
[INFO] [stdout]     |
[INFO] [stdout] 250 |     let (dst, idx, key) = args!(Instruction::GETTABUP { dst, idx, key });
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/vm/interp.rs:263:10
[INFO] [stdout]     |
[INFO] [stdout] 263 |     let (src, idx, key) = args!(Instruction::SETTABUP { src, idx, key });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/vm/interp.rs:263:15
[INFO] [stdout]     |
[INFO] [stdout] 263 |     let (src, idx, key) = args!(Instruction::SETTABUP { src, idx, key });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/vm/interp.rs:263:20
[INFO] [stdout]     |
[INFO] [stdout] 263 |     let (src, idx, key) = args!(Instruction::SETTABUP { src, idx, key });
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/vm/interp.rs:276:10
[INFO] [stdout]     |
[INFO] [stdout] 276 |     let (dst, table, key) = args!(Instruction::GETTABLE { dst, table, key });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `table`
[INFO] [stdout]    --> src/vm/interp.rs:276:15
[INFO] [stdout]     |
[INFO] [stdout] 276 |     let (dst, table, key) = args!(Instruction::GETTABLE { dst, table, key });
[INFO] [stdout]     |               ^^^^^ help: if this is intentional, prefix it with an underscore: `_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/vm/interp.rs:276:22
[INFO] [stdout]     |
[INFO] [stdout] 276 |     let (dst, table, key) = args!(Instruction::GETTABLE { dst, table, key });
[INFO] [stdout]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/vm/interp.rs:289:10
[INFO] [stdout]     |
[INFO] [stdout] 289 |     let (src, table, key) = args!(Instruction::SETTABLE { src, table, key });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `table`
[INFO] [stdout]    --> src/vm/interp.rs:289:15
[INFO] [stdout]     |
[INFO] [stdout] 289 |     let (src, table, key) = args!(Instruction::SETTABLE { src, table, key });
[INFO] [stdout]     |               ^^^^^ help: if this is intentional, prefix it with an underscore: `_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/vm/interp.rs:289:22
[INFO] [stdout]     |
[INFO] [stdout] 289 |     let (src, table, key) = args!(Instruction::SETTABLE { src, table, key });
[INFO] [stdout]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/vm/interp.rs:302:9
[INFO] [stdout]     |
[INFO] [stdout] 302 |     let dst = args!(Instruction::NEWTABLE { dst });
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lhs`
[INFO] [stdout]    --> src/vm/interp.rs:543:10
[INFO] [stdout]     |
[INFO] [stdout] 543 |     let (lhs, rhs, metamethod) = args!(Instruction::MMBIN {
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_lhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> src/vm/interp.rs:543:15
[INFO] [stdout]     |
[INFO] [stdout] 543 |     let (lhs, rhs, metamethod) = args!(Instruction::MMBIN {
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `metamethod`
[INFO] [stdout]    --> src/vm/interp.rs:543:20
[INFO] [stdout]     |
[INFO] [stdout] 543 |     let (lhs, rhs, metamethod) = args!(Instruction::MMBIN {
[INFO] [stdout]     |                    ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metamethod`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/vm/interp.rs:560:10
[INFO] [stdout]     |
[INFO] [stdout] 560 |     let (dst, src) = args!(Instruction::UNM { dst, src });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/vm/interp.rs:560:15
[INFO] [stdout]     |
[INFO] [stdout] 560 |     let (dst, src) = args!(Instruction::UNM { dst, src });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/vm/interp.rs:573:10
[INFO] [stdout]     |
[INFO] [stdout] 573 |     let (dst, src) = args!(Instruction::BNOT { dst, src });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/vm/interp.rs:573:15
[INFO] [stdout]     |
[INFO] [stdout] 573 |     let (dst, src) = args!(Instruction::BNOT { dst, src });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/vm/interp.rs:586:10
[INFO] [stdout]     |
[INFO] [stdout] 586 |     let (dst, src) = args!(Instruction::BNOT { dst, src });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/vm/interp.rs:586:15
[INFO] [stdout]     |
[INFO] [stdout] 586 |     let (dst, src) = args!(Instruction::BNOT { dst, src });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/vm/interp.rs:599:10
[INFO] [stdout]     |
[INFO] [stdout] 599 |     let (dst, src) = args!(Instruction::BNOT { dst, src });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/vm/interp.rs:599:15
[INFO] [stdout]     |
[INFO] [stdout] 599 |     let (dst, src) = args!(Instruction::BNOT { dst, src });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/vm/interp.rs:612:10
[INFO] [stdout]     |
[INFO] [stdout] 612 |     let (dst, lhs, rhs) = args!(Instruction::CONCAT { dst, lhs, rhs });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lhs`
[INFO] [stdout]    --> src/vm/interp.rs:612:15
[INFO] [stdout]     |
[INFO] [stdout] 612 |     let (dst, lhs, rhs) = args!(Instruction::CONCAT { dst, lhs, rhs });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_lhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> src/vm/interp.rs:612:20
[INFO] [stdout]     |
[INFO] [stdout] 612 |     let (dst, lhs, rhs) = args!(Instruction::CONCAT { dst, lhs, rhs });
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> src/vm/interp.rs:625:9
[INFO] [stdout]     |
[INFO] [stdout] 625 |     let start = args!(Instruction::CLOSE { start });
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]    --> src/vm/interp.rs:638:9
[INFO] [stdout]     |
[INFO] [stdout] 638 |     let val = args!(Instruction::TBC { val });
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> src/vm/interp.rs:651:9
[INFO] [stdout]     |
[INFO] [stdout] 651 |     let offset = args!(Instruction::JMP { offset });
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lhs`
[INFO] [stdout]    --> src/vm/interp.rs:664:10
[INFO] [stdout]     |
[INFO] [stdout] 664 |     let (lhs, rhs, inverted) = args!(Instruction::EQ { lhs, rhs, inverted });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_lhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> src/vm/interp.rs:664:15
[INFO] [stdout]     |
[INFO] [stdout] 664 |     let (lhs, rhs, inverted) = args!(Instruction::EQ { lhs, rhs, inverted });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inverted`
[INFO] [stdout]    --> src/vm/interp.rs:664:20
[INFO] [stdout]     |
[INFO] [stdout] 664 |     let (lhs, rhs, inverted) = args!(Instruction::EQ { lhs, rhs, inverted });
[INFO] [stdout]     |                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inverted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lhs`
[INFO] [stdout]    --> src/vm/interp.rs:677:10
[INFO] [stdout]     |
[INFO] [stdout] 677 |     let (lhs, rhs, inverted) = args!(Instruction::LT { lhs, rhs, inverted });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_lhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> src/vm/interp.rs:677:15
[INFO] [stdout]     |
[INFO] [stdout] 677 |     let (lhs, rhs, inverted) = args!(Instruction::LT { lhs, rhs, inverted });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inverted`
[INFO] [stdout]    --> src/vm/interp.rs:677:20
[INFO] [stdout]     |
[INFO] [stdout] 677 |     let (lhs, rhs, inverted) = args!(Instruction::LT { lhs, rhs, inverted });
[INFO] [stdout]     |                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inverted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lhs`
[INFO] [stdout]    --> src/vm/interp.rs:690:10
[INFO] [stdout]     |
[INFO] [stdout] 690 |     let (lhs, rhs, inverted) = args!(Instruction::LE { lhs, rhs, inverted });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_lhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> src/vm/interp.rs:690:15
[INFO] [stdout]     |
[INFO] [stdout] 690 |     let (lhs, rhs, inverted) = args!(Instruction::LE { lhs, rhs, inverted });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inverted`
[INFO] [stdout]    --> src/vm/interp.rs:690:20
[INFO] [stdout]     |
[INFO] [stdout] 690 |     let (lhs, rhs, inverted) = args!(Instruction::LE { lhs, rhs, inverted });
[INFO] [stdout]     |                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inverted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/vm/interp.rs:703:10
[INFO] [stdout]     |
[INFO] [stdout] 703 |     let (src, inverted) = args!(Instruction::TEST { src, inverted });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inverted`
[INFO] [stdout]    --> src/vm/interp.rs:703:15
[INFO] [stdout]     |
[INFO] [stdout] 703 |     let (src, inverted) = args!(Instruction::TEST { src, inverted });
[INFO] [stdout]     |               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inverted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func`
[INFO] [stdout]    --> src/vm/interp.rs:716:10
[INFO] [stdout]     |
[INFO] [stdout] 716 |     let (func, args, returns) = args!(Instruction::CALL {
[INFO] [stdout]     |          ^^^^ help: if this is intentional, prefix it with an underscore: `_func`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/vm/interp.rs:716:16
[INFO] [stdout]     |
[INFO] [stdout] 716 |     let (func, args, returns) = args!(Instruction::CALL {
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `returns`
[INFO] [stdout]    --> src/vm/interp.rs:716:22
[INFO] [stdout]     |
[INFO] [stdout] 716 |     let (func, args, returns) = args!(Instruction::CALL {
[INFO] [stdout]     |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_returns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func`
[INFO] [stdout]    --> src/vm/interp.rs:733:10
[INFO] [stdout]     |
[INFO] [stdout] 733 |     let (func, args) = args!(Instruction::TAILCALL { func, args });
[INFO] [stdout]     |          ^^^^ help: if this is intentional, prefix it with an underscore: `_func`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/vm/interp.rs:733:16
[INFO] [stdout]     |
[INFO] [stdout] 733 |     let (func, args) = args!(Instruction::TAILCALL { func, args });
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `values`
[INFO] [stdout]    --> src/vm/interp.rs:746:10
[INFO] [stdout]     |
[INFO] [stdout] 746 |     let (values, count) = args!(Instruction::RETURN { values, count });
[INFO] [stdout]     |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]    --> src/vm/interp.rs:746:18
[INFO] [stdout]     |
[INFO] [stdout] 746 |     let (values, count) = args!(Instruction::RETURN { values, count });
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Register` is never used
[INFO] [stdout]  --> src/instruction.rs:1:6
[INFO] [stdout]   |
[INFO] [stdout] 1 | type Register = u8;
[INFO] [stdout]   |      ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `UpvalueIndex` is never used
[INFO] [stdout]  --> src/instruction.rs:2:6
[INFO] [stdout]   |
[INFO] [stdout] 2 | type UpvalueIndex = u8;
[INFO] [stdout]   |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ConstantIndex` is never used
[INFO] [stdout]  --> src/instruction.rs:3:6
[INFO] [stdout]   |
[INFO] [stdout] 3 | type ConstantIndex = u16;
[INFO] [stdout]   |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Instruction` is never used
[INFO] [stdout]  --> src/instruction.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum Instruction {
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `discriminant` is never used
[INFO] [stdout]    --> src/instruction.rs:240:12
[INFO] [stdout]     |
[INFO] [stdout] 239 | impl Instruction {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] 240 |     pub fn discriminant(self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MetaMethod` is never used
[INFO] [stdout]    --> src/instruction.rs:246:10
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub enum MetaMethod {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Lexer` is never constructed
[INFO] [stdout]  --> src/parser/lexer.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Lexer<'source> {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Token` is never used
[INFO] [stdout]  --> src/parser/token.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum Token {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HANDLERS` is never used
[INFO] [stdout]  --> src/vm/interp.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const HANDLERS: &[Handler] = &[
[INFO] [stdout]   |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Error` is never constructed
[INFO] [stdout]   --> src/vm/interp.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | struct Error {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Thread` is never constructed
[INFO] [stdout]   --> src/vm/interp.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct Thread {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Registers` is never used
[INFO] [stdout]   --> src/vm/interp.rs:66:6
[INFO] [stdout]    |
[INFO] [stdout] 66 | type Registers<'gc, 'a> = &'a mut [Value<'gc>];
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Handler` is never used
[INFO] [stdout]   --> src/vm/interp.rs:71:6
[INFO] [stdout]    |
[INFO] [stdout] 71 | type Handler = fn(
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]    --> src/vm/interp.rs:148:8
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub fn run(tape: &[Instruction], thread: &mut Thread) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `impl_error` is never used
[INFO] [stdout]    --> src/vm/interp.rs:163:4
[INFO] [stdout]     |
[INFO] [stdout] 163 | fn impl_error<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_move` is never used
[INFO] [stdout]    --> src/vm/interp.rs:176:4
[INFO] [stdout]     |
[INFO] [stdout] 176 | fn op_move<'gc>(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_load` is never used
[INFO] [stdout]    --> src/vm/interp.rs:190:4
[INFO] [stdout]     |
[INFO] [stdout] 190 | fn op_load<'gc>(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_lfalseskip` is never used
[INFO] [stdout]    --> src/vm/interp.rs:203:4
[INFO] [stdout]     |
[INFO] [stdout] 203 | fn op_lfalseskip<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_getupval` is never used
[INFO] [stdout]    --> src/vm/interp.rs:216:4
[INFO] [stdout]     |
[INFO] [stdout] 216 | fn op_getupval<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_setupval` is never used
[INFO] [stdout]    --> src/vm/interp.rs:229:4
[INFO] [stdout]     |
[INFO] [stdout] 229 | fn op_setupval<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_gettabup` is never used
[INFO] [stdout]    --> src/vm/interp.rs:242:4
[INFO] [stdout]     |
[INFO] [stdout] 242 | fn op_gettabup<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_settabup` is never used
[INFO] [stdout]    --> src/vm/interp.rs:255:4
[INFO] [stdout]     |
[INFO] [stdout] 255 | fn op_settabup<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_gettable` is never used
[INFO] [stdout]    --> src/vm/interp.rs:268:4
[INFO] [stdout]     |
[INFO] [stdout] 268 | fn op_gettable<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_settable` is never used
[INFO] [stdout]    --> src/vm/interp.rs:281:4
[INFO] [stdout]     |
[INFO] [stdout] 281 | fn op_settable<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_newtable` is never used
[INFO] [stdout]    --> src/vm/interp.rs:294:4
[INFO] [stdout]     |
[INFO] [stdout] 294 | fn op_newtable<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_add` is never used
[INFO] [stdout]    --> src/vm/interp.rs:307:4
[INFO] [stdout]     |
[INFO] [stdout] 307 | fn op_add<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_sub` is never used
[INFO] [stdout]    --> src/vm/interp.rs:326:4
[INFO] [stdout]     |
[INFO] [stdout] 326 | fn op_sub<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_mul` is never used
[INFO] [stdout]    --> src/vm/interp.rs:345:4
[INFO] [stdout]     |
[INFO] [stdout] 345 | fn op_mul<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_mod` is never used
[INFO] [stdout]    --> src/vm/interp.rs:364:4
[INFO] [stdout]     |
[INFO] [stdout] 364 | fn op_mod<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_pow` is never used
[INFO] [stdout]    --> src/vm/interp.rs:383:4
[INFO] [stdout]     |
[INFO] [stdout] 383 | fn op_pow<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_div` is never used
[INFO] [stdout]    --> src/vm/interp.rs:402:4
[INFO] [stdout]     |
[INFO] [stdout] 402 | fn op_div<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_idiv` is never used
[INFO] [stdout]    --> src/vm/interp.rs:421:4
[INFO] [stdout]     |
[INFO] [stdout] 421 | fn op_idiv<'gc>(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_band` is never used
[INFO] [stdout]    --> src/vm/interp.rs:440:4
[INFO] [stdout]     |
[INFO] [stdout] 440 | fn op_band<'gc>(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_bor` is never used
[INFO] [stdout]    --> src/vm/interp.rs:459:4
[INFO] [stdout]     |
[INFO] [stdout] 459 | fn op_bor<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_bxor` is never used
[INFO] [stdout]    --> src/vm/interp.rs:478:4
[INFO] [stdout]     |
[INFO] [stdout] 478 | fn op_bxor<'gc>(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_shl` is never used
[INFO] [stdout]    --> src/vm/interp.rs:497:4
[INFO] [stdout]     |
[INFO] [stdout] 497 | fn op_shl<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_shr` is never used
[INFO] [stdout]    --> src/vm/interp.rs:516:4
[INFO] [stdout]     |
[INFO] [stdout] 516 | fn op_shr<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_mmbin` is never used
[INFO] [stdout]    --> src/vm/interp.rs:535:4
[INFO] [stdout]     |
[INFO] [stdout] 535 | fn op_mmbin<'gc>(
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_unm` is never used
[INFO] [stdout]    --> src/vm/interp.rs:552:4
[INFO] [stdout]     |
[INFO] [stdout] 552 | fn op_unm<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_bnot` is never used
[INFO] [stdout]    --> src/vm/interp.rs:565:4
[INFO] [stdout]     |
[INFO] [stdout] 565 | fn op_bnot<'gc>(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_not` is never used
[INFO] [stdout]    --> src/vm/interp.rs:578:4
[INFO] [stdout]     |
[INFO] [stdout] 578 | fn op_not<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_len` is never used
[INFO] [stdout]    --> src/vm/interp.rs:591:4
[INFO] [stdout]     |
[INFO] [stdout] 591 | fn op_len<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_concat` is never used
[INFO] [stdout]    --> src/vm/interp.rs:604:4
[INFO] [stdout]     |
[INFO] [stdout] 604 | fn op_concat<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_close` is never used
[INFO] [stdout]    --> src/vm/interp.rs:617:4
[INFO] [stdout]     |
[INFO] [stdout] 617 | fn op_close<'gc>(
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tbc` is never used
[INFO] [stdout]    --> src/vm/interp.rs:630:4
[INFO] [stdout]     |
[INFO] [stdout] 630 | fn op_tbc<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_jmp` is never used
[INFO] [stdout]    --> src/vm/interp.rs:643:4
[INFO] [stdout]     |
[INFO] [stdout] 643 | fn op_jmp<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_eq` is never used
[INFO] [stdout]    --> src/vm/interp.rs:656:4
[INFO] [stdout]     |
[INFO] [stdout] 656 | fn op_eq<'gc>(
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_lt` is never used
[INFO] [stdout]    --> src/vm/interp.rs:669:4
[INFO] [stdout]     |
[INFO] [stdout] 669 | fn op_lt<'gc>(
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_le` is never used
[INFO] [stdout]    --> src/vm/interp.rs:682:4
[INFO] [stdout]     |
[INFO] [stdout] 682 | fn op_le<'gc>(
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_test` is never used
[INFO] [stdout]    --> src/vm/interp.rs:695:4
[INFO] [stdout]     |
[INFO] [stdout] 695 | fn op_test<'gc>(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_call` is never used
[INFO] [stdout]    --> src/vm/interp.rs:708:4
[INFO] [stdout]     |
[INFO] [stdout] 708 | fn op_call<'gc>(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tailcall` is never used
[INFO] [stdout]    --> src/vm/interp.rs:725:4
[INFO] [stdout]     |
[INFO] [stdout] 725 | fn op_tailcall<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_return` is never used
[INFO] [stdout]    --> src/vm/interp.rs:738:4
[INFO] [stdout]     |
[INFO] [stdout] 738 | fn op_return<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_forloop` is never used
[INFO] [stdout]    --> src/vm/interp.rs:751:4
[INFO] [stdout]     |
[INFO] [stdout] 751 | fn op_forloop<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_forprep` is never used
[INFO] [stdout]    --> src/vm/interp.rs:763:4
[INFO] [stdout]     |
[INFO] [stdout] 763 | fn op_forprep<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tforprep` is never used
[INFO] [stdout]    --> src/vm/interp.rs:775:4
[INFO] [stdout]     |
[INFO] [stdout] 775 | fn op_tforprep<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tforcall` is never used
[INFO] [stdout]    --> src/vm/interp.rs:787:4
[INFO] [stdout]     |
[INFO] [stdout] 787 | fn op_tforcall<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tforloop` is never used
[INFO] [stdout]    --> src/vm/interp.rs:799:4
[INFO] [stdout]     |
[INFO] [stdout] 799 | fn op_tforloop<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_setlist` is never used
[INFO] [stdout]    --> src/vm/interp.rs:811:4
[INFO] [stdout]     |
[INFO] [stdout] 811 | fn op_setlist<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_closure` is never used
[INFO] [stdout]    --> src/vm/interp.rs:823:4
[INFO] [stdout]     |
[INFO] [stdout] 823 | fn op_closure<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_vararg` is never used
[INFO] [stdout]    --> src/vm/interp.rs:835:4
[INFO] [stdout]     |
[INFO] [stdout] 835 | fn op_vararg<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_varargprep` is never used
[INFO] [stdout]    --> src/vm/interp.rs:847:4
[INFO] [stdout]     |
[INFO] [stdout] 847 | fn op_varargprep<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_nop` is never used
[INFO] [stdout]    --> src/vm/interp.rs:859:4
[INFO] [stdout]     |
[INFO] [stdout] 859 | fn op_nop<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_stop` is never used
[INFO] [stdout]    --> src/vm/interp.rs:872:4
[INFO] [stdout]     |
[INFO] [stdout] 872 | fn op_stop<'gc>(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `exact_float_to_int` is never used
[INFO] [stdout]  --> src/vm/num.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn exact_float_to_int(f: f64) -> Option<i64> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_arith` is never used
[INFO] [stdout]   --> src/vm/num.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn op_arith<'gc, Op: ArithOp>(lhs: Value, rhs: Value) -> Option<Value<'gc>> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tcvm v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait `ArithOp` is never used
[INFO] [stdout]   --> src/vm/num.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub trait ArithOp {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Add` is never constructed
[INFO] [stdout]   --> src/vm/num.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct Add;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Sub` is never constructed
[INFO] [stdout]   --> src/vm/num.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct Sub;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mul` is never constructed
[INFO] [stdout]   --> src/vm/num.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct Mul;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mod` is never constructed
[INFO] [stdout]   --> src/vm/num.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub struct Mod;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Pow` is never constructed
[INFO] [stdout]    --> src/vm/num.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub struct Pow;
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Div` is never constructed
[INFO] [stdout]    --> src/vm/num.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub struct Div;
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IDiv` is never constructed
[INFO] [stdout]    --> src/vm/num.rs:133:12
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub struct IDiv;
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_bit` is never used
[INFO] [stdout]    --> src/vm/num.rs:148:8
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub fn op_bit<'gc, Op: BitOp>(lhs: Value, rhs: Value) -> Option<Value<'gc>> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BitOp` is never used
[INFO] [stdout]    --> src/vm/num.rs:164:11
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub trait BitOp {
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BAnd` is never constructed
[INFO] [stdout]    --> src/vm/num.rs:168:12
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub struct BAnd;
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BOr` is never constructed
[INFO] [stdout]    --> src/vm/num.rs:177:12
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub struct BOr;
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BXor` is never constructed
[INFO] [stdout]    --> src/vm/num.rs:186:12
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub struct BXor;
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Shl` is never constructed
[INFO] [stdout]    --> src/vm/num.rs:195:12
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub struct Shl;
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Shr` is never constructed
[INFO] [stdout]    --> src/vm/num.rs:204:12
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub struct Shr;
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/env/table/mod.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Table<'gc>(Gc<'gc, RefLock<TableState<'gc>>>);
[INFO] [stdout]   |            -----      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |            |
[INFO] [stdout]   |            field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[INFO] [stdout]   = note: `Table` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `raw` and `metadatable` are never read
[INFO] [stdout]   --> src/env/table/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct TableState<'gc> {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout]  9 |     raw: RawTable<'gc>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 10 |     metadatable: Option<Table<'gc>>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `raise`
[INFO] [stdout]    --> src/vm/interp.rs:105:22
[INFO] [stdout]     |
[INFO] [stdout] 105 |         macro_rules! raise {
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `check`
[INFO] [stdout]    --> src/vm/interp.rs:111:22
[INFO] [stdout]     |
[INFO] [stdout] 111 |         macro_rules! check {
[INFO] [stdout]     |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `reg`
[INFO] [stdout]    --> src/vm/interp.rs:119:22
[INFO] [stdout]     |
[INFO] [stdout] 119 |         macro_rules! reg {
[INFO] [stdout]     |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `args`
[INFO] [stdout]   --> src/vm/interp.rs:96:22
[INFO] [stdout]    |
[INFO] [stdout] 96 |         macro_rules! args {
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `dispatch`
[INFO] [stdout]   --> src/vm/interp.rs:81:22
[INFO] [stdout]    |
[INFO] [stdout] 81 |         macro_rules! dispatch {
[INFO] [stdout]    |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutation`
[INFO] [stdout]  --> src/env/table/mod.rs:3:46
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::dmm::{lock::RefLock, Collect, Gc, Mutation};
[INFO] [stdout]   |                                              ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/vm/interp.rs:198:10
[INFO] [stdout]     |
[INFO] [stdout] 198 |     let (dst, idx) = args!(Instruction::LOAD { dst, idx });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/vm/interp.rs:198:15
[INFO] [stdout]     |
[INFO] [stdout] 198 |     let (dst, idx) = args!(Instruction::LOAD { dst, idx });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/vm/interp.rs:211:9
[INFO] [stdout]     |
[INFO] [stdout] 211 |     let src = args!(Instruction::LFALSESKIP { src });
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/vm/interp.rs:224:10
[INFO] [stdout]     |
[INFO] [stdout] 224 |     let (dst, idx) = args!(Instruction::GETUPVAL { dst, idx });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/vm/interp.rs:224:15
[INFO] [stdout]     |
[INFO] [stdout] 224 |     let (dst, idx) = args!(Instruction::GETUPVAL { dst, idx });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/vm/interp.rs:237:10
[INFO] [stdout]     |
[INFO] [stdout] 237 |     let (src, idx) = args!(Instruction::SETUPVAL { src, idx });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/vm/interp.rs:237:15
[INFO] [stdout]     |
[INFO] [stdout] 237 |     let (src, idx) = args!(Instruction::SETUPVAL { src, idx });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/vm/interp.rs:250:10
[INFO] [stdout]     |
[INFO] [stdout] 250 |     let (dst, idx, key) = args!(Instruction::GETTABUP { dst, idx, key });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/vm/interp.rs:250:15
[INFO] [stdout]     |
[INFO] [stdout] 250 |     let (dst, idx, key) = args!(Instruction::GETTABUP { dst, idx, key });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/vm/interp.rs:250:20
[INFO] [stdout]     |
[INFO] [stdout] 250 |     let (dst, idx, key) = args!(Instruction::GETTABUP { dst, idx, key });
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/vm/interp.rs:263:10
[INFO] [stdout]     |
[INFO] [stdout] 263 |     let (src, idx, key) = args!(Instruction::SETTABUP { src, idx, key });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]    --> src/vm/interp.rs:263:15
[INFO] [stdout]     |
[INFO] [stdout] 263 |     let (src, idx, key) = args!(Instruction::SETTABUP { src, idx, key });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/vm/interp.rs:263:20
[INFO] [stdout]     |
[INFO] [stdout] 263 |     let (src, idx, key) = args!(Instruction::SETTABUP { src, idx, key });
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/vm/interp.rs:276:10
[INFO] [stdout]     |
[INFO] [stdout] 276 |     let (dst, table, key) = args!(Instruction::GETTABLE { dst, table, key });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `table`
[INFO] [stdout]    --> src/vm/interp.rs:276:15
[INFO] [stdout]     |
[INFO] [stdout] 276 |     let (dst, table, key) = args!(Instruction::GETTABLE { dst, table, key });
[INFO] [stdout]     |               ^^^^^ help: if this is intentional, prefix it with an underscore: `_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/vm/interp.rs:276:22
[INFO] [stdout]     |
[INFO] [stdout] 276 |     let (dst, table, key) = args!(Instruction::GETTABLE { dst, table, key });
[INFO] [stdout]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/vm/interp.rs:289:10
[INFO] [stdout]     |
[INFO] [stdout] 289 |     let (src, table, key) = args!(Instruction::SETTABLE { src, table, key });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `table`
[INFO] [stdout]    --> src/vm/interp.rs:289:15
[INFO] [stdout]     |
[INFO] [stdout] 289 |     let (src, table, key) = args!(Instruction::SETTABLE { src, table, key });
[INFO] [stdout]     |               ^^^^^ help: if this is intentional, prefix it with an underscore: `_table`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `key`
[INFO] [stdout]    --> src/vm/interp.rs:289:22
[INFO] [stdout]     |
[INFO] [stdout] 289 |     let (src, table, key) = args!(Instruction::SETTABLE { src, table, key });
[INFO] [stdout]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/vm/interp.rs:302:9
[INFO] [stdout]     |
[INFO] [stdout] 302 |     let dst = args!(Instruction::NEWTABLE { dst });
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lhs`
[INFO] [stdout]    --> src/vm/interp.rs:543:10
[INFO] [stdout]     |
[INFO] [stdout] 543 |     let (lhs, rhs, metamethod) = args!(Instruction::MMBIN {
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_lhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> src/vm/interp.rs:543:15
[INFO] [stdout]     |
[INFO] [stdout] 543 |     let (lhs, rhs, metamethod) = args!(Instruction::MMBIN {
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `metamethod`
[INFO] [stdout]    --> src/vm/interp.rs:543:20
[INFO] [stdout]     |
[INFO] [stdout] 543 |     let (lhs, rhs, metamethod) = args!(Instruction::MMBIN {
[INFO] [stdout]     |                    ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metamethod`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/vm/interp.rs:560:10
[INFO] [stdout]     |
[INFO] [stdout] 560 |     let (dst, src) = args!(Instruction::UNM { dst, src });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/vm/interp.rs:560:15
[INFO] [stdout]     |
[INFO] [stdout] 560 |     let (dst, src) = args!(Instruction::UNM { dst, src });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/vm/interp.rs:573:10
[INFO] [stdout]     |
[INFO] [stdout] 573 |     let (dst, src) = args!(Instruction::BNOT { dst, src });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/vm/interp.rs:573:15
[INFO] [stdout]     |
[INFO] [stdout] 573 |     let (dst, src) = args!(Instruction::BNOT { dst, src });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/vm/interp.rs:586:10
[INFO] [stdout]     |
[INFO] [stdout] 586 |     let (dst, src) = args!(Instruction::BNOT { dst, src });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/vm/interp.rs:586:15
[INFO] [stdout]     |
[INFO] [stdout] 586 |     let (dst, src) = args!(Instruction::BNOT { dst, src });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/vm/interp.rs:599:10
[INFO] [stdout]     |
[INFO] [stdout] 599 |     let (dst, src) = args!(Instruction::BNOT { dst, src });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/vm/interp.rs:599:15
[INFO] [stdout]     |
[INFO] [stdout] 599 |     let (dst, src) = args!(Instruction::BNOT { dst, src });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/vm/interp.rs:612:10
[INFO] [stdout]     |
[INFO] [stdout] 612 |     let (dst, lhs, rhs) = args!(Instruction::CONCAT { dst, lhs, rhs });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lhs`
[INFO] [stdout]    --> src/vm/interp.rs:612:15
[INFO] [stdout]     |
[INFO] [stdout] 612 |     let (dst, lhs, rhs) = args!(Instruction::CONCAT { dst, lhs, rhs });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_lhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> src/vm/interp.rs:612:20
[INFO] [stdout]     |
[INFO] [stdout] 612 |     let (dst, lhs, rhs) = args!(Instruction::CONCAT { dst, lhs, rhs });
[INFO] [stdout]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start`
[INFO] [stdout]    --> src/vm/interp.rs:625:9
[INFO] [stdout]     |
[INFO] [stdout] 625 |     let start = args!(Instruction::CLOSE { start });
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `val`
[INFO] [stdout]    --> src/vm/interp.rs:638:9
[INFO] [stdout]     |
[INFO] [stdout] 638 |     let val = args!(Instruction::TBC { val });
[INFO] [stdout]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `offset`
[INFO] [stdout]    --> src/vm/interp.rs:651:9
[INFO] [stdout]     |
[INFO] [stdout] 651 |     let offset = args!(Instruction::JMP { offset });
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lhs`
[INFO] [stdout]    --> src/vm/interp.rs:664:10
[INFO] [stdout]     |
[INFO] [stdout] 664 |     let (lhs, rhs, inverted) = args!(Instruction::EQ { lhs, rhs, inverted });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_lhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> src/vm/interp.rs:664:15
[INFO] [stdout]     |
[INFO] [stdout] 664 |     let (lhs, rhs, inverted) = args!(Instruction::EQ { lhs, rhs, inverted });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inverted`
[INFO] [stdout]    --> src/vm/interp.rs:664:20
[INFO] [stdout]     |
[INFO] [stdout] 664 |     let (lhs, rhs, inverted) = args!(Instruction::EQ { lhs, rhs, inverted });
[INFO] [stdout]     |                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inverted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lhs`
[INFO] [stdout]    --> src/vm/interp.rs:677:10
[INFO] [stdout]     |
[INFO] [stdout] 677 |     let (lhs, rhs, inverted) = args!(Instruction::LT { lhs, rhs, inverted });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_lhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> src/vm/interp.rs:677:15
[INFO] [stdout]     |
[INFO] [stdout] 677 |     let (lhs, rhs, inverted) = args!(Instruction::LT { lhs, rhs, inverted });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inverted`
[INFO] [stdout]    --> src/vm/interp.rs:677:20
[INFO] [stdout]     |
[INFO] [stdout] 677 |     let (lhs, rhs, inverted) = args!(Instruction::LT { lhs, rhs, inverted });
[INFO] [stdout]     |                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inverted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lhs`
[INFO] [stdout]    --> src/vm/interp.rs:690:10
[INFO] [stdout]     |
[INFO] [stdout] 690 |     let (lhs, rhs, inverted) = args!(Instruction::LE { lhs, rhs, inverted });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_lhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rhs`
[INFO] [stdout]    --> src/vm/interp.rs:690:15
[INFO] [stdout]     |
[INFO] [stdout] 690 |     let (lhs, rhs, inverted) = args!(Instruction::LE { lhs, rhs, inverted });
[INFO] [stdout]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inverted`
[INFO] [stdout]    --> src/vm/interp.rs:690:20
[INFO] [stdout]     |
[INFO] [stdout] 690 |     let (lhs, rhs, inverted) = args!(Instruction::LE { lhs, rhs, inverted });
[INFO] [stdout]     |                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inverted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/vm/interp.rs:703:10
[INFO] [stdout]     |
[INFO] [stdout] 703 |     let (src, inverted) = args!(Instruction::TEST { src, inverted });
[INFO] [stdout]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inverted`
[INFO] [stdout]    --> src/vm/interp.rs:703:15
[INFO] [stdout]     |
[INFO] [stdout] 703 |     let (src, inverted) = args!(Instruction::TEST { src, inverted });
[INFO] [stdout]     |               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inverted`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func`
[INFO] [stdout]    --> src/vm/interp.rs:716:10
[INFO] [stdout]     |
[INFO] [stdout] 716 |     let (func, args, returns) = args!(Instruction::CALL {
[INFO] [stdout]     |          ^^^^ help: if this is intentional, prefix it with an underscore: `_func`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/vm/interp.rs:716:16
[INFO] [stdout]     |
[INFO] [stdout] 716 |     let (func, args, returns) = args!(Instruction::CALL {
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `returns`
[INFO] [stdout]    --> src/vm/interp.rs:716:22
[INFO] [stdout]     |
[INFO] [stdout] 716 |     let (func, args, returns) = args!(Instruction::CALL {
[INFO] [stdout]     |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_returns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func`
[INFO] [stdout]    --> src/vm/interp.rs:733:10
[INFO] [stdout]     |
[INFO] [stdout] 733 |     let (func, args) = args!(Instruction::TAILCALL { func, args });
[INFO] [stdout]     |          ^^^^ help: if this is intentional, prefix it with an underscore: `_func`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/vm/interp.rs:733:16
[INFO] [stdout]     |
[INFO] [stdout] 733 |     let (func, args) = args!(Instruction::TAILCALL { func, args });
[INFO] [stdout]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `values`
[INFO] [stdout]    --> src/vm/interp.rs:746:10
[INFO] [stdout]     |
[INFO] [stdout] 746 |     let (values, count) = args!(Instruction::RETURN { values, count });
[INFO] [stdout]     |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `count`
[INFO] [stdout]    --> src/vm/interp.rs:746:18
[INFO] [stdout]     |
[INFO] [stdout] 746 |     let (values, count) = args!(Instruction::RETURN { values, count });
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Register` is never used
[INFO] [stdout]  --> src/instruction.rs:1:6
[INFO] [stdout]   |
[INFO] [stdout] 1 | type Register = u8;
[INFO] [stdout]   |      ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `UpvalueIndex` is never used
[INFO] [stdout]  --> src/instruction.rs:2:6
[INFO] [stdout]   |
[INFO] [stdout] 2 | type UpvalueIndex = u8;
[INFO] [stdout]   |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ConstantIndex` is never used
[INFO] [stdout]  --> src/instruction.rs:3:6
[INFO] [stdout]   |
[INFO] [stdout] 3 | type ConstantIndex = u16;
[INFO] [stdout]   |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Instruction` is never used
[INFO] [stdout]  --> src/instruction.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum Instruction {
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `discriminant` is never used
[INFO] [stdout]    --> src/instruction.rs:240:12
[INFO] [stdout]     |
[INFO] [stdout] 239 | impl Instruction {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] 240 |     pub fn discriminant(self) -> u8 {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MetaMethod` is never used
[INFO] [stdout]    --> src/instruction.rs:246:10
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub enum MetaMethod {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Lexer` is never constructed
[INFO] [stdout]  --> src/parser/lexer.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct Lexer<'source> {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Token` is never used
[INFO] [stdout]  --> src/parser/token.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum Token {
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `HANDLERS` is never used
[INFO] [stdout]  --> src/vm/interp.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const HANDLERS: &[Handler] = &[
[INFO] [stdout]   |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Error` is never constructed
[INFO] [stdout]   --> src/vm/interp.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | struct Error {
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Thread` is never constructed
[INFO] [stdout]   --> src/vm/interp.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct Thread {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Registers` is never used
[INFO] [stdout]   --> src/vm/interp.rs:66:6
[INFO] [stdout]    |
[INFO] [stdout] 66 | type Registers<'gc, 'a> = &'a mut [Value<'gc>];
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Handler` is never used
[INFO] [stdout]   --> src/vm/interp.rs:71:6
[INFO] [stdout]    |
[INFO] [stdout] 71 | type Handler = fn(
[INFO] [stdout]    |      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run` is never used
[INFO] [stdout]    --> src/vm/interp.rs:148:8
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub fn run(tape: &[Instruction], thread: &mut Thread) {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `impl_error` is never used
[INFO] [stdout]    --> src/vm/interp.rs:163:4
[INFO] [stdout]     |
[INFO] [stdout] 163 | fn impl_error<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_move` is never used
[INFO] [stdout]    --> src/vm/interp.rs:176:4
[INFO] [stdout]     |
[INFO] [stdout] 176 | fn op_move<'gc>(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_load` is never used
[INFO] [stdout]    --> src/vm/interp.rs:190:4
[INFO] [stdout]     |
[INFO] [stdout] 190 | fn op_load<'gc>(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_lfalseskip` is never used
[INFO] [stdout]    --> src/vm/interp.rs:203:4
[INFO] [stdout]     |
[INFO] [stdout] 203 | fn op_lfalseskip<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_getupval` is never used
[INFO] [stdout]    --> src/vm/interp.rs:216:4
[INFO] [stdout]     |
[INFO] [stdout] 216 | fn op_getupval<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_setupval` is never used
[INFO] [stdout]    --> src/vm/interp.rs:229:4
[INFO] [stdout]     |
[INFO] [stdout] 229 | fn op_setupval<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_gettabup` is never used
[INFO] [stdout]    --> src/vm/interp.rs:242:4
[INFO] [stdout]     |
[INFO] [stdout] 242 | fn op_gettabup<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_settabup` is never used
[INFO] [stdout]    --> src/vm/interp.rs:255:4
[INFO] [stdout]     |
[INFO] [stdout] 255 | fn op_settabup<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_gettable` is never used
[INFO] [stdout]    --> src/vm/interp.rs:268:4
[INFO] [stdout]     |
[INFO] [stdout] 268 | fn op_gettable<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_settable` is never used
[INFO] [stdout]    --> src/vm/interp.rs:281:4
[INFO] [stdout]     |
[INFO] [stdout] 281 | fn op_settable<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_newtable` is never used
[INFO] [stdout]    --> src/vm/interp.rs:294:4
[INFO] [stdout]     |
[INFO] [stdout] 294 | fn op_newtable<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_add` is never used
[INFO] [stdout]    --> src/vm/interp.rs:307:4
[INFO] [stdout]     |
[INFO] [stdout] 307 | fn op_add<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_sub` is never used
[INFO] [stdout]    --> src/vm/interp.rs:326:4
[INFO] [stdout]     |
[INFO] [stdout] 326 | fn op_sub<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_mul` is never used
[INFO] [stdout]    --> src/vm/interp.rs:345:4
[INFO] [stdout]     |
[INFO] [stdout] 345 | fn op_mul<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_mod` is never used
[INFO] [stdout]    --> src/vm/interp.rs:364:4
[INFO] [stdout]     |
[INFO] [stdout] 364 | fn op_mod<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_pow` is never used
[INFO] [stdout]    --> src/vm/interp.rs:383:4
[INFO] [stdout]     |
[INFO] [stdout] 383 | fn op_pow<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_div` is never used
[INFO] [stdout]    --> src/vm/interp.rs:402:4
[INFO] [stdout]     |
[INFO] [stdout] 402 | fn op_div<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_idiv` is never used
[INFO] [stdout]    --> src/vm/interp.rs:421:4
[INFO] [stdout]     |
[INFO] [stdout] 421 | fn op_idiv<'gc>(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_band` is never used
[INFO] [stdout]    --> src/vm/interp.rs:440:4
[INFO] [stdout]     |
[INFO] [stdout] 440 | fn op_band<'gc>(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_bor` is never used
[INFO] [stdout]    --> src/vm/interp.rs:459:4
[INFO] [stdout]     |
[INFO] [stdout] 459 | fn op_bor<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_bxor` is never used
[INFO] [stdout]    --> src/vm/interp.rs:478:4
[INFO] [stdout]     |
[INFO] [stdout] 478 | fn op_bxor<'gc>(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_shl` is never used
[INFO] [stdout]    --> src/vm/interp.rs:497:4
[INFO] [stdout]     |
[INFO] [stdout] 497 | fn op_shl<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_shr` is never used
[INFO] [stdout]    --> src/vm/interp.rs:516:4
[INFO] [stdout]     |
[INFO] [stdout] 516 | fn op_shr<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_mmbin` is never used
[INFO] [stdout]    --> src/vm/interp.rs:535:4
[INFO] [stdout]     |
[INFO] [stdout] 535 | fn op_mmbin<'gc>(
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_unm` is never used
[INFO] [stdout]    --> src/vm/interp.rs:552:4
[INFO] [stdout]     |
[INFO] [stdout] 552 | fn op_unm<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_bnot` is never used
[INFO] [stdout]    --> src/vm/interp.rs:565:4
[INFO] [stdout]     |
[INFO] [stdout] 565 | fn op_bnot<'gc>(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_not` is never used
[INFO] [stdout]    --> src/vm/interp.rs:578:4
[INFO] [stdout]     |
[INFO] [stdout] 578 | fn op_not<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_len` is never used
[INFO] [stdout]    --> src/vm/interp.rs:591:4
[INFO] [stdout]     |
[INFO] [stdout] 591 | fn op_len<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_concat` is never used
[INFO] [stdout]    --> src/vm/interp.rs:604:4
[INFO] [stdout]     |
[INFO] [stdout] 604 | fn op_concat<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_close` is never used
[INFO] [stdout]    --> src/vm/interp.rs:617:4
[INFO] [stdout]     |
[INFO] [stdout] 617 | fn op_close<'gc>(
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tbc` is never used
[INFO] [stdout]    --> src/vm/interp.rs:630:4
[INFO] [stdout]     |
[INFO] [stdout] 630 | fn op_tbc<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_jmp` is never used
[INFO] [stdout]    --> src/vm/interp.rs:643:4
[INFO] [stdout]     |
[INFO] [stdout] 643 | fn op_jmp<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_eq` is never used
[INFO] [stdout]    --> src/vm/interp.rs:656:4
[INFO] [stdout]     |
[INFO] [stdout] 656 | fn op_eq<'gc>(
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_lt` is never used
[INFO] [stdout]    --> src/vm/interp.rs:669:4
[INFO] [stdout]     |
[INFO] [stdout] 669 | fn op_lt<'gc>(
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_le` is never used
[INFO] [stdout]    --> src/vm/interp.rs:682:4
[INFO] [stdout]     |
[INFO] [stdout] 682 | fn op_le<'gc>(
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_test` is never used
[INFO] [stdout]    --> src/vm/interp.rs:695:4
[INFO] [stdout]     |
[INFO] [stdout] 695 | fn op_test<'gc>(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_call` is never used
[INFO] [stdout]    --> src/vm/interp.rs:708:4
[INFO] [stdout]     |
[INFO] [stdout] 708 | fn op_call<'gc>(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tailcall` is never used
[INFO] [stdout]    --> src/vm/interp.rs:725:4
[INFO] [stdout]     |
[INFO] [stdout] 725 | fn op_tailcall<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_return` is never used
[INFO] [stdout]    --> src/vm/interp.rs:738:4
[INFO] [stdout]     |
[INFO] [stdout] 738 | fn op_return<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_forloop` is never used
[INFO] [stdout]    --> src/vm/interp.rs:751:4
[INFO] [stdout]     |
[INFO] [stdout] 751 | fn op_forloop<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_forprep` is never used
[INFO] [stdout]    --> src/vm/interp.rs:763:4
[INFO] [stdout]     |
[INFO] [stdout] 763 | fn op_forprep<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tforprep` is never used
[INFO] [stdout]    --> src/vm/interp.rs:775:4
[INFO] [stdout]     |
[INFO] [stdout] 775 | fn op_tforprep<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tforcall` is never used
[INFO] [stdout]    --> src/vm/interp.rs:787:4
[INFO] [stdout]     |
[INFO] [stdout] 787 | fn op_tforcall<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tforloop` is never used
[INFO] [stdout]    --> src/vm/interp.rs:799:4
[INFO] [stdout]     |
[INFO] [stdout] 799 | fn op_tforloop<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_setlist` is never used
[INFO] [stdout]    --> src/vm/interp.rs:811:4
[INFO] [stdout]     |
[INFO] [stdout] 811 | fn op_setlist<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_closure` is never used
[INFO] [stdout]    --> src/vm/interp.rs:823:4
[INFO] [stdout]     |
[INFO] [stdout] 823 | fn op_closure<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_vararg` is never used
[INFO] [stdout]    --> src/vm/interp.rs:835:4
[INFO] [stdout]     |
[INFO] [stdout] 835 | fn op_vararg<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_varargprep` is never used
[INFO] [stdout]    --> src/vm/interp.rs:847:4
[INFO] [stdout]     |
[INFO] [stdout] 847 | fn op_varargprep<'gc>(
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_nop` is never used
[INFO] [stdout]    --> src/vm/interp.rs:859:4
[INFO] [stdout]     |
[INFO] [stdout] 859 | fn op_nop<'gc>(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_stop` is never used
[INFO] [stdout]    --> src/vm/interp.rs:872:4
[INFO] [stdout]     |
[INFO] [stdout] 872 | fn op_stop<'gc>(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `exact_float_to_int` is never used
[INFO] [stdout]  --> src/vm/num.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn exact_float_to_int(f: f64) -> Option<i64> {
[INFO] [stdout]   |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_arith` is never used
[INFO] [stdout]   --> src/vm/num.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn op_arith<'gc, Op: ArithOp>(lhs: Value, rhs: Value) -> Option<Value<'gc>> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ArithOp` is never used
[INFO] [stdout]   --> src/vm/num.rs:44:11
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub trait ArithOp {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Add` is never constructed
[INFO] [stdout]   --> src/vm/num.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct Add;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Sub` is never constructed
[INFO] [stdout]   --> src/vm/num.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct Sub;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mul` is never constructed
[INFO] [stdout]   --> src/vm/num.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub struct Mul;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mod` is never constructed
[INFO] [stdout]   --> src/vm/num.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub struct Mod;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Pow` is never constructed
[INFO] [stdout]    --> src/vm/num.rs:105:12
[INFO] [stdout]     |
[INFO] [stdout] 105 | pub struct Pow;
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Div` is never constructed
[INFO] [stdout]    --> src/vm/num.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 119 | pub struct Div;
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IDiv` is never constructed
[INFO] [stdout]    --> src/vm/num.rs:133:12
[INFO] [stdout]     |
[INFO] [stdout] 133 | pub struct IDiv;
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_bit` is never used
[INFO] [stdout]    --> src/vm/num.rs:148:8
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub fn op_bit<'gc, Op: BitOp>(lhs: Value, rhs: Value) -> Option<Value<'gc>> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BitOp` is never used
[INFO] [stdout]    --> src/vm/num.rs:164:11
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub trait BitOp {
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BAnd` is never constructed
[INFO] [stdout]    --> src/vm/num.rs:168:12
[INFO] [stdout]     |
[INFO] [stdout] 168 | pub struct BAnd;
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BOr` is never constructed
[INFO] [stdout]    --> src/vm/num.rs:177:12
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub struct BOr;
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BXor` is never constructed
[INFO] [stdout]    --> src/vm/num.rs:186:12
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub struct BXor;
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Shl` is never constructed
[INFO] [stdout]    --> src/vm/num.rs:195:12
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub struct Shl;
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Shr` is never constructed
[INFO] [stdout]    --> src/vm/num.rs:204:12
[INFO] [stdout]     |
[INFO] [stdout] 204 | pub struct Shr;
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/env/table/mod.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Table<'gc>(Gc<'gc, RefLock<TableState<'gc>>>);
[INFO] [stdout]   |            -----      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |            |
[INFO] [stdout]   |            field in this struct
[INFO] [stdout]   |
[INFO] [stdout]   = help: consider removing this field
[INFO] [stdout]   = note: `Table` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `raw` and `metadatable` are never read
[INFO] [stdout]   --> src/env/table/mod.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct TableState<'gc> {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout]  9 |     raw: RawTable<'gc>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 10 |     metadatable: Option<Table<'gc>>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.83s
[INFO] running `Command { std: "docker" "inspect" "59ba56f5f33a1f334eae32ff730dd39b69476a444b4fbac8e4fa040534524b83", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "59ba56f5f33a1f334eae32ff730dd39b69476a444b4fbac8e4fa040534524b83", kill_on_drop: false }`
[INFO] [stdout] 59ba56f5f33a1f334eae32ff730dd39b69476a444b4fbac8e4fa040534524b83
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 6d2ae14255ed9b46d7cd67813e87c2ac773c8d9fea3a8f2bf2e55c225489970e
[INFO] running `Command { std: "docker" "start" "-a" "6d2ae14255ed9b46d7cd67813e87c2ac773c8d9fea3a8f2bf2e55c225489970e", kill_on_drop: false }`
[INFO] [stderr] warning: unused macro definition: `raise`
[INFO] [stderr]    --> src/vm/interp.rs:105:22
[INFO] [stderr]     |
[INFO] [stderr] 105 |         macro_rules! raise {
[INFO] [stderr]     |                      ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition: `check`
[INFO] [stderr]    --> src/vm/interp.rs:111:22
[INFO] [stderr]     |
[INFO] [stderr] 111 |         macro_rules! check {
[INFO] [stderr]     |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition: `reg`
[INFO] [stderr]    --> src/vm/interp.rs:119:22
[INFO] [stderr]     |
[INFO] [stderr] 119 |         macro_rules! reg {
[INFO] [stderr]     |                      ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition: `args`
[INFO] [stderr]   --> src/vm/interp.rs:96:22
[INFO] [stderr]    |
[INFO] [stderr] 96 |         macro_rules! args {
[INFO] [stderr]    |                      ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition: `dispatch`
[INFO] [stderr]   --> src/vm/interp.rs:81:22
[INFO] [stderr]    |
[INFO] [stderr] 81 |         macro_rules! dispatch {
[INFO] [stderr]    |                      ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Mutation`
[INFO] [stderr]  --> src/env/table/mod.rs:3:46
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::dmm::{lock::RefLock, Collect, Gc, Mutation};
[INFO] [stderr]   |                                              ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dst`
[INFO] [stderr]    --> src/vm/interp.rs:198:10
[INFO] [stderr]     |
[INFO] [stderr] 198 |     let (dst, idx) = args!(Instruction::LOAD { dst, idx });
[INFO] [stderr]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `idx`
[INFO] [stderr]    --> src/vm/interp.rs:198:15
[INFO] [stderr]     |
[INFO] [stderr] 198 |     let (dst, idx) = args!(Instruction::LOAD { dst, idx });
[INFO] [stderr]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `src`
[INFO] [stderr]    --> src/vm/interp.rs:211:9
[INFO] [stderr]     |
[INFO] [stderr] 211 |     let src = args!(Instruction::LFALSESKIP { src });
[INFO] [stderr]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dst`
[INFO] [stderr]    --> src/vm/interp.rs:224:10
[INFO] [stderr]     |
[INFO] [stderr] 224 |     let (dst, idx) = args!(Instruction::GETUPVAL { dst, idx });
[INFO] [stderr]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `idx`
[INFO] [stderr]    --> src/vm/interp.rs:224:15
[INFO] [stderr]     |
[INFO] [stderr] 224 |     let (dst, idx) = args!(Instruction::GETUPVAL { dst, idx });
[INFO] [stderr]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `src`
[INFO] [stderr]    --> src/vm/interp.rs:237:10
[INFO] [stderr]     |
[INFO] [stderr] 237 |     let (src, idx) = args!(Instruction::SETUPVAL { src, idx });
[INFO] [stderr]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `idx`
[INFO] [stderr]    --> src/vm/interp.rs:237:15
[INFO] [stderr]     |
[INFO] [stderr] 237 |     let (src, idx) = args!(Instruction::SETUPVAL { src, idx });
[INFO] [stderr]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dst`
[INFO] [stderr]    --> src/vm/interp.rs:250:10
[INFO] [stderr]     |
[INFO] [stderr] 250 |     let (dst, idx, key) = args!(Instruction::GETTABUP { dst, idx, key });
[INFO] [stderr]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `idx`
[INFO] [stderr]    --> src/vm/interp.rs:250:15
[INFO] [stderr]     |
[INFO] [stderr] 250 |     let (dst, idx, key) = args!(Instruction::GETTABUP { dst, idx, key });
[INFO] [stderr]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/vm/interp.rs:250:20
[INFO] [stderr]     |
[INFO] [stderr] 250 |     let (dst, idx, key) = args!(Instruction::GETTABUP { dst, idx, key });
[INFO] [stderr]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `src`
[INFO] [stderr]    --> src/vm/interp.rs:263:10
[INFO] [stderr]     |
[INFO] [stderr] 263 |     let (src, idx, key) = args!(Instruction::SETTABUP { src, idx, key });
[INFO] [stderr]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `idx`
[INFO] [stderr]    --> src/vm/interp.rs:263:15
[INFO] [stderr]     |
[INFO] [stderr] 263 |     let (src, idx, key) = args!(Instruction::SETTABUP { src, idx, key });
[INFO] [stderr]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_idx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/vm/interp.rs:263:20
[INFO] [stderr]     |
[INFO] [stderr] 263 |     let (src, idx, key) = args!(Instruction::SETTABUP { src, idx, key });
[INFO] [stderr]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dst`
[INFO] [stderr]    --> src/vm/interp.rs:276:10
[INFO] [stderr]     |
[INFO] [stderr] 276 |     let (dst, table, key) = args!(Instruction::GETTABLE { dst, table, key });
[INFO] [stderr]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `table`
[INFO] [stderr]    --> src/vm/interp.rs:276:15
[INFO] [stderr]     |
[INFO] [stderr] 276 |     let (dst, table, key) = args!(Instruction::GETTABLE { dst, table, key });
[INFO] [stderr]     |               ^^^^^ help: if this is intentional, prefix it with an underscore: `_table`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/vm/interp.rs:276:22
[INFO] [stderr]     |
[INFO] [stderr] 276 |     let (dst, table, key) = args!(Instruction::GETTABLE { dst, table, key });
[INFO] [stderr]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `src`
[INFO] [stderr]    --> src/vm/interp.rs:289:10
[INFO] [stderr]     |
[INFO] [stderr] 289 |     let (src, table, key) = args!(Instruction::SETTABLE { src, table, key });
[INFO] [stderr]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `table`
[INFO] [stderr]    --> src/vm/interp.rs:289:15
[INFO] [stderr]     |
[INFO] [stderr] 289 |     let (src, table, key) = args!(Instruction::SETTABLE { src, table, key });
[INFO] [stderr]     |               ^^^^^ help: if this is intentional, prefix it with an underscore: `_table`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `key`
[INFO] [stderr]    --> src/vm/interp.rs:289:22
[INFO] [stderr]     |
[INFO] [stderr] 289 |     let (src, table, key) = args!(Instruction::SETTABLE { src, table, key });
[INFO] [stderr]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_key`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dst`
[INFO] [stderr]    --> src/vm/interp.rs:302:9
[INFO] [stderr]     |
[INFO] [stderr] 302 |     let dst = args!(Instruction::NEWTABLE { dst });
[INFO] [stderr]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `lhs`
[INFO] [stderr]    --> src/vm/interp.rs:543:10
[INFO] [stderr]     |
[INFO] [stderr] 543 |     let (lhs, rhs, metamethod) = args!(Instruction::MMBIN {
[INFO] [stderr]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_lhs`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rhs`
[INFO] [stderr]    --> src/vm/interp.rs:543:15
[INFO] [stderr]     |
[INFO] [stderr] 543 |     let (lhs, rhs, metamethod) = args!(Instruction::MMBIN {
[INFO] [stderr]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `metamethod`
[INFO] [stderr]    --> src/vm/interp.rs:543:20
[INFO] [stderr]     |
[INFO] [stderr] 543 |     let (lhs, rhs, metamethod) = args!(Instruction::MMBIN {
[INFO] [stderr]     |                    ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metamethod`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dst`
[INFO] [stderr]    --> src/vm/interp.rs:560:10
[INFO] [stderr]     |
[INFO] [stderr] 560 |     let (dst, src) = args!(Instruction::UNM { dst, src });
[INFO] [stderr]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `src`
[INFO] [stderr]    --> src/vm/interp.rs:560:15
[INFO] [stderr]     |
[INFO] [stderr] 560 |     let (dst, src) = args!(Instruction::UNM { dst, src });
[INFO] [stderr]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dst`
[INFO] [stderr]    --> src/vm/interp.rs:573:10
[INFO] [stderr]     |
[INFO] [stderr] 573 |     let (dst, src) = args!(Instruction::BNOT { dst, src });
[INFO] [stderr]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `src`
[INFO] [stderr]    --> src/vm/interp.rs:573:15
[INFO] [stderr]     |
[INFO] [stderr] 573 |     let (dst, src) = args!(Instruction::BNOT { dst, src });
[INFO] [stderr]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dst`
[INFO] [stderr]    --> src/vm/interp.rs:586:10
[INFO] [stderr]     |
[INFO] [stderr] 586 |     let (dst, src) = args!(Instruction::BNOT { dst, src });
[INFO] [stderr]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `src`
[INFO] [stderr]    --> src/vm/interp.rs:586:15
[INFO] [stderr]     |
[INFO] [stderr] 586 |     let (dst, src) = args!(Instruction::BNOT { dst, src });
[INFO] [stderr]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dst`
[INFO] [stderr]    --> src/vm/interp.rs:599:10
[INFO] [stderr]     |
[INFO] [stderr] 599 |     let (dst, src) = args!(Instruction::BNOT { dst, src });
[INFO] [stderr]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `src`
[INFO] [stderr]    --> src/vm/interp.rs:599:15
[INFO] [stderr]     |
[INFO] [stderr] 599 |     let (dst, src) = args!(Instruction::BNOT { dst, src });
[INFO] [stderr]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dst`
[INFO] [stderr]    --> src/vm/interp.rs:612:10
[INFO] [stderr]     |
[INFO] [stderr] 612 |     let (dst, lhs, rhs) = args!(Instruction::CONCAT { dst, lhs, rhs });
[INFO] [stderr]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `lhs`
[INFO] [stderr]    --> src/vm/interp.rs:612:15
[INFO] [stderr]     |
[INFO] [stderr] 612 |     let (dst, lhs, rhs) = args!(Instruction::CONCAT { dst, lhs, rhs });
[INFO] [stderr]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_lhs`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rhs`
[INFO] [stderr]    --> src/vm/interp.rs:612:20
[INFO] [stderr]     |
[INFO] [stderr] 612 |     let (dst, lhs, rhs) = args!(Instruction::CONCAT { dst, lhs, rhs });
[INFO] [stderr]     |                    ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `start`
[INFO] [stderr]    --> src/vm/interp.rs:625:9
[INFO] [stderr]     |
[INFO] [stderr] 625 |     let start = args!(Instruction::CLOSE { start });
[INFO] [stderr]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_start`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `val`
[INFO] [stderr]    --> src/vm/interp.rs:638:9
[INFO] [stderr]     |
[INFO] [stderr] 638 |     let val = args!(Instruction::TBC { val });
[INFO] [stderr]     |         ^^^ help: if this is intentional, prefix it with an underscore: `_val`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `offset`
[INFO] [stderr]    --> src/vm/interp.rs:651:9
[INFO] [stderr]     |
[INFO] [stderr] 651 |     let offset = args!(Instruction::JMP { offset });
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `lhs`
[INFO] [stderr]    --> src/vm/interp.rs:664:10
[INFO] [stderr]     |
[INFO] [stderr] 664 |     let (lhs, rhs, inverted) = args!(Instruction::EQ { lhs, rhs, inverted });
[INFO] [stderr]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_lhs`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rhs`
[INFO] [stderr]    --> src/vm/interp.rs:664:15
[INFO] [stderr]     |
[INFO] [stderr] 664 |     let (lhs, rhs, inverted) = args!(Instruction::EQ { lhs, rhs, inverted });
[INFO] [stderr]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `inverted`
[INFO] [stderr]    --> src/vm/interp.rs:664:20
[INFO] [stderr]     |
[INFO] [stderr] 664 |     let (lhs, rhs, inverted) = args!(Instruction::EQ { lhs, rhs, inverted });
[INFO] [stderr]     |                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inverted`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `lhs`
[INFO] [stderr]    --> src/vm/interp.rs:677:10
[INFO] [stderr]     |
[INFO] [stderr] 677 |     let (lhs, rhs, inverted) = args!(Instruction::LT { lhs, rhs, inverted });
[INFO] [stderr]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_lhs`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rhs`
[INFO] [stderr]    --> src/vm/interp.rs:677:15
[INFO] [stderr]     |
[INFO] [stderr] 677 |     let (lhs, rhs, inverted) = args!(Instruction::LT { lhs, rhs, inverted });
[INFO] [stderr]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `inverted`
[INFO] [stderr]    --> src/vm/interp.rs:677:20
[INFO] [stderr]     |
[INFO] [stderr] 677 |     let (lhs, rhs, inverted) = args!(Instruction::LT { lhs, rhs, inverted });
[INFO] [stderr]     |                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inverted`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `lhs`
[INFO] [stderr]    --> src/vm/interp.rs:690:10
[INFO] [stderr]     |
[INFO] [stderr] 690 |     let (lhs, rhs, inverted) = args!(Instruction::LE { lhs, rhs, inverted });
[INFO] [stderr]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_lhs`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rhs`
[INFO] [stderr]    --> src/vm/interp.rs:690:15
[INFO] [stderr]     |
[INFO] [stderr] 690 |     let (lhs, rhs, inverted) = args!(Instruction::LE { lhs, rhs, inverted });
[INFO] [stderr]     |               ^^^ help: if this is intentional, prefix it with an underscore: `_rhs`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `inverted`
[INFO] [stderr]    --> src/vm/interp.rs:690:20
[INFO] [stderr]     |
[INFO] [stderr] 690 |     let (lhs, rhs, inverted) = args!(Instruction::LE { lhs, rhs, inverted });
[INFO] [stderr]     |                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inverted`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `src`
[INFO] [stderr]    --> src/vm/interp.rs:703:10
[INFO] [stderr]     |
[INFO] [stderr] 703 |     let (src, inverted) = args!(Instruction::TEST { src, inverted });
[INFO] [stderr]     |          ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `inverted`
[INFO] [stderr]    --> src/vm/interp.rs:703:15
[INFO] [stderr]     |
[INFO] [stderr] 703 |     let (src, inverted) = args!(Instruction::TEST { src, inverted });
[INFO] [stderr]     |               ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inverted`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `func`
[INFO] [stderr]    --> src/vm/interp.rs:716:10
[INFO] [stderr]     |
[INFO] [stderr] 716 |     let (func, args, returns) = args!(Instruction::CALL {
[INFO] [stderr]     |          ^^^^ help: if this is intentional, prefix it with an underscore: `_func`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `args`
[INFO] [stderr]    --> src/vm/interp.rs:716:16
[INFO] [stderr]     |
[INFO] [stderr] 716 |     let (func, args, returns) = args!(Instruction::CALL {
[INFO] [stderr]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `returns`
[INFO] [stderr]    --> src/vm/interp.rs:716:22
[INFO] [stderr]     |
[INFO] [stderr] 716 |     let (func, args, returns) = args!(Instruction::CALL {
[INFO] [stderr]     |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_returns`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `func`
[INFO] [stderr]    --> src/vm/interp.rs:733:10
[INFO] [stderr]     |
[INFO] [stderr] 733 |     let (func, args) = args!(Instruction::TAILCALL { func, args });
[INFO] [stderr]     |          ^^^^ help: if this is intentional, prefix it with an underscore: `_func`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `args`
[INFO] [stderr]    --> src/vm/interp.rs:733:16
[INFO] [stderr]     |
[INFO] [stderr] 733 |     let (func, args) = args!(Instruction::TAILCALL { func, args });
[INFO] [stderr]     |                ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `values`
[INFO] [stderr]    --> src/vm/interp.rs:746:10
[INFO] [stderr]     |
[INFO] [stderr] 746 |     let (values, count) = args!(Instruction::RETURN { values, count });
[INFO] [stderr]     |          ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `count`
[INFO] [stderr]    --> src/vm/interp.rs:746:18
[INFO] [stderr]     |
[INFO] [stderr] 746 |     let (values, count) = args!(Instruction::RETURN { values, count });
[INFO] [stderr]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_count`
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `Register` is never used
[INFO] [stderr]  --> src/instruction.rs:1:6
[INFO] [stderr]   |
[INFO] [stderr] 1 | type Register = u8;
[INFO] [stderr]   |      ^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `UpvalueIndex` is never used
[INFO] [stderr]  --> src/instruction.rs:2:6
[INFO] [stderr]   |
[INFO] [stderr] 2 | type UpvalueIndex = u8;
[INFO] [stderr]   |      ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `ConstantIndex` is never used
[INFO] [stderr]  --> src/instruction.rs:3:6
[INFO] [stderr]   |
[INFO] [stderr] 3 | type ConstantIndex = u16;
[INFO] [stderr]   |      ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Instruction` is never used
[INFO] [stderr]  --> src/instruction.rs:8:10
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub enum Instruction {
[INFO] [stderr]   |          ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `discriminant` is never used
[INFO] [stderr]    --> src/instruction.rs:240:12
[INFO] [stderr]     |
[INFO] [stderr] 239 | impl Instruction {
[INFO] [stderr]     | ---------------- method in this implementation
[INFO] [stderr] 240 |     pub fn discriminant(self) -> u8 {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `MetaMethod` is never used
[INFO] [stderr]    --> src/instruction.rs:246:10
[INFO] [stderr]     |
[INFO] [stderr] 246 | pub enum MetaMethod {
[INFO] [stderr]     |          ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Lexer` is never constructed
[INFO] [stderr]  --> src/parser/lexer.rs:1:12
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub struct Lexer<'source> {
[INFO] [stderr]   |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Token` is never used
[INFO] [stderr]  --> src/parser/token.rs:1:10
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub enum Token {
[INFO] [stderr]   |          ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: constant `HANDLERS` is never used
[INFO] [stderr]  --> src/vm/interp.rs:5:7
[INFO] [stderr]   |
[INFO] [stderr] 5 | const HANDLERS: &[Handler] = &[
[INFO] [stderr]   |       ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Error` is never constructed
[INFO] [stderr]   --> src/vm/interp.rs:57:8
[INFO] [stderr]    |
[INFO] [stderr] 57 | struct Error {
[INFO] [stderr]    |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Thread` is never constructed
[INFO] [stderr]   --> src/vm/interp.rs:61:12
[INFO] [stderr]    |
[INFO] [stderr] 61 | pub struct Thread {
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `Registers` is never used
[INFO] [stderr]   --> src/vm/interp.rs:66:6
[INFO] [stderr]    |
[INFO] [stderr] 66 | type Registers<'gc, 'a> = &'a mut [Value<'gc>];
[INFO] [stderr]    |      ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `Handler` is never used
[INFO] [stderr]   --> src/vm/interp.rs:71:6
[INFO] [stderr]    |
[INFO] [stderr] 71 | type Handler = fn(
[INFO] [stderr]    |      ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `run` is never used
[INFO] [stderr]    --> src/vm/interp.rs:148:8
[INFO] [stderr]     |
[INFO] [stderr] 148 | pub fn run(tape: &[Instruction], thread: &mut Thread) {
[INFO] [stderr]     |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `impl_error` is never used
[INFO] [stderr]    --> src/vm/interp.rs:163:4
[INFO] [stderr]     |
[INFO] [stderr] 163 | fn impl_error<'gc>(
[INFO] [stderr]     |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_move` is never used
[INFO] [stderr]    --> src/vm/interp.rs:176:4
[INFO] [stderr]     |
[INFO] [stderr] 176 | fn op_move<'gc>(
[INFO] [stderr]     |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_load` is never used
[INFO] [stderr]    --> src/vm/interp.rs:190:4
[INFO] [stderr]     |
[INFO] [stderr] 190 | fn op_load<'gc>(
[INFO] [stderr]     |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_lfalseskip` is never used
[INFO] [stderr]    --> src/vm/interp.rs:203:4
[INFO] [stderr]     |
[INFO] [stderr] 203 | fn op_lfalseskip<'gc>(
[INFO] [stderr]     |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_getupval` is never used
[INFO] [stderr]    --> src/vm/interp.rs:216:4
[INFO] [stderr]     |
[INFO] [stderr] 216 | fn op_getupval<'gc>(
[INFO] [stderr]     |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_setupval` is never used
[INFO] [stderr]    --> src/vm/interp.rs:229:4
[INFO] [stderr]     |
[INFO] [stderr] 229 | fn op_setupval<'gc>(
[INFO] [stderr]     |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_gettabup` is never used
[INFO] [stderr]    --> src/vm/interp.rs:242:4
[INFO] [stderr]     |
[INFO] [stderr] 242 | fn op_gettabup<'gc>(
[INFO] [stderr]     |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_settabup` is never used
[INFO] [stderr]    --> src/vm/interp.rs:255:4
[INFO] [stderr]     |
[INFO] [stderr] 255 | fn op_settabup<'gc>(
[INFO] [stderr]     |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_gettable` is never used
[INFO] [stderr]    --> src/vm/interp.rs:268:4
[INFO] [stderr]     |
[INFO] [stderr] 268 | fn op_gettable<'gc>(
[INFO] [stderr]     |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_settable` is never used
[INFO] [stderr]    --> src/vm/interp.rs:281:4
[INFO] [stderr]     |
[INFO] [stderr] 281 | fn op_settable<'gc>(
[INFO] [stderr]     |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_newtable` is never used
[INFO] [stderr]    --> src/vm/interp.rs:294:4
[INFO] [stderr]     |
[INFO] [stderr] 294 | fn op_newtable<'gc>(
[INFO] [stderr]     |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_add` is never used
[INFO] [stderr]    --> src/vm/interp.rs:307:4
[INFO] [stderr]     |
[INFO] [stderr] 307 | fn op_add<'gc>(
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_sub` is never used
[INFO] [stderr]    --> src/vm/interp.rs:326:4
[INFO] [stderr]     |
[INFO] [stderr] 326 | fn op_sub<'gc>(
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_mul` is never used
[INFO] [stderr]    --> src/vm/interp.rs:345:4
[INFO] [stderr]     |
[INFO] [stderr] 345 | fn op_mul<'gc>(
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_mod` is never used
[INFO] [stderr]    --> src/vm/interp.rs:364:4
[INFO] [stderr]     |
[INFO] [stderr] 364 | fn op_mod<'gc>(
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_pow` is never used
[INFO] [stderr]    --> src/vm/interp.rs:383:4
[INFO] [stderr]     |
[INFO] [stderr] 383 | fn op_pow<'gc>(
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_div` is never used
[INFO] [stderr]    --> src/vm/interp.rs:402:4
[INFO] [stderr]     |
[INFO] [stderr] 402 | fn op_div<'gc>(
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_idiv` is never used
[INFO] [stderr]    --> src/vm/interp.rs:421:4
[INFO] [stderr]     |
[INFO] [stderr] 421 | fn op_idiv<'gc>(
[INFO] [stderr]     |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_band` is never used
[INFO] [stderr]    --> src/vm/interp.rs:440:4
[INFO] [stderr]     |
[INFO] [stderr] 440 | fn op_band<'gc>(
[INFO] [stderr]     |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_bor` is never used
[INFO] [stderr]    --> src/vm/interp.rs:459:4
[INFO] [stderr]     |
[INFO] [stderr] 459 | fn op_bor<'gc>(
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_bxor` is never used
[INFO] [stderr]    --> src/vm/interp.rs:478:4
[INFO] [stderr]     |
[INFO] [stderr] 478 | fn op_bxor<'gc>(
[INFO] [stderr]     |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_shl` is never used
[INFO] [stderr]    --> src/vm/interp.rs:497:4
[INFO] [stderr]     |
[INFO] [stderr] 497 | fn op_shl<'gc>(
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_shr` is never used
[INFO] [stderr]    --> src/vm/interp.rs:516:4
[INFO] [stderr]     |
[INFO] [stderr] 516 | fn op_shr<'gc>(
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_mmbin` is never used
[INFO] [stderr]    --> src/vm/interp.rs:535:4
[INFO] [stderr]     |
[INFO] [stderr] 535 | fn op_mmbin<'gc>(
[INFO] [stderr]     |    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_unm` is never used
[INFO] [stderr]    --> src/vm/interp.rs:552:4
[INFO] [stderr]     |
[INFO] [stderr] 552 | fn op_unm<'gc>(
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_bnot` is never used
[INFO] [stderr]    --> src/vm/interp.rs:565:4
[INFO] [stderr]     |
[INFO] [stderr] 565 | fn op_bnot<'gc>(
[INFO] [stderr]     |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_not` is never used
[INFO] [stderr]    --> src/vm/interp.rs:578:4
[INFO] [stderr]     |
[INFO] [stderr] 578 | fn op_not<'gc>(
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_len` is never used
[INFO] [stderr]    --> src/vm/interp.rs:591:4
[INFO] [stderr]     |
[INFO] [stderr] 591 | fn op_len<'gc>(
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_concat` is never used
[INFO] [stderr]    --> src/vm/interp.rs:604:4
[INFO] [stderr]     |
[INFO] [stderr] 604 | fn op_concat<'gc>(
[INFO] [stderr]     |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_close` is never used
[INFO] [stderr]    --> src/vm/interp.rs:617:4
[INFO] [stderr]     |
[INFO] [stderr] 617 | fn op_close<'gc>(
[INFO] [stderr]     |    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_tbc` is never used
[INFO] [stderr]    --> src/vm/interp.rs:630:4
[INFO] [stderr]     |
[INFO] [stderr] 630 | fn op_tbc<'gc>(
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_jmp` is never used
[INFO] [stderr]    --> src/vm/interp.rs:643:4
[INFO] [stderr]     |
[INFO] [stderr] 643 | fn op_jmp<'gc>(
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_eq` is never used
[INFO] [stderr]    --> src/vm/interp.rs:656:4
[INFO] [stderr]     |
[INFO] [stderr] 656 | fn op_eq<'gc>(
[INFO] [stderr]     |    ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_lt` is never used
[INFO] [stderr]    --> src/vm/interp.rs:669:4
[INFO] [stderr]     |
[INFO] [stderr] 669 | fn op_lt<'gc>(
[INFO] [stderr]     |    ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_le` is never used
[INFO] [stderr]    --> src/vm/interp.rs:682:4
[INFO] [stderr]     |
[INFO] [stderr] 682 | fn op_le<'gc>(
[INFO] [stderr]     |    ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_test` is never used
[INFO] [stderr]    --> src/vm/interp.rs:695:4
[INFO] [stderr]     |
[INFO] [stderr] 695 | fn op_test<'gc>(
[INFO] [stderr]     |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_call` is never used
[INFO] [stderr]    --> src/vm/interp.rs:708:4
[INFO] [stderr]     |
[INFO] [stderr] 708 | fn op_call<'gc>(
[INFO] [stderr]     |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_tailcall` is never used
[INFO] [stderr]    --> src/vm/interp.rs:725:4
[INFO] [stderr]     |
[INFO] [stderr] 725 | fn op_tailcall<'gc>(
[INFO] [stderr]     |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_return` is never used
[INFO] [stderr]    --> src/vm/interp.rs:738:4
[INFO] [stderr]     |
[INFO] [stderr] 738 | fn op_return<'gc>(
[INFO] [stderr]     |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_forloop` is never used
[INFO] [stderr]    --> src/vm/interp.rs:751:4
[INFO] [stderr]     |
[INFO] [stderr] 751 | fn op_forloop<'gc>(
[INFO] [stderr]     |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_forprep` is never used
[INFO] [stderr]    --> src/vm/interp.rs:763:4
[INFO] [stderr]     |
[INFO] [stderr] 763 | fn op_forprep<'gc>(
[INFO] [stderr]     |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_tforprep` is never used
[INFO] [stderr]    --> src/vm/interp.rs:775:4
[INFO] [stderr]     |
[INFO] [stderr] 775 | fn op_tforprep<'gc>(
[INFO] [stderr]     |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_tforcall` is never used
[INFO] [stderr]    --> src/vm/interp.rs:787:4
[INFO] [stderr]     |
[INFO] [stderr] 787 | fn op_tforcall<'gc>(
[INFO] [stderr]     |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_tforloop` is never used
[INFO] [stderr]    --> src/vm/interp.rs:799:4
[INFO] [stderr]     |
[INFO] [stderr] 799 | fn op_tforloop<'gc>(
[INFO] [stderr]     |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_setlist` is never used
[INFO] [stderr]    --> src/vm/interp.rs:811:4
[INFO] [stderr]     |
[INFO] [stderr] 811 | fn op_setlist<'gc>(
[INFO] [stderr]     |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_closure` is never used
[INFO] [stderr]    --> src/vm/interp.rs:823:4
[INFO] [stderr]     |
[INFO] [stderr] 823 | fn op_closure<'gc>(
[INFO] [stderr]     |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_vararg` is never used
[INFO] [stderr]    --> src/vm/interp.rs:835:4
[INFO] [stderr]     |
[INFO] [stderr] 835 | fn op_vararg<'gc>(
[INFO] [stderr]     |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_varargprep` is never used
[INFO] [stderr]    --> src/vm/interp.rs:847:4
[INFO] [stderr]     |
[INFO] [stderr] 847 | fn op_varargprep<'gc>(
[INFO] [stderr]     |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_nop` is never used
[INFO] [stderr]    --> src/vm/interp.rs:859:4
[INFO] [stderr]     |
[INFO] [stderr] 859 | fn op_nop<'gc>(
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_stop` is never used
[INFO] [stderr]    --> src/vm/interp.rs:872:4
[INFO] [stderr]     |
[INFO] [stderr] 872 | fn op_stop<'gc>(
[INFO] [stderr]     |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `exact_float_to_int` is never used
[INFO] [stderr]  --> src/vm/num.rs:3:4
[INFO] [stderr]   |
[INFO] [stderr] 3 | fn exact_float_to_int(f: f64) -> Option<i64> {
[INFO] [stderr]   |    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_arith` is never used
[INFO] [stderr]   --> src/vm/num.rs:24:8
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub fn op_arith<'gc, Op: ArithOp>(lhs: Value, rhs: Value) -> Option<Value<'gc>> {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `ArithOp` is never used
[INFO] [stderr]   --> src/vm/num.rs:44:11
[INFO] [stderr]    |
[INFO] [stderr] 44 | pub trait ArithOp {
[INFO] [stderr]    |           ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Add` is never constructed
[INFO] [stderr]   --> src/vm/num.rs:49:12
[INFO] [stderr]    |
[INFO] [stderr] 49 | pub struct Add;
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Sub` is never constructed
[INFO] [stderr]   --> src/vm/num.rs:63:12
[INFO] [stderr]    |
[INFO] [stderr] 63 | pub struct Sub;
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Mul` is never constructed
[INFO] [stderr]   --> src/vm/num.rs:77:12
[INFO] [stderr]    |
[INFO] [stderr] 77 | pub struct Mul;
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Mod` is never constructed
[INFO] [stderr]   --> src/vm/num.rs:91:12
[INFO] [stderr]    |
[INFO] [stderr] 91 | pub struct Mod;
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Pow` is never constructed
[INFO] [stderr]    --> src/vm/num.rs:105:12
[INFO] [stderr]     |
[INFO] [stderr] 105 | pub struct Pow;
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Div` is never constructed
[INFO] [stderr]    --> src/vm/num.rs:119:12
[INFO] [stderr]     |
[INFO] [stderr] 119 | pub struct Div;
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `IDiv` is never constructed
[INFO] [stderr]    --> src/vm/num.rs:133:12
[INFO] [stderr]     |
[INFO] [stderr] 133 | pub struct IDiv;
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_bit` is never used
[INFO] [stderr]    --> src/vm/num.rs:148:8
[INFO] [stderr]     |
[INFO] [stderr] 148 | pub fn op_bit<'gc, Op: BitOp>(lhs: Value, rhs: Value) -> Option<Value<'gc>> {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `BitOp` is never used
[INFO] [stderr]    --> src/vm/num.rs:164:11
[INFO] [stderr]     |
[INFO] [stderr] 164 | pub trait BitOp {
[INFO] [stderr]     |           ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `BAnd` is never constructed
[INFO] [stderr]    --> src/vm/num.rs:168:12
[INFO] [stderr]     |
[INFO] [stderr] 168 | pub struct BAnd;
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `BOr` is never constructed
[INFO] [stderr]    --> src/vm/num.rs:177:12
[INFO] [stderr]     |
[INFO] [stderr] 177 | pub struct BOr;
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `BXor` is never constructed
[INFO] [stderr]    --> src/vm/num.rs:186:12
[INFO] [stderr]     |
[INFO] [stderr] 186 | pub struct BXor;
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Shl` is never constructed
[INFO] [stderr]    --> src/vm/num.rs:195:12
[INFO] [stderr]     |
[INFO] [stderr] 195 | pub struct Shl;
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Shr` is never constructed
[INFO] [stderr]    --> src/vm/num.rs:204:12
[INFO] [stderr]     |
[INFO] [stderr] 204 | pub struct Shr;
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]  --> src/env/table/mod.rs:6:23
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub struct Table<'gc>(Gc<'gc, RefLock<TableState<'gc>>>);
[INFO] [stderr]   |            -----      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |            |
[INFO] [stderr]   |            field in this struct
[INFO] [stderr]   |
[INFO] [stderr]   = help: consider removing this field
[INFO] [stderr]   = note: `Table` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `raw` and `metadatable` are never read
[INFO] [stderr]   --> src/env/table/mod.rs:9:5
[INFO] [stderr]    |
[INFO] [stderr]  8 | pub struct TableState<'gc> {
[INFO] [stderr]    |            ---------- fields in this struct
[INFO] [stderr]  9 |     raw: RawTable<'gc>,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 10 |     metadatable: Option<Table<'gc>>,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `tcvm` (lib) generated 144 warnings (run `cargo fix --lib -p tcvm` to apply 56 suggestions)
[INFO] [stderr] warning: `tcvm` (lib test) generated 144 warnings (144 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.11s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tcvm-cfddf16328e35862)
[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; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests tcvm
[INFO] [stderr] error[E0432]: unresolved import `crate::Gc`
[INFO] [stderr]   --> src/dmm/barrier.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use crate::Gc;
[INFO] [stderr]    |     ^^^^^^^^^ no `Gc` in the root
[INFO] [stderr]    |
[INFO] [stderr] help: consider importing one of these structs instead
[INFO] [stderr]    |
[INFO] [stderr] 15 | use crate::dmm::Gc;
[INFO] [stderr]    |            +++++
[INFO] [stderr] 15 - use crate::Gc;
[INFO] [stderr] 15 + use tcvm::dmm::Gc;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 1 previous error
[INFO] [stderr] 
[INFO] [stderr] For more information about this error, try `rustc --explain E0432`.
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/db823df02fd0c2cf67b43025ac3fef3f2d743245/bin/rustdoc --edition=2024 --crate-type lib --color auto --crate-name tcvm --test src/lib.rs --test-run-directory /opt/rustwide/workdir --extern foldhash=/opt/rustwide/target/debug/deps/libfoldhash-a84df4cbe8daa3b8.rlib --extern genawaiter=/opt/rustwide/target/debug/deps/libgenawaiter-b68932eec0a632fb.rlib --extern hashbrown=/opt/rustwide/target/debug/deps/libhashbrown-ac6b6f0326016c43.rlib --extern paste=/opt/rustwide/target/debug/deps/libpaste-c5e5e8a2bd161c29.so --extern tcvm=/opt/rustwide/target/debug/deps/libtcvm-67a7bcd0dfa3ddd3.rlib --extern tcvm_derive=/opt/rustwide/target/debug/deps/libtcvm_derive-a6bb7e97626925a3.so -L dependency=/opt/rustwide/target/debug/deps -C embed-bitcode=no --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' --cap-lints=forbid --error-format human` (exit status: 1)
[INFO] [stderr] note: test exited abnormally; to see the full output pass --no-capture to the harness.
[INFO] running `Command { std: "docker" "inspect" "6d2ae14255ed9b46d7cd67813e87c2ac773c8d9fea3a8f2bf2e55c225489970e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6d2ae14255ed9b46d7cd67813e87c2ac773c8d9fea3a8f2bf2e55c225489970e", kill_on_drop: false }`
[INFO] [stdout] 6d2ae14255ed9b46d7cd67813e87c2ac773c8d9fea3a8f2bf2e55c225489970e
