[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] 71d0be58b6c2dfec405f2baa00bbafa0fa008a2b
[INFO] testing xacrimon/tcvm against master#1ef7943ee607160a564655b6596f83670ef95df5 for pr-146098-6
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fxacrimon%2Ftcvm" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-2-tc1/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-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/xacrimon/tcvm on toolchain 1ef7943ee607160a564655b6596f83670ef95df5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "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" "+1ef7943ee607160a564655b6596f83670ef95df5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded proc-macro-error v0.4.12
[INFO] [stderr]   Downloaded genawaiter-proc-macro v0.99.1
[INFO] [stderr]   Downloaded genawaiter v0.99.1
[INFO] [stderr]   Downloaded genawaiter-macro v0.99.1
[INFO] [stderr]   Downloaded syn-mid v0.5.4
[INFO] [stderr]   Downloaded proc-macro-error-attr v0.4.12
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0310877b64f140b3d84548be8c74cdffe25e7f13e2eaa964f6abb35c9d803c72
[INFO] running `Command { std: "docker" "start" "-a" "0310877b64f140b3d84548be8c74cdffe25e7f13e2eaa964f6abb35c9d803c72", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0310877b64f140b3d84548be8c74cdffe25e7f13e2eaa964f6abb35c9d803c72", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0310877b64f140b3d84548be8c74cdffe25e7f13e2eaa964f6abb35c9d803c72", kill_on_drop: false }`
[INFO] [stdout] 0310877b64f140b3d84548be8c74cdffe25e7f13e2eaa964f6abb35c9d803c72
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 476e4f453941466136cd58228cfeed7a2cc105eeff478f5229c970a252f25af7
[INFO] running `Command { std: "docker" "start" "-a" "476e4f453941466136cd58228cfeed7a2cc105eeff478f5229c970a252f25af7", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling genawaiter-macro v0.99.1
[INFO] [stderr]    Compiling hashbrown v0.15.4
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling proc-macro-error-attr v0.4.12
[INFO] [stderr]    Compiling proc-macro-error v0.4.12
[INFO] [stderr]    Compiling quote v1.0.40
[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 import: `ValueType`
[INFO] [stdout]  --> src/interp.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::value::{Value, ValueType};
[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 macro definition: `raise`
[INFO] [stdout]    --> src/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/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/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/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/interp.rs:81:22
[INFO] [stdout]    |
[INFO] [stdout] 81 |         macro_rules! dispatch {
[INFO] [stdout]    |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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: constant `HANDLERS` is never used
[INFO] [stdout]  --> src/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/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/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/interp.rs:66:6
[INFO] [stdout]    |
[INFO] [stdout] 66 | type Registers<'a> = &'a mut [Value];
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Handler` is never used
[INFO] [stdout]   --> src/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/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/interp.rs:163:4
[INFO] [stdout]     |
[INFO] [stdout] 163 | fn impl_error(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_move` is never used
[INFO] [stdout]    --> src/interp.rs:176:4
[INFO] [stdout]     |
[INFO] [stdout] 176 | fn op_move(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_load` is never used
[INFO] [stdout]    --> src/interp.rs:190:4
[INFO] [stdout]     |
[INFO] [stdout] 190 | fn op_load(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_lfalseskip` is never used
[INFO] [stdout]    --> src/interp.rs:203:4
[INFO] [stdout]     |
[INFO] [stdout] 203 | fn op_lfalseskip(
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_getupval` is never used
[INFO] [stdout]    --> src/interp.rs:216:4
[INFO] [stdout]     |
[INFO] [stdout] 216 | fn op_getupval(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_setupval` is never used
[INFO] [stdout]    --> src/interp.rs:229:4
[INFO] [stdout]     |
[INFO] [stdout] 229 | fn op_setupval(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_gettabup` is never used
[INFO] [stdout]    --> src/interp.rs:242:4
[INFO] [stdout]     |
[INFO] [stdout] 242 | fn op_gettabup(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_settabup` is never used
[INFO] [stdout]    --> src/interp.rs:255:4
[INFO] [stdout]     |
[INFO] [stdout] 255 | fn op_settabup(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_gettable` is never used
[INFO] [stdout]    --> src/interp.rs:268:4
[INFO] [stdout]     |
[INFO] [stdout] 268 | fn op_gettable(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_settable` is never used
[INFO] [stdout]    --> src/interp.rs:281:4
[INFO] [stdout]     |
[INFO] [stdout] 281 | fn op_settable(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_newtable` is never used
[INFO] [stdout]    --> src/interp.rs:294:4
[INFO] [stdout]     |
[INFO] [stdout] 294 | fn op_newtable(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_add` is never used
[INFO] [stdout]    --> src/interp.rs:307:4
[INFO] [stdout]     |
[INFO] [stdout] 307 | fn op_add(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_sub` is never used
[INFO] [stdout]    --> src/interp.rs:326:4
[INFO] [stdout]     |
[INFO] [stdout] 326 | fn op_sub(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_mul` is never used
[INFO] [stdout]    --> src/interp.rs:345:4
[INFO] [stdout]     |
[INFO] [stdout] 345 | fn op_mul(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_mod` is never used
[INFO] [stdout]    --> src/interp.rs:364:4
[INFO] [stdout]     |
[INFO] [stdout] 364 | fn op_mod(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_pow` is never used
[INFO] [stdout]    --> src/interp.rs:383:4
[INFO] [stdout]     |
[INFO] [stdout] 383 | fn op_pow(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_div` is never used
[INFO] [stdout]    --> src/interp.rs:402:4
[INFO] [stdout]     |
[INFO] [stdout] 402 | fn op_div(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_idiv` is never used
[INFO] [stdout]    --> src/interp.rs:421:4
[INFO] [stdout]     |
[INFO] [stdout] 421 | fn op_idiv(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_band` is never used
[INFO] [stdout]    --> src/interp.rs:440:4
[INFO] [stdout]     |
[INFO] [stdout] 440 | fn op_band(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_bor` is never used
[INFO] [stdout]    --> src/interp.rs:459:4
[INFO] [stdout]     |
[INFO] [stdout] 459 | fn op_bor(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_bxor` is never used
[INFO] [stdout]    --> src/interp.rs:478:4
[INFO] [stdout]     |
[INFO] [stdout] 478 | fn op_bxor(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_shl` is never used
[INFO] [stdout]    --> src/interp.rs:497:4
[INFO] [stdout]     |
[INFO] [stdout] 497 | fn op_shl(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_shr` is never used
[INFO] [stdout]    --> src/interp.rs:516:4
[INFO] [stdout]     |
[INFO] [stdout] 516 | fn op_shr(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_mmbin` is never used
[INFO] [stdout]    --> src/interp.rs:535:4
[INFO] [stdout]     |
[INFO] [stdout] 535 | fn op_mmbin(
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_unm` is never used
[INFO] [stdout]    --> src/interp.rs:552:4
[INFO] [stdout]     |
[INFO] [stdout] 552 | fn op_unm(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_bnot` is never used
[INFO] [stdout]    --> src/interp.rs:565:4
[INFO] [stdout]     |
[INFO] [stdout] 565 | fn op_bnot(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_not` is never used
[INFO] [stdout]    --> src/interp.rs:578:4
[INFO] [stdout]     |
[INFO] [stdout] 578 | fn op_not(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_len` is never used
[INFO] [stdout]    --> src/interp.rs:591:4
[INFO] [stdout]     |
[INFO] [stdout] 591 | fn op_len(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_concat` is never used
[INFO] [stdout]    --> src/interp.rs:604:4
[INFO] [stdout]     |
[INFO] [stdout] 604 | fn op_concat(
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_close` is never used
[INFO] [stdout]    --> src/interp.rs:617:4
[INFO] [stdout]     |
[INFO] [stdout] 617 | fn op_close(
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tbc` is never used
[INFO] [stdout]    --> src/interp.rs:630:4
[INFO] [stdout]     |
[INFO] [stdout] 630 | fn op_tbc(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_jmp` is never used
[INFO] [stdout]    --> src/interp.rs:643:4
[INFO] [stdout]     |
[INFO] [stdout] 643 | fn op_jmp(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_eq` is never used
[INFO] [stdout]    --> src/interp.rs:656:4
[INFO] [stdout]     |
[INFO] [stdout] 656 | fn op_eq(
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_lt` is never used
[INFO] [stdout]    --> src/interp.rs:669:4
[INFO] [stdout]     |
[INFO] [stdout] 669 | fn op_lt(
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_le` is never used
[INFO] [stdout]    --> src/interp.rs:682:4
[INFO] [stdout]     |
[INFO] [stdout] 682 | fn op_le(
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_test` is never used
[INFO] [stdout]    --> src/interp.rs:695:4
[INFO] [stdout]     |
[INFO] [stdout] 695 | fn op_test(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_call` is never used
[INFO] [stdout]    --> src/interp.rs:708:4
[INFO] [stdout]     |
[INFO] [stdout] 708 | fn op_call(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tailcall` is never used
[INFO] [stdout]    --> src/interp.rs:725:4
[INFO] [stdout]     |
[INFO] [stdout] 725 | fn op_tailcall(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_return` is never used
[INFO] [stdout]    --> src/interp.rs:738:4
[INFO] [stdout]     |
[INFO] [stdout] 738 | fn op_return(
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_forloop` is never used
[INFO] [stdout]    --> src/interp.rs:751:4
[INFO] [stdout]     |
[INFO] [stdout] 751 | fn op_forloop(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_forprep` is never used
[INFO] [stdout]    --> src/interp.rs:763:4
[INFO] [stdout]     |
[INFO] [stdout] 763 | fn op_forprep(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tforprep` is never used
[INFO] [stdout]    --> src/interp.rs:775:4
[INFO] [stdout]     |
[INFO] [stdout] 775 | fn op_tforprep(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tforcall` is never used
[INFO] [stdout]    --> src/interp.rs:787:4
[INFO] [stdout]     |
[INFO] [stdout] 787 | fn op_tforcall(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tforloop` is never used
[INFO] [stdout]    --> src/interp.rs:799:4
[INFO] [stdout]     |
[INFO] [stdout] 799 | fn op_tforloop(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_setlist` is never used
[INFO] [stdout]    --> src/interp.rs:811:4
[INFO] [stdout]     |
[INFO] [stdout] 811 | fn op_setlist(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_closure` is never used
[INFO] [stdout]    --> src/interp.rs:823:4
[INFO] [stdout]     |
[INFO] [stdout] 823 | fn op_closure(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_vararg` is never used
[INFO] [stdout]    --> src/interp.rs:835:4
[INFO] [stdout]     |
[INFO] [stdout] 835 | fn op_vararg(
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_varargprep` is never used
[INFO] [stdout]    --> src/interp.rs:847:4
[INFO] [stdout]     |
[INFO] [stdout] 847 | fn op_varargprep(
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_nop` is never used
[INFO] [stdout]    --> src/interp.rs:859:4
[INFO] [stdout]     |
[INFO] [stdout] 859 | fn op_nop(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_stop` is never used
[INFO] [stdout]    --> src/interp.rs:872:4
[INFO] [stdout]     |
[INFO] [stdout] 872 | fn op_stop(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_arith` is never used
[INFO] [stdout]  --> src/num.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn op_arith<Op: ArithOp>(lhs: Value, rhs: Value) -> Option<Value> {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ArithOp` is never used
[INFO] [stdout]   --> src/num.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub trait ArithOp {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Add` is never constructed
[INFO] [stdout]   --> src/num.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct Add;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Sub` is never constructed
[INFO] [stdout]   --> src/num.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct Sub;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mul` is never constructed
[INFO] [stdout]   --> src/num.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct Mul;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mod` is never constructed
[INFO] [stdout]   --> src/num.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct Mod;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Pow` is never constructed
[INFO] [stdout]   --> src/num.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct Pow;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Div` is never constructed
[INFO] [stdout]   --> src/num.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub struct Div;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IDiv` is never constructed
[INFO] [stdout]    --> src/num.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub struct IDiv;
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_bit` is never used
[INFO] [stdout]    --> src/num.rs:128:8
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub fn op_bit<Op: BitOp>(lhs: Value, rhs: Value) -> Option<Value> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BitOp` is never used
[INFO] [stdout]    --> src/num.rs:144:11
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub trait BitOp {
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BAnd` is never constructed
[INFO] [stdout]    --> src/num.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub struct BAnd;
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BOr` is never constructed
[INFO] [stdout]    --> src/num.rs:157:12
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub struct BOr;
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BXor` is never constructed
[INFO] [stdout]    --> src/num.rs:166:12
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub struct BXor;
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Shl` is never constructed
[INFO] [stdout]    --> src/num.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub struct Shl;
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Shr` is never constructed
[INFO] [stdout]    --> src/num.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub struct Shr;
[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: enum `Value` is never used
[INFO] [stdout]   --> src/value.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum Value {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ValueType` is never used
[INFO] [stdout]   --> src/value.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum ValueType {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/value.rs:39:20
[INFO] [stdout]    |
[INFO] [stdout] 39 |             pub fn [<new_ $lowercase>](v: $type) -> Self {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |             pub fn [<as_$lowercase>](self) -> $type {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |             pub fn [<get_ $lowercase>](self) -> Option<$type> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |             pub fn [<try_ $lowercase>](self) -> Result<$type, ()> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 | impl Value {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 68 |     pub fn ty(self) -> ValueType {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     type_methods!(Boolean, boolean, bool);
[INFO] [stdout]    |     ------------------------------------- in this macro invocation
[INFO] [stdout] 76 |     type_methods!(Integer, integer, i64);
[INFO] [stdout]    |     ------------------------------------ in this macro invocation
[INFO] [stdout] 77 |     type_methods!(Float, float, f64);
[INFO] [stdout]    |     -------------------------------- in this macro invocation
[INFO] [stdout] 78 |     type_methods!(String, string, *const ());
[INFO] [stdout]    |     ---------------------------------------- in this macro invocation
[INFO] [stdout] 79 |     type_methods!(Userdata, userdata, *const ());
[INFO] [stdout]    |     -------------------------------------------- in this macro invocation
[INFO] [stdout] 80 |     type_methods!(Function, function, *const ());
[INFO] [stdout]    |     -------------------------------------------- in this macro invocation
[INFO] [stdout] 81 |     type_methods!(Thread, thread, *const ());
[INFO] [stdout]    |     ---------------------------------------- in this macro invocation
[INFO] [stdout] 82 |     type_methods!(Table, table, *const ());
[INFO] [stdout]    |     -------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `type_methods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.70s
[INFO] running `Command { std: "docker" "inspect" "476e4f453941466136cd58228cfeed7a2cc105eeff478f5229c970a252f25af7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "476e4f453941466136cd58228cfeed7a2cc105eeff478f5229c970a252f25af7", kill_on_drop: false }`
[INFO] [stdout] 476e4f453941466136cd58228cfeed7a2cc105eeff478f5229c970a252f25af7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bcd8649cc5e8a4b86f71ebb3d2102794b4d752b0641cf94f0307c6c3578dc87b
[INFO] running `Command { std: "docker" "start" "-a" "bcd8649cc5e8a4b86f71ebb3d2102794b4d752b0641cf94f0307c6c3578dc87b", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `ValueType`
[INFO] [stdout]  --> src/interp.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::value::{Value, ValueType};
[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 macro definition: `raise`
[INFO] [stdout]    --> src/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/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/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/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/interp.rs:81:22
[INFO] [stdout]    |
[INFO] [stdout] 81 |         macro_rules! dispatch {
[INFO] [stdout]    |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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: constant `HANDLERS` is never used
[INFO] [stdout]  --> src/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/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/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/interp.rs:66:6
[INFO] [stdout]    |
[INFO] [stdout] 66 | type Registers<'a> = &'a mut [Value];
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Handler` is never used
[INFO] [stdout]   --> src/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/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/interp.rs:163:4
[INFO] [stdout]     |
[INFO] [stdout] 163 | fn impl_error(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_move` is never used
[INFO] [stdout]    --> src/interp.rs:176:4
[INFO] [stdout]     |
[INFO] [stdout] 176 | fn op_move(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_load` is never used
[INFO] [stdout]    --> src/interp.rs:190:4
[INFO] [stdout]     |
[INFO] [stdout] 190 | fn op_load(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_lfalseskip` is never used
[INFO] [stdout]    --> src/interp.rs:203:4
[INFO] [stdout]     |
[INFO] [stdout] 203 | fn op_lfalseskip(
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_getupval` is never used
[INFO] [stdout]    --> src/interp.rs:216:4
[INFO] [stdout]     |
[INFO] [stdout] 216 | fn op_getupval(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_setupval` is never used
[INFO] [stdout]    --> src/interp.rs:229:4
[INFO] [stdout]     |
[INFO] [stdout] 229 | fn op_setupval(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_gettabup` is never used
[INFO] [stdout]    --> src/interp.rs:242:4
[INFO] [stdout]     |
[INFO] [stdout] 242 | fn op_gettabup(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_settabup` is never used
[INFO] [stdout]    --> src/interp.rs:255:4
[INFO] [stdout]     |
[INFO] [stdout] 255 | fn op_settabup(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_gettable` is never used
[INFO] [stdout]    --> src/interp.rs:268:4
[INFO] [stdout]     |
[INFO] [stdout] 268 | fn op_gettable(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_settable` is never used
[INFO] [stdout]    --> src/interp.rs:281:4
[INFO] [stdout]     |
[INFO] [stdout] 281 | fn op_settable(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_newtable` is never used
[INFO] [stdout]    --> src/interp.rs:294:4
[INFO] [stdout]     |
[INFO] [stdout] 294 | fn op_newtable(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_add` is never used
[INFO] [stdout]    --> src/interp.rs:307:4
[INFO] [stdout]     |
[INFO] [stdout] 307 | fn op_add(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_sub` is never used
[INFO] [stdout]    --> src/interp.rs:326:4
[INFO] [stdout]     |
[INFO] [stdout] 326 | fn op_sub(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_mul` is never used
[INFO] [stdout]    --> src/interp.rs:345:4
[INFO] [stdout]     |
[INFO] [stdout] 345 | fn op_mul(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_mod` is never used
[INFO] [stdout]    --> src/interp.rs:364:4
[INFO] [stdout]     |
[INFO] [stdout] 364 | fn op_mod(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_pow` is never used
[INFO] [stdout]    --> src/interp.rs:383:4
[INFO] [stdout]     |
[INFO] [stdout] 383 | fn op_pow(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_div` is never used
[INFO] [stdout]    --> src/interp.rs:402:4
[INFO] [stdout]     |
[INFO] [stdout] 402 | fn op_div(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_idiv` is never used
[INFO] [stdout]    --> src/interp.rs:421:4
[INFO] [stdout]     |
[INFO] [stdout] 421 | fn op_idiv(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_band` is never used
[INFO] [stdout]    --> src/interp.rs:440:4
[INFO] [stdout]     |
[INFO] [stdout] 440 | fn op_band(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_bor` is never used
[INFO] [stdout]    --> src/interp.rs:459:4
[INFO] [stdout]     |
[INFO] [stdout] 459 | fn op_bor(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_bxor` is never used
[INFO] [stdout]    --> src/interp.rs:478:4
[INFO] [stdout]     |
[INFO] [stdout] 478 | fn op_bxor(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_shl` is never used
[INFO] [stdout]    --> src/interp.rs:497:4
[INFO] [stdout]     |
[INFO] [stdout] 497 | fn op_shl(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_shr` is never used
[INFO] [stdout]    --> src/interp.rs:516:4
[INFO] [stdout]     |
[INFO] [stdout] 516 | fn op_shr(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_mmbin` is never used
[INFO] [stdout]    --> src/interp.rs:535:4
[INFO] [stdout]     |
[INFO] [stdout] 535 | fn op_mmbin(
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_unm` is never used
[INFO] [stdout]    --> src/interp.rs:552:4
[INFO] [stdout]     |
[INFO] [stdout] 552 | fn op_unm(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_bnot` is never used
[INFO] [stdout]    --> src/interp.rs:565:4
[INFO] [stdout]     |
[INFO] [stdout] 565 | fn op_bnot(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_not` is never used
[INFO] [stdout]    --> src/interp.rs:578:4
[INFO] [stdout]     |
[INFO] [stdout] 578 | fn op_not(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_len` is never used
[INFO] [stdout]    --> src/interp.rs:591:4
[INFO] [stdout]     |
[INFO] [stdout] 591 | fn op_len(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_concat` is never used
[INFO] [stdout]    --> src/interp.rs:604:4
[INFO] [stdout]     |
[INFO] [stdout] 604 | fn op_concat(
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_close` is never used
[INFO] [stdout]    --> src/interp.rs:617:4
[INFO] [stdout]     |
[INFO] [stdout] 617 | fn op_close(
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tbc` is never used
[INFO] [stdout]    --> src/interp.rs:630:4
[INFO] [stdout]     |
[INFO] [stdout] 630 | fn op_tbc(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_jmp` is never used
[INFO] [stdout]    --> src/interp.rs:643:4
[INFO] [stdout]     |
[INFO] [stdout] 643 | fn op_jmp(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_eq` is never used
[INFO] [stdout]    --> src/interp.rs:656:4
[INFO] [stdout]     |
[INFO] [stdout] 656 | fn op_eq(
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_lt` is never used
[INFO] [stdout]    --> src/interp.rs:669:4
[INFO] [stdout]     |
[INFO] [stdout] 669 | fn op_lt(
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_le` is never used
[INFO] [stdout]    --> src/interp.rs:682:4
[INFO] [stdout]     |
[INFO] [stdout] 682 | fn op_le(
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_test` is never used
[INFO] [stdout]    --> src/interp.rs:695:4
[INFO] [stdout]     |
[INFO] [stdout] 695 | fn op_test(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_call` is never used
[INFO] [stdout]    --> src/interp.rs:708:4
[INFO] [stdout]     |
[INFO] [stdout] 708 | fn op_call(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tailcall` is never used
[INFO] [stdout]    --> src/interp.rs:725:4
[INFO] [stdout]     |
[INFO] [stdout] 725 | fn op_tailcall(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_return` is never used
[INFO] [stdout]    --> src/interp.rs:738:4
[INFO] [stdout]     |
[INFO] [stdout] 738 | fn op_return(
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_forloop` is never used
[INFO] [stdout]    --> src/interp.rs:751:4
[INFO] [stdout]     |
[INFO] [stdout] 751 | fn op_forloop(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_forprep` is never used
[INFO] [stdout]    --> src/interp.rs:763:4
[INFO] [stdout]     |
[INFO] [stdout] 763 | fn op_forprep(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tforprep` is never used
[INFO] [stdout]    --> src/interp.rs:775:4
[INFO] [stdout]     |
[INFO] [stdout] 775 | fn op_tforprep(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tforcall` is never used
[INFO] [stdout]    --> src/interp.rs:787:4
[INFO] [stdout]     |
[INFO] [stdout] 787 | fn op_tforcall(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tforloop` is never used
[INFO] [stdout]    --> src/interp.rs:799:4
[INFO] [stdout]     |
[INFO] [stdout] 799 | fn op_tforloop(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_setlist` is never used
[INFO] [stdout]    --> src/interp.rs:811:4
[INFO] [stdout]     |
[INFO] [stdout] 811 | fn op_setlist(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_closure` is never used
[INFO] [stdout]    --> src/interp.rs:823:4
[INFO] [stdout]     |
[INFO] [stdout] 823 | fn op_closure(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_vararg` is never used
[INFO] [stdout]    --> src/interp.rs:835:4
[INFO] [stdout]     |
[INFO] [stdout] 835 | fn op_vararg(
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_varargprep` is never used
[INFO] [stdout]    --> src/interp.rs:847:4
[INFO] [stdout]     |
[INFO] [stdout] 847 | fn op_varargprep(
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_nop` is never used
[INFO] [stdout]    --> src/interp.rs:859:4
[INFO] [stdout]     |
[INFO] [stdout] 859 | fn op_nop(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_stop` is never used
[INFO] [stdout]    --> src/interp.rs:872:4
[INFO] [stdout]     |
[INFO] [stdout] 872 | fn op_stop(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_arith` is never used
[INFO] [stdout]  --> src/num.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn op_arith<Op: ArithOp>(lhs: Value, rhs: Value) -> Option<Value> {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ArithOp` is never used
[INFO] [stdout]   --> src/num.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub trait ArithOp {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Add` is never constructed
[INFO] [stdout]   --> src/num.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct Add;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Sub` is never constructed
[INFO] [stdout]   --> src/num.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct Sub;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mul` is never constructed
[INFO] [stdout]   --> src/num.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct Mul;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mod` is never constructed
[INFO] [stdout]   --> src/num.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct Mod;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Pow` is never constructed
[INFO] [stdout]   --> src/num.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct Pow;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Div` is never constructed
[INFO] [stdout]   --> src/num.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub struct Div;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IDiv` is never constructed
[INFO] [stdout]    --> src/num.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub struct IDiv;
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_bit` is never used
[INFO] [stdout]    --> src/num.rs:128:8
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub fn op_bit<Op: BitOp>(lhs: Value, rhs: Value) -> Option<Value> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BitOp` is never used
[INFO] [stdout]    --> src/num.rs:144:11
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub trait BitOp {
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BAnd` is never constructed
[INFO] [stdout]    --> src/num.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub struct BAnd;
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BOr` is never constructed
[INFO] [stdout]    --> src/num.rs:157:12
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub struct BOr;
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BXor` is never constructed
[INFO] [stdout]    --> src/num.rs:166:12
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub struct BXor;
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Shl` is never constructed
[INFO] [stdout]    --> src/num.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub struct Shl;
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Shr` is never constructed
[INFO] [stdout]    --> src/num.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub struct Shr;
[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: enum `Value` is never used
[INFO] [stdout]   --> src/value.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum Value {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ValueType` is never used
[INFO] [stdout]   --> src/value.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum ValueType {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling tcvm v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/value.rs:39:20
[INFO] [stdout]    |
[INFO] [stdout] 39 |             pub fn [<new_ $lowercase>](v: $type) -> Self {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |             pub fn [<as_$lowercase>](self) -> $type {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |             pub fn [<get_ $lowercase>](self) -> Option<$type> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |             pub fn [<try_ $lowercase>](self) -> Result<$type, ()> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 | impl Value {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 68 |     pub fn ty(self) -> ValueType {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     type_methods!(Boolean, boolean, bool);
[INFO] [stdout]    |     ------------------------------------- in this macro invocation
[INFO] [stdout] 76 |     type_methods!(Integer, integer, i64);
[INFO] [stdout]    |     ------------------------------------ in this macro invocation
[INFO] [stdout] 77 |     type_methods!(Float, float, f64);
[INFO] [stdout]    |     -------------------------------- in this macro invocation
[INFO] [stdout] 78 |     type_methods!(String, string, *const ());
[INFO] [stdout]    |     ---------------------------------------- in this macro invocation
[INFO] [stdout] 79 |     type_methods!(Userdata, userdata, *const ());
[INFO] [stdout]    |     -------------------------------------------- in this macro invocation
[INFO] [stdout] 80 |     type_methods!(Function, function, *const ());
[INFO] [stdout]    |     -------------------------------------------- in this macro invocation
[INFO] [stdout] 81 |     type_methods!(Thread, thread, *const ());
[INFO] [stdout]    |     ---------------------------------------- in this macro invocation
[INFO] [stdout] 82 |     type_methods!(Table, table, *const ());
[INFO] [stdout]    |     -------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `type_methods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ValueType`
[INFO] [stdout]  --> src/interp.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::value::{Value, ValueType};
[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 macro definition: `raise`
[INFO] [stdout]    --> src/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/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/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/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/interp.rs:81:22
[INFO] [stdout]    |
[INFO] [stdout] 81 |         macro_rules! dispatch {
[INFO] [stdout]    |                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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: constant `HANDLERS` is never used
[INFO] [stdout]  --> src/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/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/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/interp.rs:66:6
[INFO] [stdout]    |
[INFO] [stdout] 66 | type Registers<'a> = &'a mut [Value];
[INFO] [stdout]    |      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Handler` is never used
[INFO] [stdout]   --> src/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/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/interp.rs:163:4
[INFO] [stdout]     |
[INFO] [stdout] 163 | fn impl_error(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_move` is never used
[INFO] [stdout]    --> src/interp.rs:176:4
[INFO] [stdout]     |
[INFO] [stdout] 176 | fn op_move(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_load` is never used
[INFO] [stdout]    --> src/interp.rs:190:4
[INFO] [stdout]     |
[INFO] [stdout] 190 | fn op_load(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_lfalseskip` is never used
[INFO] [stdout]    --> src/interp.rs:203:4
[INFO] [stdout]     |
[INFO] [stdout] 203 | fn op_lfalseskip(
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_getupval` is never used
[INFO] [stdout]    --> src/interp.rs:216:4
[INFO] [stdout]     |
[INFO] [stdout] 216 | fn op_getupval(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_setupval` is never used
[INFO] [stdout]    --> src/interp.rs:229:4
[INFO] [stdout]     |
[INFO] [stdout] 229 | fn op_setupval(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_gettabup` is never used
[INFO] [stdout]    --> src/interp.rs:242:4
[INFO] [stdout]     |
[INFO] [stdout] 242 | fn op_gettabup(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_settabup` is never used
[INFO] [stdout]    --> src/interp.rs:255:4
[INFO] [stdout]     |
[INFO] [stdout] 255 | fn op_settabup(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_gettable` is never used
[INFO] [stdout]    --> src/interp.rs:268:4
[INFO] [stdout]     |
[INFO] [stdout] 268 | fn op_gettable(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_settable` is never used
[INFO] [stdout]    --> src/interp.rs:281:4
[INFO] [stdout]     |
[INFO] [stdout] 281 | fn op_settable(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_newtable` is never used
[INFO] [stdout]    --> src/interp.rs:294:4
[INFO] [stdout]     |
[INFO] [stdout] 294 | fn op_newtable(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_add` is never used
[INFO] [stdout]    --> src/interp.rs:307:4
[INFO] [stdout]     |
[INFO] [stdout] 307 | fn op_add(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_sub` is never used
[INFO] [stdout]    --> src/interp.rs:326:4
[INFO] [stdout]     |
[INFO] [stdout] 326 | fn op_sub(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_mul` is never used
[INFO] [stdout]    --> src/interp.rs:345:4
[INFO] [stdout]     |
[INFO] [stdout] 345 | fn op_mul(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_mod` is never used
[INFO] [stdout]    --> src/interp.rs:364:4
[INFO] [stdout]     |
[INFO] [stdout] 364 | fn op_mod(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_pow` is never used
[INFO] [stdout]    --> src/interp.rs:383:4
[INFO] [stdout]     |
[INFO] [stdout] 383 | fn op_pow(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_div` is never used
[INFO] [stdout]    --> src/interp.rs:402:4
[INFO] [stdout]     |
[INFO] [stdout] 402 | fn op_div(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_idiv` is never used
[INFO] [stdout]    --> src/interp.rs:421:4
[INFO] [stdout]     |
[INFO] [stdout] 421 | fn op_idiv(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_band` is never used
[INFO] [stdout]    --> src/interp.rs:440:4
[INFO] [stdout]     |
[INFO] [stdout] 440 | fn op_band(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_bor` is never used
[INFO] [stdout]    --> src/interp.rs:459:4
[INFO] [stdout]     |
[INFO] [stdout] 459 | fn op_bor(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_bxor` is never used
[INFO] [stdout]    --> src/interp.rs:478:4
[INFO] [stdout]     |
[INFO] [stdout] 478 | fn op_bxor(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_shl` is never used
[INFO] [stdout]    --> src/interp.rs:497:4
[INFO] [stdout]     |
[INFO] [stdout] 497 | fn op_shl(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_shr` is never used
[INFO] [stdout]    --> src/interp.rs:516:4
[INFO] [stdout]     |
[INFO] [stdout] 516 | fn op_shr(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_mmbin` is never used
[INFO] [stdout]    --> src/interp.rs:535:4
[INFO] [stdout]     |
[INFO] [stdout] 535 | fn op_mmbin(
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_unm` is never used
[INFO] [stdout]    --> src/interp.rs:552:4
[INFO] [stdout]     |
[INFO] [stdout] 552 | fn op_unm(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_bnot` is never used
[INFO] [stdout]    --> src/interp.rs:565:4
[INFO] [stdout]     |
[INFO] [stdout] 565 | fn op_bnot(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_not` is never used
[INFO] [stdout]    --> src/interp.rs:578:4
[INFO] [stdout]     |
[INFO] [stdout] 578 | fn op_not(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_len` is never used
[INFO] [stdout]    --> src/interp.rs:591:4
[INFO] [stdout]     |
[INFO] [stdout] 591 | fn op_len(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_concat` is never used
[INFO] [stdout]    --> src/interp.rs:604:4
[INFO] [stdout]     |
[INFO] [stdout] 604 | fn op_concat(
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_close` is never used
[INFO] [stdout]    --> src/interp.rs:617:4
[INFO] [stdout]     |
[INFO] [stdout] 617 | fn op_close(
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tbc` is never used
[INFO] [stdout]    --> src/interp.rs:630:4
[INFO] [stdout]     |
[INFO] [stdout] 630 | fn op_tbc(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_jmp` is never used
[INFO] [stdout]    --> src/interp.rs:643:4
[INFO] [stdout]     |
[INFO] [stdout] 643 | fn op_jmp(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_eq` is never used
[INFO] [stdout]    --> src/interp.rs:656:4
[INFO] [stdout]     |
[INFO] [stdout] 656 | fn op_eq(
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_lt` is never used
[INFO] [stdout]    --> src/interp.rs:669:4
[INFO] [stdout]     |
[INFO] [stdout] 669 | fn op_lt(
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_le` is never used
[INFO] [stdout]    --> src/interp.rs:682:4
[INFO] [stdout]     |
[INFO] [stdout] 682 | fn op_le(
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_test` is never used
[INFO] [stdout]    --> src/interp.rs:695:4
[INFO] [stdout]     |
[INFO] [stdout] 695 | fn op_test(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_call` is never used
[INFO] [stdout]    --> src/interp.rs:708:4
[INFO] [stdout]     |
[INFO] [stdout] 708 | fn op_call(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tailcall` is never used
[INFO] [stdout]    --> src/interp.rs:725:4
[INFO] [stdout]     |
[INFO] [stdout] 725 | fn op_tailcall(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_return` is never used
[INFO] [stdout]    --> src/interp.rs:738:4
[INFO] [stdout]     |
[INFO] [stdout] 738 | fn op_return(
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_forloop` is never used
[INFO] [stdout]    --> src/interp.rs:751:4
[INFO] [stdout]     |
[INFO] [stdout] 751 | fn op_forloop(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_forprep` is never used
[INFO] [stdout]    --> src/interp.rs:763:4
[INFO] [stdout]     |
[INFO] [stdout] 763 | fn op_forprep(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tforprep` is never used
[INFO] [stdout]    --> src/interp.rs:775:4
[INFO] [stdout]     |
[INFO] [stdout] 775 | fn op_tforprep(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tforcall` is never used
[INFO] [stdout]    --> src/interp.rs:787:4
[INFO] [stdout]     |
[INFO] [stdout] 787 | fn op_tforcall(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_tforloop` is never used
[INFO] [stdout]    --> src/interp.rs:799:4
[INFO] [stdout]     |
[INFO] [stdout] 799 | fn op_tforloop(
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_setlist` is never used
[INFO] [stdout]    --> src/interp.rs:811:4
[INFO] [stdout]     |
[INFO] [stdout] 811 | fn op_setlist(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_closure` is never used
[INFO] [stdout]    --> src/interp.rs:823:4
[INFO] [stdout]     |
[INFO] [stdout] 823 | fn op_closure(
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_vararg` is never used
[INFO] [stdout]    --> src/interp.rs:835:4
[INFO] [stdout]     |
[INFO] [stdout] 835 | fn op_vararg(
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_varargprep` is never used
[INFO] [stdout]    --> src/interp.rs:847:4
[INFO] [stdout]     |
[INFO] [stdout] 847 | fn op_varargprep(
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_nop` is never used
[INFO] [stdout]    --> src/interp.rs:859:4
[INFO] [stdout]     |
[INFO] [stdout] 859 | fn op_nop(
[INFO] [stdout]     |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_stop` is never used
[INFO] [stdout]    --> src/interp.rs:872:4
[INFO] [stdout]     |
[INFO] [stdout] 872 | fn op_stop(
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_arith` is never used
[INFO] [stdout]  --> src/num.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn op_arith<Op: ArithOp>(lhs: Value, rhs: Value) -> Option<Value> {
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ArithOp` is never used
[INFO] [stdout]   --> src/num.rs:24:11
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub trait ArithOp {
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Add` is never constructed
[INFO] [stdout]   --> src/num.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct Add;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Sub` is never constructed
[INFO] [stdout]   --> src/num.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct Sub;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mul` is never constructed
[INFO] [stdout]   --> src/num.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct Mul;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Mod` is never constructed
[INFO] [stdout]   --> src/num.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct Mod;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Pow` is never constructed
[INFO] [stdout]   --> src/num.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct Pow;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Div` is never constructed
[INFO] [stdout]   --> src/num.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub struct Div;
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IDiv` is never constructed
[INFO] [stdout]    --> src/num.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub struct IDiv;
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `op_bit` is never used
[INFO] [stdout]    --> src/num.rs:128:8
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub fn op_bit<Op: BitOp>(lhs: Value, rhs: Value) -> Option<Value> {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BitOp` is never used
[INFO] [stdout]    --> src/num.rs:144:11
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub trait BitOp {
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BAnd` is never constructed
[INFO] [stdout]    --> src/num.rs:148:12
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub struct BAnd;
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BOr` is never constructed
[INFO] [stdout]    --> src/num.rs:157:12
[INFO] [stdout]     |
[INFO] [stdout] 157 | pub struct BOr;
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BXor` is never constructed
[INFO] [stdout]    --> src/num.rs:166:12
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub struct BXor;
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Shl` is never constructed
[INFO] [stdout]    --> src/num.rs:175:12
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub struct Shl;
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Shr` is never constructed
[INFO] [stdout]    --> src/num.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub struct Shr;
[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: enum `Value` is never used
[INFO] [stdout]   --> src/value.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum Value {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ValueType` is never used
[INFO] [stdout]   --> src/value.rs:24:10
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub enum ValueType {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]   --> src/value.rs:39:20
[INFO] [stdout]    |
[INFO] [stdout] 39 |             pub fn [<new_ $lowercase>](v: $type) -> Self {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |             pub fn [<as_$lowercase>](self) -> $type {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 50 |             pub fn [<get_ $lowercase>](self) -> Option<$type> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |             pub fn [<try_ $lowercase>](self) -> Result<$type, ()> {
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 | impl Value {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 68 |     pub fn ty(self) -> ValueType {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     type_methods!(Boolean, boolean, bool);
[INFO] [stdout]    |     ------------------------------------- in this macro invocation
[INFO] [stdout] 76 |     type_methods!(Integer, integer, i64);
[INFO] [stdout]    |     ------------------------------------ in this macro invocation
[INFO] [stdout] 77 |     type_methods!(Float, float, f64);
[INFO] [stdout]    |     -------------------------------- in this macro invocation
[INFO] [stdout] 78 |     type_methods!(String, string, *const ());
[INFO] [stdout]    |     ---------------------------------------- in this macro invocation
[INFO] [stdout] 79 |     type_methods!(Userdata, userdata, *const ());
[INFO] [stdout]    |     -------------------------------------------- in this macro invocation
[INFO] [stdout] 80 |     type_methods!(Function, function, *const ());
[INFO] [stdout]    |     -------------------------------------------- in this macro invocation
[INFO] [stdout] 81 |     type_methods!(Thread, thread, *const ());
[INFO] [stdout]    |     ---------------------------------------- in this macro invocation
[INFO] [stdout] 82 |     type_methods!(Table, table, *const ());
[INFO] [stdout]    |     -------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `type_methods` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.98s
[INFO] running `Command { std: "docker" "inspect" "bcd8649cc5e8a4b86f71ebb3d2102794b4d752b0641cf94f0307c6c3578dc87b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bcd8649cc5e8a4b86f71ebb3d2102794b4d752b0641cf94f0307c6c3578dc87b", kill_on_drop: false }`
[INFO] [stdout] bcd8649cc5e8a4b86f71ebb3d2102794b4d752b0641cf94f0307c6c3578dc87b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] ab4e6dbea6229efe68d74359171760bf8c290d51543e600e4fb1c16060822917
[INFO] running `Command { std: "docker" "start" "-a" "ab4e6dbea6229efe68d74359171760bf8c290d51543e600e4fb1c16060822917", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `ValueType`
[INFO] [stderr]  --> src/interp.rs:3:27
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::value::{Value, ValueType};
[INFO] [stderr]   |                           ^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused macro definition: `raise`
[INFO] [stderr]    --> src/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/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/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/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/interp.rs:81:22
[INFO] [stderr]    |
[INFO] [stderr] 81 |         macro_rules! dispatch {
[INFO] [stderr]    |                      ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dst`
[INFO] [stderr]    --> src/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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: constant `HANDLERS` is never used
[INFO] [stderr]  --> src/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/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/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/interp.rs:66:6
[INFO] [stderr]    |
[INFO] [stderr] 66 | type Registers<'a> = &'a mut [Value];
[INFO] [stderr]    |      ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: type alias `Handler` is never used
[INFO] [stderr]   --> src/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/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/interp.rs:163:4
[INFO] [stderr]     |
[INFO] [stderr] 163 | fn impl_error(
[INFO] [stderr]     |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_move` is never used
[INFO] [stderr]    --> src/interp.rs:176:4
[INFO] [stderr]     |
[INFO] [stderr] 176 | fn op_move(
[INFO] [stderr]     |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_load` is never used
[INFO] [stderr]    --> src/interp.rs:190:4
[INFO] [stderr]     |
[INFO] [stderr] 190 | fn op_load(
[INFO] [stderr]     |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_lfalseskip` is never used
[INFO] [stderr]    --> src/interp.rs:203:4
[INFO] [stderr]     |
[INFO] [stderr] 203 | fn op_lfalseskip(
[INFO] [stderr]     |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_getupval` is never used
[INFO] [stderr]    --> src/interp.rs:216:4
[INFO] [stderr]     |
[INFO] [stderr] 216 | fn op_getupval(
[INFO] [stderr]     |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_setupval` is never used
[INFO] [stderr]    --> src/interp.rs:229:4
[INFO] [stderr]     |
[INFO] [stderr] 229 | fn op_setupval(
[INFO] [stderr]     |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_gettabup` is never used
[INFO] [stderr]    --> src/interp.rs:242:4
[INFO] [stderr]     |
[INFO] [stderr] 242 | fn op_gettabup(
[INFO] [stderr]     |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_settabup` is never used
[INFO] [stderr]    --> src/interp.rs:255:4
[INFO] [stderr]     |
[INFO] [stderr] 255 | fn op_settabup(
[INFO] [stderr]     |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_gettable` is never used
[INFO] [stderr]    --> src/interp.rs:268:4
[INFO] [stderr]     |
[INFO] [stderr] 268 | fn op_gettable(
[INFO] [stderr]     |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_settable` is never used
[INFO] [stderr]    --> src/interp.rs:281:4
[INFO] [stderr]     |
[INFO] [stderr] 281 | fn op_settable(
[INFO] [stderr]     |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_newtable` is never used
[INFO] [stderr]    --> src/interp.rs:294:4
[INFO] [stderr]     |
[INFO] [stderr] 294 | fn op_newtable(
[INFO] [stderr]     |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_add` is never used
[INFO] [stderr]    --> src/interp.rs:307:4
[INFO] [stderr]     |
[INFO] [stderr] 307 | fn op_add(
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_sub` is never used
[INFO] [stderr]    --> src/interp.rs:326:4
[INFO] [stderr]     |
[INFO] [stderr] 326 | fn op_sub(
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_mul` is never used
[INFO] [stderr]    --> src/interp.rs:345:4
[INFO] [stderr]     |
[INFO] [stderr] 345 | fn op_mul(
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_mod` is never used
[INFO] [stderr]    --> src/interp.rs:364:4
[INFO] [stderr]     |
[INFO] [stderr] 364 | fn op_mod(
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_pow` is never used
[INFO] [stderr]    --> src/interp.rs:383:4
[INFO] [stderr]     |
[INFO] [stderr] 383 | fn op_pow(
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_div` is never used
[INFO] [stderr]    --> src/interp.rs:402:4
[INFO] [stderr]     |
[INFO] [stderr] 402 | fn op_div(
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_idiv` is never used
[INFO] [stderr]    --> src/interp.rs:421:4
[INFO] [stderr]     |
[INFO] [stderr] 421 | fn op_idiv(
[INFO] [stderr]     |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_band` is never used
[INFO] [stderr]    --> src/interp.rs:440:4
[INFO] [stderr]     |
[INFO] [stderr] 440 | fn op_band(
[INFO] [stderr]     |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_bor` is never used
[INFO] [stderr]    --> src/interp.rs:459:4
[INFO] [stderr]     |
[INFO] [stderr] 459 | fn op_bor(
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_bxor` is never used
[INFO] [stderr]    --> src/interp.rs:478:4
[INFO] [stderr]     |
[INFO] [stderr] 478 | fn op_bxor(
[INFO] [stderr]     |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_shl` is never used
[INFO] [stderr]    --> src/interp.rs:497:4
[INFO] [stderr]     |
[INFO] [stderr] 497 | fn op_shl(
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_shr` is never used
[INFO] [stderr]    --> src/interp.rs:516:4
[INFO] [stderr]     |
[INFO] [stderr] 516 | fn op_shr(
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_mmbin` is never used
[INFO] [stderr]    --> src/interp.rs:535:4
[INFO] [stderr]     |
[INFO] [stderr] 535 | fn op_mmbin(
[INFO] [stderr]     |    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_unm` is never used
[INFO] [stderr]    --> src/interp.rs:552:4
[INFO] [stderr]     |
[INFO] [stderr] 552 | fn op_unm(
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_bnot` is never used
[INFO] [stderr]    --> src/interp.rs:565:4
[INFO] [stderr]     |
[INFO] [stderr] 565 | fn op_bnot(
[INFO] [stderr]     |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_not` is never used
[INFO] [stderr]    --> src/interp.rs:578:4
[INFO] [stderr]     |
[INFO] [stderr] 578 | fn op_not(
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_len` is never used
[INFO] [stderr]    --> src/interp.rs:591:4
[INFO] [stderr]     |
[INFO] [stderr] 591 | fn op_len(
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_concat` is never used
[INFO] [stderr]    --> src/interp.rs:604:4
[INFO] [stderr]     |
[INFO] [stderr] 604 | fn op_concat(
[INFO] [stderr]     |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_close` is never used
[INFO] [stderr]    --> src/interp.rs:617:4
[INFO] [stderr]     |
[INFO] [stderr] 617 | fn op_close(
[INFO] [stderr]     |    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_tbc` is never used
[INFO] [stderr]    --> src/interp.rs:630:4
[INFO] [stderr]     |
[INFO] [stderr] 630 | fn op_tbc(
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_jmp` is never used
[INFO] [stderr]    --> src/interp.rs:643:4
[INFO] [stderr]     |
[INFO] [stderr] 643 | fn op_jmp(
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_eq` is never used
[INFO] [stderr]    --> src/interp.rs:656:4
[INFO] [stderr]     |
[INFO] [stderr] 656 | fn op_eq(
[INFO] [stderr]     |    ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_lt` is never used
[INFO] [stderr]    --> src/interp.rs:669:4
[INFO] [stderr]     |
[INFO] [stderr] 669 | fn op_lt(
[INFO] [stderr]     |    ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_le` is never used
[INFO] [stderr]    --> src/interp.rs:682:4
[INFO] [stderr]     |
[INFO] [stderr] 682 | fn op_le(
[INFO] [stderr]     |    ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_test` is never used
[INFO] [stderr]    --> src/interp.rs:695:4
[INFO] [stderr]     |
[INFO] [stderr] 695 | fn op_test(
[INFO] [stderr]     |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_call` is never used
[INFO] [stderr]    --> src/interp.rs:708:4
[INFO] [stderr]     |
[INFO] [stderr] 708 | fn op_call(
[INFO] [stderr]     |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_tailcall` is never used
[INFO] [stderr]    --> src/interp.rs:725:4
[INFO] [stderr]     |
[INFO] [stderr] 725 | fn op_tailcall(
[INFO] [stderr]     |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_return` is never used
[INFO] [stderr]    --> src/interp.rs:738:4
[INFO] [stderr]     |
[INFO] [stderr] 738 | fn op_return(
[INFO] [stderr]     |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_forloop` is never used
[INFO] [stderr]    --> src/interp.rs:751:4
[INFO] [stderr]     |
[INFO] [stderr] 751 | fn op_forloop(
[INFO] [stderr]     |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_forprep` is never used
[INFO] [stderr]    --> src/interp.rs:763:4
[INFO] [stderr]     |
[INFO] [stderr] 763 | fn op_forprep(
[INFO] [stderr]     |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_tforprep` is never used
[INFO] [stderr]    --> src/interp.rs:775:4
[INFO] [stderr]     |
[INFO] [stderr] 775 | fn op_tforprep(
[INFO] [stderr]     |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_tforcall` is never used
[INFO] [stderr]    --> src/interp.rs:787:4
[INFO] [stderr]     |
[INFO] [stderr] 787 | fn op_tforcall(
[INFO] [stderr]     |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_tforloop` is never used
[INFO] [stderr]    --> src/interp.rs:799:4
[INFO] [stderr]     |
[INFO] [stderr] 799 | fn op_tforloop(
[INFO] [stderr]     |    ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_setlist` is never used
[INFO] [stderr]    --> src/interp.rs:811:4
[INFO] [stderr]     |
[INFO] [stderr] 811 | fn op_setlist(
[INFO] [stderr]     |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_closure` is never used
[INFO] [stderr]    --> src/interp.rs:823:4
[INFO] [stderr]     |
[INFO] [stderr] 823 | fn op_closure(
[INFO] [stderr]     |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_vararg` is never used
[INFO] [stderr]    --> src/interp.rs:835:4
[INFO] [stderr]     |
[INFO] [stderr] 835 | fn op_vararg(
[INFO] [stderr]     |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_varargprep` is never used
[INFO] [stderr]    --> src/interp.rs:847:4
[INFO] [stderr]     |
[INFO] [stderr] 847 | fn op_varargprep(
[INFO] [stderr]     |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_nop` is never used
[INFO] [stderr]    --> src/interp.rs:859:4
[INFO] [stderr]     |
[INFO] [stderr] 859 | fn op_nop(
[INFO] [stderr]     |    ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_stop` is never used
[INFO] [stderr]    --> src/interp.rs:872:4
[INFO] [stderr]     |
[INFO] [stderr] 872 | fn op_stop(
[INFO] [stderr]     |    ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_arith` is never used
[INFO] [stderr]  --> src/num.rs:4:8
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn op_arith<Op: ArithOp>(lhs: Value, rhs: Value) -> Option<Value> {
[INFO] [stderr]   |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `ArithOp` is never used
[INFO] [stderr]   --> src/num.rs:24:11
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub trait ArithOp {
[INFO] [stderr]    |           ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Add` is never constructed
[INFO] [stderr]   --> src/num.rs:29:12
[INFO] [stderr]    |
[INFO] [stderr] 29 | pub struct Add;
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Sub` is never constructed
[INFO] [stderr]   --> src/num.rs:43:12
[INFO] [stderr]    |
[INFO] [stderr] 43 | pub struct Sub;
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Mul` is never constructed
[INFO] [stderr]   --> src/num.rs:57:12
[INFO] [stderr]    |
[INFO] [stderr] 57 | pub struct Mul;
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Mod` is never constructed
[INFO] [stderr]   --> src/num.rs:71:12
[INFO] [stderr]    |
[INFO] [stderr] 71 | pub struct Mod;
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Pow` is never constructed
[INFO] [stderr]   --> src/num.rs:85:12
[INFO] [stderr]    |
[INFO] [stderr] 85 | pub struct Pow;
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Div` is never constructed
[INFO] [stderr]   --> src/num.rs:99:12
[INFO] [stderr]    |
[INFO] [stderr] 99 | pub struct Div;
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `IDiv` is never constructed
[INFO] [stderr]    --> src/num.rs:113:12
[INFO] [stderr]     |
[INFO] [stderr] 113 | pub struct IDiv;
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `op_bit` is never used
[INFO] [stderr]    --> src/num.rs:128:8
[INFO] [stderr]     |
[INFO] [stderr] 128 | pub fn op_bit<Op: BitOp>(lhs: Value, rhs: Value) -> Option<Value> {
[INFO] [stderr]     |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `BitOp` is never used
[INFO] [stderr]    --> src/num.rs:144:11
[INFO] [stderr]     |
[INFO] [stderr] 144 | pub trait BitOp {
[INFO] [stderr]     |           ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `BAnd` is never constructed
[INFO] [stderr]    --> src/num.rs:148:12
[INFO] [stderr]     |
[INFO] [stderr] 148 | pub struct BAnd;
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `BOr` is never constructed
[INFO] [stderr]    --> src/num.rs:157:12
[INFO] [stderr]     |
[INFO] [stderr] 157 | pub struct BOr;
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `BXor` is never constructed
[INFO] [stderr]    --> src/num.rs:166:12
[INFO] [stderr]     |
[INFO] [stderr] 166 | pub struct BXor;
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Shl` is never constructed
[INFO] [stderr]    --> src/num.rs:175:12
[INFO] [stderr]     |
[INFO] [stderr] 175 | pub struct Shl;
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Shr` is never constructed
[INFO] [stderr]    --> src/num.rs:184:12
[INFO] [stderr]     |
[INFO] [stderr] 184 | pub struct Shr;
[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: enum `Value` is never used
[INFO] [stderr]   --> src/value.rs:10:10
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub enum Value {
[INFO] [stderr]    |          ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `ValueType` is never used
[INFO] [stderr]   --> src/value.rs:24:10
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub enum ValueType {
[INFO] [stderr]    |          ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]   --> src/value.rs:39:20
[INFO] [stderr]    |
[INFO] [stderr] 39 |             pub fn [<new_ $lowercase>](v: $type) -> Self {
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 43 |             pub fn [<as_$lowercase>](self) -> $type {
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 50 |             pub fn [<get_ $lowercase>](self) -> Option<$type> {
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 57 |             pub fn [<try_ $lowercase>](self) -> Result<$type, ()> {
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 67 | impl Value {
[INFO] [stderr]    | ---------- associated items in this implementation
[INFO] [stderr] 68 |     pub fn ty(self) -> ValueType {
[INFO] [stderr]    |            ^^
[INFO] [stderr] ...
[INFO] [stderr] 75 |     type_methods!(Boolean, boolean, bool);
[INFO] [stderr]    |     ------------------------------------- in this macro invocation
[INFO] [stderr] 76 |     type_methods!(Integer, integer, i64);
[INFO] [stderr]    |     ------------------------------------ in this macro invocation
[INFO] [stderr] 77 |     type_methods!(Float, float, f64);
[INFO] [stderr]    |     -------------------------------- in this macro invocation
[INFO] [stderr] 78 |     type_methods!(String, string, *const ());
[INFO] [stderr]    |     ---------------------------------------- in this macro invocation
[INFO] [stderr] 79 |     type_methods!(Userdata, userdata, *const ());
[INFO] [stderr]    |     -------------------------------------------- in this macro invocation
[INFO] [stderr] 80 |     type_methods!(Function, function, *const ());
[INFO] [stderr]    |     -------------------------------------------- in this macro invocation
[INFO] [stderr] 81 |     type_methods!(Thread, thread, *const ());
[INFO] [stderr]    |     ---------------------------------------- in this macro invocation
[INFO] [stderr] 82 |     type_methods!(Table, table, *const ());
[INFO] [stderr]    |     -------------------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = note: this warning originates in the macro `type_methods` (in Nightly builds, run with -Z macro-backtrace for more info)
[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-a8510f8146ce9478)
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests tcvm
[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] 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/1ef7943ee607160a564655b6596f83670ef95df5/bin/rustdoc --edition=2024 --crate-type lib --color auto --crate-name tcvm --test src/lib.rs --test-run-directory /opt/rustwide/workdir -L dependency=/opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern foldhash=/opt/rustwide/target/debug/deps/libfoldhash-a84df4cbe8daa3b8.rlib --extern genawaiter=/opt/rustwide/target/debug/deps/libgenawaiter-8004e6baf5a9fbed.rlib --extern hashbrown=/opt/rustwide/target/debug/deps/libhashbrown-ac6b6f0326016c43.rlib --extern paste=/opt/rustwide/target/debug/deps/libpaste-de6dfd786916684a.so --extern tcvm=/opt/rustwide/target/debug/deps/libtcvm-5af031f3a26617e1.rlib --extern tcvm_derive=/opt/rustwide/target/debug/deps/libtcvm_derive-d773e2599cd88a8e.so -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" "ab4e6dbea6229efe68d74359171760bf8c290d51543e600e4fb1c16060822917", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ab4e6dbea6229efe68d74359171760bf8c290d51543e600e4fb1c16060822917", kill_on_drop: false }`
[INFO] [stdout] ab4e6dbea6229efe68d74359171760bf8c290d51543e600e4fb1c16060822917
