[INFO] cloning repository https://github.com/vnuxa/sigil
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/vnuxa/sigil" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvnuxa%2Fsigil", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvnuxa%2Fsigil'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 17dc504d9977a042484e8da38578cb443bf432c9
[INFO] checking vnuxa/sigil against try#f77b5bc6c7c84df104f86b0dd01d9490e3923fa8 for pr-147834
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvnuxa%2Fsigil" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/vnuxa/sigil
[INFO] finished tweaking git repo https://github.com/vnuxa/sigil
[INFO] tweaked toml for git repo https://github.com/vnuxa/sigil written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/vnuxa/sigil on toolchain f77b5bc6c7c84df104f86b0dd01d9490e3923fa8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/vnuxa/sigil 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" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded stacker v0.1.20
[INFO] [stderr]   Downloaded logos-derive v0.15.0
[INFO] [stderr]   Downloaded psm v0.1.25
[INFO] [stderr]   Downloaded chumsky v0.10.1
[INFO] [stderr]   Downloaded logos v0.15.0
[INFO] [stderr]   Downloaded logos-codegen v0.15.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 616291f808b54f1f2bac04ef885101db51141eda1cc85195cc0e94e2b51d520f
[INFO] running `Command { std: "docker" "start" "-a" "616291f808b54f1f2bac04ef885101db51141eda1cc85195cc0e94e2b51d520f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "616291f808b54f1f2bac04ef885101db51141eda1cc85195cc0e94e2b51d520f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "616291f808b54f1f2bac04ef885101db51141eda1cc85195cc0e94e2b51d520f", kill_on_drop: false }`
[INFO] [stdout] 616291f808b54f1f2bac04ef885101db51141eda1cc85195cc0e94e2b51d520f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e5e290966bcecb07fa7099df628c68568f8ed4b15cae44af9bef0b8265c1e906
[INFO] running `Command { std: "docker" "start" "-a" "e5e290966bcecb07fa7099df628c68568f8ed4b15cae44af9bef0b8265c1e906", kill_on_drop: false }`
[INFO] [stderr]    Compiling cc v1.2.19
[INFO] [stderr]    Compiling beef v0.5.2
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling chumsky v0.10.1
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]    Compiling logos-codegen v0.15.0
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]     Checking hashbrown v0.15.2
[INFO] [stderr]    Compiling psm v0.1.25
[INFO] [stderr]    Compiling stacker v0.1.20
[INFO] [stderr]    Compiling logos-derive v0.15.0
[INFO] [stderr]     Checking logos v0.15.0
[INFO] [stderr]     Checking sigil v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `cell::RefCell` and `rc::Rc`
[INFO] [stdout]  --> src/main.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{cell::RefCell, rc::Rc};
[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 import: `std::clone`
[INFO] [stdout]  --> src/bytecode/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::clone;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chumsky::prelude::skip_then_retry_until`
[INFO] [stdout]  --> src/interpreter/codegen.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chumsky::prelude::skip_then_retry_until;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `f32::consts::E`, `rc::Rc`, and `sync::Arc`
[INFO] [stdout]  --> src/interpreter/parser.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{f32::consts::E, rc::Rc, sync::Arc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^  ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `combinator::To`
[INFO] [stdout]  --> src/interpreter/parser.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use chumsky::{combinator::To, prelude::*};
[INFO] [stdout]   |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `cell::RefCell` and `rc::Rc`
[INFO] [stdout]  --> src/main.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::{cell::RefCell, rc::Rc};
[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 import: `std::clone`
[INFO] [stdout]  --> src/bytecode/main.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::clone;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chumsky::prelude::skip_then_retry_until`
[INFO] [stdout]  --> src/interpreter/codegen.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use chumsky::prelude::skip_then_retry_until;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `f32::consts::E`, `rc::Rc`, and `sync::Arc`
[INFO] [stdout]  --> src/interpreter/parser.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{f32::consts::E, rc::Rc, sync::Arc};
[INFO] [stdout]   |           ^^^^^^^^^^^^^^  ^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `combinator::To`
[INFO] [stdout]  --> src/interpreter/parser.rs:5:15
[INFO] [stdout]   |
[INFO] [stdout] 5 | use chumsky::{combinator::To, prelude::*};
[INFO] [stdout]   |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `prelude`
[INFO] [stdout]  --> src/interpreter/parser.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use chumsky::{combinator::To, prelude::*};
[INFO] [stdout]   |                               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bytecode/main.rs:150:13
[INFO] [stdout]     |
[INFO] [stdout] 150 |         let mut function = self.functions[call_frame.function].clone();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/bytecode/main.rs:422:13
[INFO] [stdout]     |
[INFO] [stdout] 422 |             e => {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expression`
[INFO] [stdout]    --> src/interpreter/codegen.rs:135:13
[INFO] [stdout]     |
[INFO] [stdout] 135 |         for expression in &syntax {
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/interpreter/codegen.rs:348:21
[INFO] [stdout]     |
[INFO] [stdout] 348 |                 let mut new_block = self.new_block(&mut block_frame.blocks, Some(current_block));
[INFO] [stdout]     |                     ----^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `condition`
[INFO] [stdout]    --> src/interpreter/codegen.rs:313:58
[INFO] [stdout]     |
[INFO] [stdout] 313 |                         InstructionData::JumpConditional(condition, true_block, false_block) => {
[INFO] [stdout]     |                                                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_condition`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `true_block`
[INFO] [stdout]    --> src/interpreter/codegen.rs:313:69
[INFO] [stdout]     |
[INFO] [stdout] 313 |                         InstructionData::JumpConditional(condition, true_block, false_block) => {
[INFO] [stdout]     |                                                                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_true_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `false_block`
[INFO] [stdout]    --> src/interpreter/codegen.rs:313:81
[INFO] [stdout]     |
[INFO] [stdout] 313 |                         InstructionData::JumpConditional(condition, true_block, false_block) => {
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_false_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `var`
[INFO] [stdout]    --> src/interpreter/codegen.rs:325:21
[INFO] [stdout]     |
[INFO] [stdout] 325 |                 for var in old_len..self.variables.len() {
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first_scope`
[INFO] [stdout]    --> src/interpreter/codegen.rs:333:21
[INFO] [stdout]     |
[INFO] [stdout] 333 |                 let first_scope = self.build_expression(*conditional, block_frame, current_block);
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_first_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `argument`
[INFO] [stdout]    --> src/interpreter/codegen.rs:409:33
[INFO] [stdout]     |
[INFO] [stdout] 409 |                 for (arg_index, argument) in arguments.iter().enumerate() {
[INFO] [stdout]     |                                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_argument`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/interpreter/codegen.rs:517:13
[INFO] [stdout]     |
[INFO] [stdout] 517 |         let mut previous_function = 0;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frontier_function`
[INFO] [stdout]    --> src/interpreter/codegen.rs:560:54
[INFO] [stdout]     |
[INFO] [stdout] 560 |                         if let Some((frontier_block, frontier_function)) = frontier {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frontier_function`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_function`
[INFO] [stdout]    --> src/interpreter/codegen.rs:755:46
[INFO] [stdout]     |
[INFO] [stdout] 755 |                     InstructionData::Closure(new_function, id) => {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_function`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `previous_function`
[INFO] [stdout]    --> src/interpreter/codegen.rs:517:13
[INFO] [stdout]     |
[INFO] [stdout] 517 |         let mut previous_function = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_previous_function`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func_id`
[INFO] [stdout]    --> src/interpreter/codegen.rs:907:46
[INFO] [stdout]     |
[INFO] [stdout] 907 |                     InstructionData::Upindex(func_id, ref_id) => {
[INFO] [stdout]     |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_func_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ref_id`
[INFO] [stdout]    --> src/interpreter/codegen.rs:907:55
[INFO] [stdout]     |
[INFO] [stdout] 907 |                     InstructionData::Upindex(func_id, ref_id) => {
[INFO] [stdout]     |                                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ref_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/interpreter/codegen.rs:940:13
[INFO] [stdout]     |
[INFO] [stdout] 940 |         let mut previous_function = 0;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `previous_function`
[INFO] [stdout]    --> src/interpreter/codegen.rs:940:13
[INFO] [stdout]     |
[INFO] [stdout] 940 |         let mut previous_function = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_previous_function`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `order_register`
[INFO] [stdout]    --> src/interpreter/codegen.rs:968:29
[INFO] [stdout]     |
[INFO] [stdout] 968 |                         let order_register = order_indices[first_function][first_instruction];
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_order_register`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/interpreter/codegen.rs:1039:13
[INFO] [stdout]      |
[INFO] [stdout] 1039 |         let mut inserted_ids = 0;
[INFO] [stdout]      |             ----^^^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inserted_ids`
[INFO] [stdout]     --> src/interpreter/codegen.rs:1039:13
[INFO] [stdout]      |
[INFO] [stdout] 1039 |         let mut inserted_ids = 0;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inserted_ids`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `comparison`
[INFO] [stdout]     --> src/interpreter/codegen.rs:1112:50
[INFO] [stdout]      |
[INFO] [stdout] 1112 |                 InstructionData::JumpConditional(comparison, target_true, target_false) => {
[INFO] [stdout]      |                                                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comparison`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `false_target`
[INFO] [stdout]     --> src/interpreter/codegen.rs:1123:33
[INFO] [stdout]      |
[INFO] [stdout] 1123 |                     if let Some(false_target) = frame.blocks.get(*target_false) {
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_false_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `variable_id`
[INFO] [stdout]     --> src/interpreter/codegen.rs:1154:55
[INFO] [stdout]      |
[INFO] [stdout] 1154 |                 InstructionData::Closure(function_id, variable_id) => {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variable_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `argument`
[INFO] [stdout]     --> src/interpreter/codegen.rs:1165:25
[INFO] [stdout]      |
[INFO] [stdout] 1165 |                     for argument in arguments {
[INFO] [stdout]      |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_argument`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `var_id`
[INFO] [stdout]     --> src/interpreter/codegen.rs:1277:59
[INFO] [stdout]      |
[INFO] [stdout] 1277 |                     if let InstructionData::Closure(func, var_id) = instructions[prev].data {
[INFO] [stdout]      |                                                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_var_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conditional`
[INFO] [stdout]     --> src/interpreter/codegen.rs:1362:58
[INFO] [stdout]      |
[INFO] [stdout] 1362 |                         InstructionData::JumpConditional(conditional, target_1, target_2) => {
[INFO] [stdout]      |                                                          ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_conditional`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `variant`
[INFO] [stdout]     --> src/interpreter/codegen.rs:1711:43
[INFO] [stdout]      |
[INFO] [stdout] 1711 |             InstructionData::MathOperands(variant, num_1, num_2) => {
[INFO] [stdout]      |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variant`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `variant`
[INFO] [stdout]     --> src/interpreter/codegen.rs:1715:49
[INFO] [stdout]      |
[INFO] [stdout] 1715 |             InstructionData::ComparisonOperands(variant, num_1, num_2) => {
[INFO] [stdout]      |                                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variant`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v1`
[INFO] [stdout]     --> src/interpreter/codegen.rs:1730:59
[INFO] [stdout]      |
[INFO] [stdout] 1730 |             InstructionData::JumpConditional(instruction, v1, v2) => callback(instruction, &function_id),
[INFO] [stdout]      |                                                           ^^ help: if this is intentional, prefix it with an underscore: `_v1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v2`
[INFO] [stdout]     --> src/interpreter/codegen.rs:1730:63
[INFO] [stdout]      |
[INFO] [stdout] 1730 |             InstructionData::JumpConditional(instruction, v1, v2) => callback(instruction, &function_id),
[INFO] [stdout]      |                                                               ^^ help: if this is intentional, prefix it with an underscore: `_v2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> src/interpreter/codegen.rs:1733:13
[INFO] [stdout]      |
[INFO] [stdout] 1733 |             e => {
[INFO] [stdout]      |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> src/interpreter/codegen.rs:1772:13
[INFO] [stdout]      |
[INFO] [stdout] 1772 |             e => {
[INFO] [stdout]      |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `prelude`
[INFO] [stdout]  --> src/interpreter/parser.rs:5:31
[INFO] [stdout]   |
[INFO] [stdout] 5 | use chumsky::{combinator::To, prelude::*};
[INFO] [stdout]   |                               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/bytecode/main.rs:150:13
[INFO] [stdout]     |
[INFO] [stdout] 150 |         let mut function = self.functions[call_frame.function].clone();
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/bytecode/main.rs:422:13
[INFO] [stdout]     |
[INFO] [stdout] 422 |             e => {
[INFO] [stdout]     |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expression`
[INFO] [stdout]    --> src/interpreter/codegen.rs:135:13
[INFO] [stdout]     |
[INFO] [stdout] 135 |         for expression in &syntax {
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/interpreter/codegen.rs:348:21
[INFO] [stdout]     |
[INFO] [stdout] 348 |                 let mut new_block = self.new_block(&mut block_frame.blocks, Some(current_block));
[INFO] [stdout]     |                     ----^^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `condition`
[INFO] [stdout]    --> src/interpreter/codegen.rs:313:58
[INFO] [stdout]     |
[INFO] [stdout] 313 |                         InstructionData::JumpConditional(condition, true_block, false_block) => {
[INFO] [stdout]     |                                                          ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_condition`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `true_block`
[INFO] [stdout]    --> src/interpreter/codegen.rs:313:69
[INFO] [stdout]     |
[INFO] [stdout] 313 |                         InstructionData::JumpConditional(condition, true_block, false_block) => {
[INFO] [stdout]     |                                                                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_true_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `false_block`
[INFO] [stdout]    --> src/interpreter/codegen.rs:313:81
[INFO] [stdout]     |
[INFO] [stdout] 313 |                         InstructionData::JumpConditional(condition, true_block, false_block) => {
[INFO] [stdout]     |                                                                                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_false_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `var`
[INFO] [stdout]    --> src/interpreter/codegen.rs:325:21
[INFO] [stdout]     |
[INFO] [stdout] 325 |                 for var in old_len..self.variables.len() {
[INFO] [stdout]     |                     ^^^ help: if this is intentional, prefix it with an underscore: `_var`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `first_scope`
[INFO] [stdout]    --> src/interpreter/codegen.rs:333:21
[INFO] [stdout]     |
[INFO] [stdout] 333 |                 let first_scope = self.build_expression(*conditional, block_frame, current_block);
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_first_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `argument`
[INFO] [stdout]    --> src/interpreter/codegen.rs:409:33
[INFO] [stdout]     |
[INFO] [stdout] 409 |                 for (arg_index, argument) in arguments.iter().enumerate() {
[INFO] [stdout]     |                                 ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_argument`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/interpreter/codegen.rs:517:13
[INFO] [stdout]     |
[INFO] [stdout] 517 |         let mut previous_function = 0;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frontier_function`
[INFO] [stdout]    --> src/interpreter/codegen.rs:560:54
[INFO] [stdout]     |
[INFO] [stdout] 560 |                         if let Some((frontier_block, frontier_function)) = frontier {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_frontier_function`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `new_function`
[INFO] [stdout]    --> src/interpreter/codegen.rs:755:46
[INFO] [stdout]     |
[INFO] [stdout] 755 |                     InstructionData::Closure(new_function, id) => {
[INFO] [stdout]     |                                              ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_new_function`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `previous_function`
[INFO] [stdout]    --> src/interpreter/codegen.rs:517:13
[INFO] [stdout]     |
[INFO] [stdout] 517 |         let mut previous_function = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_previous_function`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func_id`
[INFO] [stdout]    --> src/interpreter/codegen.rs:907:46
[INFO] [stdout]     |
[INFO] [stdout] 907 |                     InstructionData::Upindex(func_id, ref_id) => {
[INFO] [stdout]     |                                              ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_func_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ref_id`
[INFO] [stdout]    --> src/interpreter/codegen.rs:907:55
[INFO] [stdout]     |
[INFO] [stdout] 907 |                     InstructionData::Upindex(func_id, ref_id) => {
[INFO] [stdout]     |                                                       ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ref_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/interpreter/codegen.rs:940:13
[INFO] [stdout]     |
[INFO] [stdout] 940 |         let mut previous_function = 0;
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `previous_function`
[INFO] [stdout]    --> src/interpreter/codegen.rs:940:13
[INFO] [stdout]     |
[INFO] [stdout] 940 |         let mut previous_function = 0;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_previous_function`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `order_register`
[INFO] [stdout]    --> src/interpreter/codegen.rs:968:29
[INFO] [stdout]     |
[INFO] [stdout] 968 |                         let order_register = order_indices[first_function][first_instruction];
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_order_register`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/interpreter/codegen.rs:1039:13
[INFO] [stdout]      |
[INFO] [stdout] 1039 |         let mut inserted_ids = 0;
[INFO] [stdout]      |             ----^^^^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inserted_ids`
[INFO] [stdout]     --> src/interpreter/codegen.rs:1039:13
[INFO] [stdout]      |
[INFO] [stdout] 1039 |         let mut inserted_ids = 0;
[INFO] [stdout]      |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inserted_ids`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `comparison`
[INFO] [stdout]     --> src/interpreter/codegen.rs:1112:50
[INFO] [stdout]      |
[INFO] [stdout] 1112 |                 InstructionData::JumpConditional(comparison, target_true, target_false) => {
[INFO] [stdout]      |                                                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_comparison`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `false_target`
[INFO] [stdout]     --> src/interpreter/codegen.rs:1123:33
[INFO] [stdout]      |
[INFO] [stdout] 1123 |                     if let Some(false_target) = frame.blocks.get(*target_false) {
[INFO] [stdout]      |                                 ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_false_target`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `variable_id`
[INFO] [stdout]     --> src/interpreter/codegen.rs:1154:55
[INFO] [stdout]      |
[INFO] [stdout] 1154 |                 InstructionData::Closure(function_id, variable_id) => {
[INFO] [stdout]      |                                                       ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variable_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `argument`
[INFO] [stdout]     --> src/interpreter/codegen.rs:1165:25
[INFO] [stdout]      |
[INFO] [stdout] 1165 |                     for argument in arguments {
[INFO] [stdout]      |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_argument`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `var_id`
[INFO] [stdout]     --> src/interpreter/codegen.rs:1277:59
[INFO] [stdout]      |
[INFO] [stdout] 1277 |                     if let InstructionData::Closure(func, var_id) = instructions[prev].data {
[INFO] [stdout]      |                                                           ^^^^^^ help: if this is intentional, prefix it with an underscore: `_var_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conditional`
[INFO] [stdout]     --> src/interpreter/codegen.rs:1362:58
[INFO] [stdout]      |
[INFO] [stdout] 1362 |                         InstructionData::JumpConditional(conditional, target_1, target_2) => {
[INFO] [stdout]      |                                                          ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_conditional`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `variant`
[INFO] [stdout]     --> src/interpreter/codegen.rs:1711:43
[INFO] [stdout]      |
[INFO] [stdout] 1711 |             InstructionData::MathOperands(variant, num_1, num_2) => {
[INFO] [stdout]      |                                           ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variant`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `variant`
[INFO] [stdout]     --> src/interpreter/codegen.rs:1715:49
[INFO] [stdout]      |
[INFO] [stdout] 1715 |             InstructionData::ComparisonOperands(variant, num_1, num_2) => {
[INFO] [stdout]      |                                                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_variant`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v1`
[INFO] [stdout]     --> src/interpreter/codegen.rs:1730:59
[INFO] [stdout]      |
[INFO] [stdout] 1730 |             InstructionData::JumpConditional(instruction, v1, v2) => callback(instruction, &function_id),
[INFO] [stdout]      |                                                           ^^ help: if this is intentional, prefix it with an underscore: `_v1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v2`
[INFO] [stdout]     --> src/interpreter/codegen.rs:1730:63
[INFO] [stdout]      |
[INFO] [stdout] 1730 |             InstructionData::JumpConditional(instruction, v1, v2) => callback(instruction, &function_id),
[INFO] [stdout]      |                                                               ^^ help: if this is intentional, prefix it with an underscore: `_v2`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> src/interpreter/codegen.rs:1733:13
[INFO] [stdout]      |
[INFO] [stdout] 1733 |             e => {
[INFO] [stdout]      |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]     --> src/interpreter/codegen.rs:1772:13
[INFO] [stdout]      |
[INFO] [stdout] 1772 |             e => {
[INFO] [stdout]      |             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parsing`
[INFO] [stdout]    --> src/interpreter/main.rs:186:16
[INFO] [stdout]     |
[INFO] [stdout] 186 |     recursive(|parsing| {
[INFO] [stdout]     |                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parsing`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/interpreter/main.rs:229:17
[INFO] [stdout]     |
[INFO] [stdout] 229 |     for (token, span) in lexer.spanned() {
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/interpreter/main.rs:233:17
[INFO] [stdout]     |
[INFO] [stdout] 233 |             Err(e) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parsing`
[INFO] [stdout]    --> src/interpreter/main.rs:186:16
[INFO] [stdout]     |
[INFO] [stdout] 186 |     recursive(|parsing| {
[INFO] [stdout]     |                ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parsing`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/interpreter/main.rs:229:17
[INFO] [stdout]     |
[INFO] [stdout] 229 |     for (token, span) in lexer.spanned() {
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/interpreter/main.rs:233:17
[INFO] [stdout]     |
[INFO] [stdout] 233 |             Err(e) => {
[INFO] [stdout]     |                 ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/interpreter/parser.rs:618:9
[INFO] [stdout]     |
[INFO] [stdout] 618 |     let mut lexer = Tokens::lexer(&input);
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/interpreter/parser.rs:622:17
[INFO] [stdout]     |
[INFO] [stdout] 622 |     for (token, span) in lexer.spanned() {
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `interpreter::main::Expressions` is more private than the item `interpreter::main::generate`
[INFO] [stdout]    --> src/interpreter/main.rs:223:1
[INFO] [stdout]     |
[INFO] [stdout] 223 | pub fn generate(input: String) -> Expressions {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `interpreter::main::generate` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `interpreter::main::Expressions` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/interpreter/main.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | enum Expressions {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Tokens` is more private than the item `string_definition`
[INFO] [stdout]    --> src/interpreter/parser.rs:218:1
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub fn string_definition(lex: &mut Lexer<Tokens>) -> Option<String> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `string_definition` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Tokens` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/interpreter/parser.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | enum Tokens {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Tokens` is more private than the item `infix_binding_power`
[INFO] [stdout]    --> src/interpreter/parser.rs:592:1
[INFO] [stdout]     |
[INFO] [stdout] 592 | pub fn infix_binding_power(token: &Tokens) -> Option<(u8, u8)> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `infix_binding_power` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Tokens` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/interpreter/parser.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | enum Tokens {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Tokens` is more private than the item `postfix_binding_power`
[INFO] [stdout]    --> src/interpreter/parser.rs:609:1
[INFO] [stdout]     |
[INFO] [stdout] 609 | pub fn postfix_binding_power(token: &Tokens) -> Option<u8> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `postfix_binding_power` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Tokens` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/interpreter/parser.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | enum Tokens {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Thread` is never constructed
[INFO] [stdout]   --> src/bytecode/main.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct Thread {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `origin_pc` is never read
[INFO] [stdout]   --> src/bytecode/main.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct CallFrame {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub origin_pc: usize,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `locals` is never read
[INFO] [stdout]   --> src/bytecode/main.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct FunctionPrototype {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub locals: Vec<u8>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FunctionPrototype` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `register_refrence` is never read
[INFO] [stdout]    --> src/bytecode/main.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub struct Upvalue {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 105 |     pub register_refrence: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `upvalues`, `global_registers`, `program_counter`, `program`, and `remainder` are never read
[INFO] [stdout]    --> src/bytecode/main.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct VM {
[INFO] [stdout]     |            -- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 115 |     upvalues: Vec<Upvalue>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 116 |     // to store global variables
[INFO] [stdout] 117 |     global_registers: Vec<i32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 118 |     // program counter that keeps track of which byte is being executed
[INFO] [stdout] 119 |     program_counter: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 120 |     // all of the bytes to execute
[INFO] [stdout] 121 |     pub program: Vec<u8>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 122 |     // used to calculate the remainder for the divisional operator
[INFO] [stdout] 123 |     remainder: u32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/interpreter/codegen.rs:9:14
[INFO] [stdout]   |
[INFO] [stdout] 9 |     LoadBool(bool),
[INFO] [stdout]   |     -------- ^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `InstructionData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 9 -     LoadBool(bool),
[INFO] [stdout] 9 +     LoadBool(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/interpreter/codegen.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 |     LoadString(String),
[INFO] [stdout]    |     ---------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InstructionData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 11 -     LoadString(String),
[INFO] [stdout] 11 +     LoadString(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/interpreter/codegen.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 |     Param(usize), // a temporary value, with a variable i d, used for function arguments
[INFO] [stdout]    |     ----- ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InstructionData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 37 -     Param(usize), // a temporary value, with a variable i d, used for function arguments
[INFO] [stdout] 37 +     Param(()), // a temporary value, with a variable i d, used for function arguments
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/interpreter/codegen.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum InstructionData {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 10 |     LoadFloat(f32), // might have to use f64?
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     MakeLocal(String), // name
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     Unimplemented,             // IMPORTANT: delete this once done
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     Copy(usize),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 31 |     JumpConditional(usize, usize, usize), // instruction id, jump if true, jump if false
[INFO] [stdout] 32 |     ParallelCopy(usize, usize),           // instruction_id, copy id
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     Return(Option<usize>), // returns a register?
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     EndOfFile,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InstructionData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Value` is never used
[INFO] [stdout]   --> src/interpreter/codegen.rs:58:10
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub enum Value {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Register` is never used
[INFO] [stdout]   --> src/interpreter/codegen.rs:65:10
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub enum Register {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `phi_functions` is never read
[INFO] [stdout]   --> src/interpreter/codegen.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub struct Module {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 95 |     pub phi_functions: IndexVec<usize, Vec<(usize, usize, usize)>>
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `predecessor_block`, `definition_id`, and `upindex_amount` are never read
[INFO] [stdout]    --> src/interpreter/codegen.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub struct Functions {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 101 |     pub name: Option<String>,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 102 |     pub frame: BlockFrame,
[INFO] [stdout] 103 |     pub predecessor_block: Option<usize>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 104 |     pub predecessor_function: Option<usize>,
[INFO] [stdout] 105 |     pub definition_id: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 106 |     pub upindex_amount: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `phi_instructions` is never read
[INFO] [stdout]    --> src/interpreter/codegen.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct BlockFrame {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub phi_instructions: Option<IndexVec<usize, Vec<(usize, usize)>>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BlockFrame` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `compile` and `get_outer_function` are never used
[INFO] [stdout]    --> src/interpreter/codegen.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 125 | impl Module {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 134 |     fn compile(&self, syntax: Vec<Expressions>) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 476 |     fn get_outer_function(functions: &IndexVec<usize, Functions>, function_id: usize, requested_id: usize) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `block_replace_args` is never used
[INFO] [stdout]     --> src/interpreter/codegen.rs:1642:12
[INFO] [stdout]      |
[INFO] [stdout] 1236 | impl Module {
[INFO] [stdout]      | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1642 |     pub fn block_replace_args<F: FnMut(&mut usize, &usize)>(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Expressions` is never used
[INFO] [stdout]   --> src/interpreter/main.rs:17:6
[INFO] [stdout]    |
[INFO] [stdout] 17 | enum Expressions {
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `OperatorTokens` is never used
[INFO] [stdout]   --> src/interpreter/main.rs:33:6
[INFO] [stdout]    |
[INFO] [stdout] 33 | enum OperatorTokens {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `can_continue` is never used
[INFO] [stdout]    --> src/interpreter/main.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 106 | impl OperatorTokens {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] 107 |     fn can_continue(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `StatementTokens` is never used
[INFO] [stdout]    --> src/interpreter/main.rs:120:6
[INFO] [stdout]     |
[INFO] [stdout] 120 | enum StatementTokens {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `global_definition` is never used
[INFO] [stdout]    --> src/interpreter/main.rs:148:4
[INFO] [stdout]     |
[INFO] [stdout] 148 | fn global_definition(lex: &mut Lexer<StatementTokens>) -> Option<(String, Option<OperatorTokens>)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_parser` is never used
[INFO] [stdout]    --> src/interpreter/main.rs:180:4
[INFO] [stdout]     |
[INFO] [stdout] 180 | fn new_parser<'src>() -> impl Parser<
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate` is never used
[INFO] [stdout]    --> src/interpreter/main.rs:223:8
[INFO] [stdout]     |
[INFO] [stdout] 223 | pub fn generate(input: String) -> Expressions {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Param` is never constructed
[INFO] [stdout]   --> src/interpreter/parser.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub enum Expressions {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 34 |     Param(usize),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expressions` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `EndOfFile` is never constructed
[INFO] [stdout]    --> src/interpreter/parser.rs:203:5
[INFO] [stdout]     |
[INFO] [stdout]  74 | enum Tokens {
[INFO] [stdout]     |      ------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 203 |     EndOfFile,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Tokens` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/index_vec.rs:66:17
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn iter(&self) -> core::slice::Iter<V> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn iter(&self) -> core::slice::Iter<'_, V> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/index_vec.rs:71:21
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn iter_mut(&mut self) -> core::slice::IterMut<V> {
[INFO] [stdout]    |                     ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn iter_mut(&mut self) -> core::slice::IterMut<'_, V> {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/interpreter/parser.rs:618:9
[INFO] [stdout]     |
[INFO] [stdout] 618 |     let mut lexer = Tokens::lexer(&input);
[INFO] [stdout]     |         ----^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/interpreter/parser.rs:622:17
[INFO] [stdout]     |
[INFO] [stdout] 622 |     for (token, span) in lexer.spanned() {
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `interpreter::main::Expressions` is more private than the item `interpreter::main::generate`
[INFO] [stdout]    --> src/interpreter/main.rs:223:1
[INFO] [stdout]     |
[INFO] [stdout] 223 | pub fn generate(input: String) -> Expressions {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `interpreter::main::generate` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `interpreter::main::Expressions` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/interpreter/main.rs:17:1
[INFO] [stdout]     |
[INFO] [stdout]  17 | enum Expressions {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Tokens` is more private than the item `string_definition`
[INFO] [stdout]    --> src/interpreter/parser.rs:218:1
[INFO] [stdout]     |
[INFO] [stdout] 218 | pub fn string_definition(lex: &mut Lexer<Tokens>) -> Option<String> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `string_definition` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Tokens` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/interpreter/parser.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | enum Tokens {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Tokens` is more private than the item `infix_binding_power`
[INFO] [stdout]    --> src/interpreter/parser.rs:592:1
[INFO] [stdout]     |
[INFO] [stdout] 592 | pub fn infix_binding_power(token: &Tokens) -> Option<(u8, u8)> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `infix_binding_power` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Tokens` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/interpreter/parser.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | enum Tokens {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Tokens` is more private than the item `postfix_binding_power`
[INFO] [stdout]    --> src/interpreter/parser.rs:609:1
[INFO] [stdout]     |
[INFO] [stdout] 609 | pub fn postfix_binding_power(token: &Tokens) -> Option<u8> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ function `postfix_binding_power` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Tokens` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/interpreter/parser.rs:74:1
[INFO] [stdout]     |
[INFO] [stdout]  74 | enum Tokens {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Thread` is never constructed
[INFO] [stdout]   --> src/bytecode/main.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct Thread {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `origin_pc` is never read
[INFO] [stdout]   --> src/bytecode/main.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct CallFrame {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub origin_pc: usize,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `locals` is never read
[INFO] [stdout]   --> src/bytecode/main.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct FunctionPrototype {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 92 |     pub locals: Vec<u8>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FunctionPrototype` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `register_refrence` is never read
[INFO] [stdout]    --> src/bytecode/main.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub struct Upvalue {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 105 |     pub register_refrence: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `upvalues`, `global_registers`, `program_counter`, `program`, and `remainder` are never read
[INFO] [stdout]    --> src/bytecode/main.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct VM {
[INFO] [stdout]     |            -- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 115 |     upvalues: Vec<Upvalue>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 116 |     // to store global variables
[INFO] [stdout] 117 |     global_registers: Vec<i32>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 118 |     // program counter that keeps track of which byte is being executed
[INFO] [stdout] 119 |     program_counter: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 120 |     // all of the bytes to execute
[INFO] [stdout] 121 |     pub program: Vec<u8>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 122 |     // used to calculate the remainder for the divisional operator
[INFO] [stdout] 123 |     remainder: u32,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/interpreter/codegen.rs:9:14
[INFO] [stdout]   |
[INFO] [stdout] 9 |     LoadBool(bool),
[INFO] [stdout]   |     -------- ^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `InstructionData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 9 -     LoadBool(bool),
[INFO] [stdout] 9 +     LoadBool(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/interpreter/codegen.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 |     LoadString(String),
[INFO] [stdout]    |     ---------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InstructionData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 11 -     LoadString(String),
[INFO] [stdout] 11 +     LoadString(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/interpreter/codegen.rs:37:11
[INFO] [stdout]    |
[INFO] [stdout] 37 |     Param(usize), // a temporary value, with a variable i d, used for function arguments
[INFO] [stdout]    |     ----- ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InstructionData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 37 -     Param(usize), // a temporary value, with a variable i d, used for function arguments
[INFO] [stdout] 37 +     Param(()), // a temporary value, with a variable i d, used for function arguments
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/interpreter/codegen.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum InstructionData {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 10 |     LoadFloat(f32), // might have to use f64?
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     MakeLocal(String), // name
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     Unimplemented,             // IMPORTANT: delete this once done
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     Copy(usize),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 31 |     JumpConditional(usize, usize, usize), // instruction id, jump if true, jump if false
[INFO] [stdout] 32 |     ParallelCopy(usize, usize),           // instruction_id, copy id
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 |     Return(Option<usize>), // returns a register?
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     EndOfFile,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InstructionData` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Value` is never used
[INFO] [stdout]   --> src/interpreter/codegen.rs:58:10
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub enum Value {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Register` is never used
[INFO] [stdout]   --> src/interpreter/codegen.rs:65:10
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub enum Register {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `phi_functions` is never read
[INFO] [stdout]   --> src/interpreter/codegen.rs:95:9
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub struct Module {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 95 |     pub phi_functions: IndexVec<usize, Vec<(usize, usize, usize)>>
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `predecessor_block`, `definition_id`, and `upindex_amount` are never read
[INFO] [stdout]    --> src/interpreter/codegen.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub struct Functions {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 101 |     pub name: Option<String>,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 102 |     pub frame: BlockFrame,
[INFO] [stdout] 103 |     pub predecessor_block: Option<usize>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 104 |     pub predecessor_function: Option<usize>,
[INFO] [stdout] 105 |     pub definition_id: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 106 |     pub upindex_amount: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `phi_instructions` is never read
[INFO] [stdout]    --> src/interpreter/codegen.rs:120:9
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct BlockFrame {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub phi_instructions: Option<IndexVec<usize, Vec<(usize, usize)>>>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BlockFrame` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `compile` and `get_outer_function` are never used
[INFO] [stdout]    --> src/interpreter/codegen.rs:134:8
[INFO] [stdout]     |
[INFO] [stdout] 125 | impl Module {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 134 |     fn compile(&self, syntax: Vec<Expressions>) {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 476 |     fn get_outer_function(functions: &IndexVec<usize, Functions>, function_id: usize, requested_id: usize) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `block_replace_args` is never used
[INFO] [stdout]     --> src/interpreter/codegen.rs:1642:12
[INFO] [stdout]      |
[INFO] [stdout] 1236 | impl Module {
[INFO] [stdout]      | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1642 |     pub fn block_replace_args<F: FnMut(&mut usize, &usize)>(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Expressions` is never used
[INFO] [stdout]   --> src/interpreter/main.rs:17:6
[INFO] [stdout]    |
[INFO] [stdout] 17 | enum Expressions {
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `OperatorTokens` is never used
[INFO] [stdout]   --> src/interpreter/main.rs:33:6
[INFO] [stdout]    |
[INFO] [stdout] 33 | enum OperatorTokens {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `can_continue` is never used
[INFO] [stdout]    --> src/interpreter/main.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout] 106 | impl OperatorTokens {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] 107 |     fn can_continue(&self) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `StatementTokens` is never used
[INFO] [stdout]    --> src/interpreter/main.rs:120:6
[INFO] [stdout]     |
[INFO] [stdout] 120 | enum StatementTokens {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `global_definition` is never used
[INFO] [stdout]    --> src/interpreter/main.rs:148:4
[INFO] [stdout]     |
[INFO] [stdout] 148 | fn global_definition(lex: &mut Lexer<StatementTokens>) -> Option<(String, Option<OperatorTokens>)> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_parser` is never used
[INFO] [stdout]    --> src/interpreter/main.rs:180:4
[INFO] [stdout]     |
[INFO] [stdout] 180 | fn new_parser<'src>() -> impl Parser<
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generate` is never used
[INFO] [stdout]    --> src/interpreter/main.rs:223:8
[INFO] [stdout]     |
[INFO] [stdout] 223 | pub fn generate(input: String) -> Expressions {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Param` is never constructed
[INFO] [stdout]   --> src/interpreter/parser.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub enum Expressions {
[INFO] [stdout]    |          ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 34 |     Param(usize),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expressions` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `EndOfFile` is never constructed
[INFO] [stdout]    --> src/interpreter/parser.rs:203:5
[INFO] [stdout]     |
[INFO] [stdout]  74 | enum Tokens {
[INFO] [stdout]     |      ------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 203 |     EndOfFile,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Tokens` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/index_vec.rs:66:17
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn iter(&self) -> core::slice::Iter<V> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn iter(&self) -> core::slice::Iter<'_, V> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/index_vec.rs:71:21
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn iter_mut(&mut self) -> core::slice::IterMut<V> {
[INFO] [stdout]    |                     ^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn iter_mut(&mut self) -> core::slice::IterMut<'_, V> {
[INFO] [stdout]    |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.45s
[INFO] running `Command { std: "docker" "inspect" "e5e290966bcecb07fa7099df628c68568f8ed4b15cae44af9bef0b8265c1e906", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e5e290966bcecb07fa7099df628c68568f8ed4b15cae44af9bef0b8265c1e906", kill_on_drop: false }`
[INFO] [stdout] e5e290966bcecb07fa7099df628c68568f8ed4b15cae44af9bef0b8265c1e906
