[INFO] cloning repository https://github.com/Adogeon/rust-compiler
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Adogeon/rust-compiler" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAdogeon%2Frust-compiler", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAdogeon%2Frust-compiler'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9e86f98a1dbef0a98fd82efeec030252e748f911
[INFO] checking Adogeon/rust-compiler against 3154cc1a3e6424e44f438a95007d043ed5ceaaf6 for pr-133502-30
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAdogeon%2Frust-compiler" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Adogeon/rust-compiler
[INFO] finished tweaking git repo https://github.com/Adogeon/rust-compiler
[INFO] tweaked toml for git repo https://github.com/Adogeon/rust-compiler written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Adogeon/rust-compiler on toolchain 3154cc1a3e6424e44f438a95007d043ed5ceaaf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Adogeon/rust-compiler 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" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] c8a0ec68f318757be43d104afd6a3900e6708e9e806ee814d4f0781b60358884
[INFO] running `Command { std: "docker" "start" "c8a0ec68f318757be43d104afd6a3900e6708e9e806ee814d4f0781b60358884", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c8a0ec68f318757be43d104afd6a3900e6708e9e806ee814d4f0781b60358884", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c8a0ec68f318757be43d104afd6a3900e6708e9e806ee814d4f0781b60358884" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c8a0ec68f318757be43d104afd6a3900e6708e9e806ee814d4f0781b60358884", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c8a0ec68f318757be43d104afd6a3900e6708e9e806ee814d4f0781b60358884" "/opt/rustwide/cargo-home/bin/cargo" "+3154cc1a3e6424e44f438a95007d043ed5ceaaf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]     Checking rust-inter v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error: expected `;`, found `Ok`
[INFO] [stdout]    --> src/compiler/test.rs:99:6
[INFO] [stdout]     |
[INFO] [stdout]  99 |     ]
[INFO] [stdout]     |      ^ help: add `;` here
[INFO] [stdout] 100 |
[INFO] [stdout] 101 |     Ok(())
[INFO] [stdout]     |     -- unexpected token
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]  --> src/code/mod.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::{Display, Write};
[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::error::Error`
[INFO] [stdout]  --> src/compiler/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IsNode`
[INFO] [stdout]  --> src/evaluator/mod.rs:1:59
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::ast::{BlockStatement, Expression, HashLiteral, IsNode, Program, Statement};
[INFO] [stdout]   |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Quote`
[INFO] [stdout]  --> src/evaluator/mod.rs:5:62
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::object::{new_error, Function, HashObject, Object, Quote};
[INFO] [stdout]   |                                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Expression`
[INFO] [stdout]  --> src/object/mod.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::ast::{Expression, Identifier, IsNode, Statement};
[INFO] [stdout]   |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::object::Object`
[INFO] [stdout]  --> src/repl/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::object::Object;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Compiler`
[INFO] [stdout]  --> src/vm/mod.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::compiler::{Bytecode, Compiler};
[INFO] [stdout]   |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]  --> src/code/mod.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fmt::{Display, Write};
[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::error::Error`
[INFO] [stdout]  --> src/compiler/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OP_ADD` and `OP_CONSTANT`
[INFO] [stdout]  --> src/compiler/test.rs:5:25
[INFO] [stdout]   |
[INFO] [stdout] 5 |     code::{Instruction, OP_ADD, OP_CONSTANT},
[INFO] [stdout]   |                         ^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IsNode`
[INFO] [stdout]  --> src/evaluator/mod.rs:1:59
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::ast::{BlockStatement, Expression, HashLiteral, IsNode, Program, Statement};
[INFO] [stdout]   |                                                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Quote`
[INFO] [stdout]  --> src/evaluator/mod.rs:5:62
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::object::{new_error, Function, HashObject, Object, Quote};
[INFO] [stdout]   |                                                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Expression`
[INFO] [stdout]  --> src/object/mod.rs:1:18
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::ast::{Expression, Identifier, IsNode, Statement};
[INFO] [stdout]   |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::object::Object`
[INFO] [stdout]  --> src/repl/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::object::Object;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Compiler`
[INFO] [stdout]  --> src/vm/mod.rs:2:33
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::compiler::{Bytecode, Compiler};
[INFO] [stdout]   |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `let_stmt`
[INFO] [stdout]   --> src/compiler/mod.rs:37:36
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 Statement::LetStmt(let_stmt) => todo!(),
[INFO] [stdout]    |                                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_let_stmt`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ret_stmt`
[INFO] [stdout]   --> src/compiler/mod.rs:38:36
[INFO] [stdout]    |
[INFO] [stdout] 38 |                 Statement::RetStmt(ret_stmt) => todo!(),
[INFO] [stdout]    |                                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ret_stmt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `blc_stmt`
[INFO] [stdout]   --> src/compiler/mod.rs:43:36
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 Statement::BlcStmt(blc_stmt) => todo!(),
[INFO] [stdout]    |                                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_blc_stmt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `identifier`
[INFO] [stdout]   --> src/compiler/mod.rs:46:40
[INFO] [stdout]    |
[INFO] [stdout] 46 |                 Expression::Identifier(identifier) => todo!(),
[INFO] [stdout]    |                                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_identifier`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `string_literal`
[INFO] [stdout]   --> src/compiler/mod.rs:47:39
[INFO] [stdout]    |
[INFO] [stdout] 47 |                 Expression::StringLit(string_literal) => todo!(),
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_string_literal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `if_expression`
[INFO] [stdout]   --> src/compiler/mod.rs:90:35
[INFO] [stdout]    |
[INFO] [stdout] 90 |                 Expression::IfExp(if_expression) => todo!(),
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_if_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_literal`
[INFO] [stdout]   --> src/compiler/mod.rs:91:36
[INFO] [stdout]    |
[INFO] [stdout] 91 |                 Expression::FncLit(function_literal) => todo!(),
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_literal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `call_expression`
[INFO] [stdout]   --> src/compiler/mod.rs:92:37
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 Expression::CallExp(call_expression) => todo!(),
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_call_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `array_expression`
[INFO] [stdout]   --> src/compiler/mod.rs:93:38
[INFO] [stdout]    |
[INFO] [stdout] 93 |                 Expression::ArrayExp(array_expression) => todo!(),
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_array_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index_expression`
[INFO] [stdout]   --> src/compiler/mod.rs:94:38
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 Expression::IndexExp(index_expression) => todo!(),
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_index_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hash_literal`
[INFO] [stdout]   --> src/compiler/mod.rs:95:37
[INFO] [stdout]    |
[INFO] [stdout] 95 |                 Expression::HashLit(hash_literal) => todo!(),
[INFO] [stdout]    |                                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hash_literal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]   --> src/repl/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let env = Environment::new();
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `IsNode` is never used
[INFO] [stdout]   --> src/ast/mod.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub trait IsNode: Display {
[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 `token` is never read
[INFO] [stdout]    --> src/ast/mod.rs:161:9
[INFO] [stdout]     |
[INFO] [stdout] 160 | pub struct ExpressionStatement {
[INFO] [stdout]     |            ------------------- field in this struct
[INFO] [stdout] 161 |     pub token: Token,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `token` is never read
[INFO] [stdout]    --> src/ast/mod.rs:172:9
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct BlockStatement {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 172 |     pub token: Token,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `token` is never read
[INFO] [stdout]    --> src/ast/mod.rs:294:9
[INFO] [stdout]     |
[INFO] [stdout] 293 | pub struct Identifier {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] 294 |     pub token: Token,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Identifier` 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 `token` is never read
[INFO] [stdout]    --> src/ast/mod.rs:312:9
[INFO] [stdout]     |
[INFO] [stdout] 311 | pub struct IntegerLiteral {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 312 |     pub token: Token,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `IntegerLiteral` 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 `token` is never read
[INFO] [stdout]    --> src/ast/mod.rs:324:9
[INFO] [stdout]     |
[INFO] [stdout] 323 | pub struct StringLiteral {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] 324 |     pub token: Token,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StringLiteral` 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 `token` is never read
[INFO] [stdout]    --> src/ast/mod.rs:335:9
[INFO] [stdout]     |
[INFO] [stdout] 334 | pub struct PrefixExpression {
[INFO] [stdout]     |            ---------------- field in this struct
[INFO] [stdout] 335 |     pub token: Token,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `token` is never read
[INFO] [stdout]    --> src/ast/mod.rs:347:9
[INFO] [stdout]     |
[INFO] [stdout] 346 | pub struct InfixExpression {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] 347 |     pub token: Token,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `token` is never read
[INFO] [stdout]    --> src/ast/mod.rs:361:9
[INFO] [stdout]     |
[INFO] [stdout] 360 | pub struct Boolean {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 361 |     pub token: Token,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Boolean` 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 `token` is never read
[INFO] [stdout]    --> src/ast/mod.rs:372:9
[INFO] [stdout]     |
[INFO] [stdout] 371 | pub struct IfExpression {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] 372 |     pub token: Token,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `token` is never read
[INFO] [stdout]    --> src/ast/mod.rs:397:9
[INFO] [stdout]     |
[INFO] [stdout] 396 | pub struct CallExpression {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 397 |     pub token: Token,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `token` is never read
[INFO] [stdout]    --> src/ast/mod.rs:409:9
[INFO] [stdout]     |
[INFO] [stdout] 408 | pub struct ArrayExpression {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] 409 |     pub token: Token,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `token` is never read
[INFO] [stdout]    --> src/ast/mod.rs:420:9
[INFO] [stdout]     |
[INFO] [stdout] 419 | pub struct IndexExpression {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] 420 |     pub token: Token,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `token` is never read
[INFO] [stdout]    --> src/ast/mod.rs:432:9
[INFO] [stdout]     |
[INFO] [stdout] 431 | pub struct HashLiteral {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 432 |     pub token: Token,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_JPNT` is never used
[INFO] [stdout]   --> src/code/mod.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub const OP_JPNT: Opcode = 0b1101;
[INFO] [stdout]    |           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `OP_JMP` is never used
[INFO] [stdout]   --> src/code/mod.rs:18:11
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub const OP_JMP: Opcode = 0b1110;
[INFO] [stdout]    |           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Definition` is never used
[INFO] [stdout]   --> src/code/mod.rs:20:6
[INFO] [stdout]    |
[INFO] [stdout] 20 | type Definition = (&'static str, Vec<u16>);
[INFO] [stdout]    |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `look_up` is never used
[INFO] [stdout]   --> src/code/mod.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn look_up(op_code: Opcode) -> Option<Definition> {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_bits`, `slices`, `len`, `read_operands`, `string`, and `fmt_instruction` are never used
[INFO] [stdout]    --> src/code/mod.rs:69:12
[INFO] [stdout]     |
[INFO] [stdout]  44 | impl Instruction {
[INFO] [stdout]     | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  69 |     pub fn from_bits(bits: Vec<u8>) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  85 |     pub fn slices(&self) -> &[u8] {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub fn read_operands(def: &Definition, instruction: &[u8]) -> (Vec<u16>, u16) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub fn string(inst: &Self) -> String {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 139 |     fn fmt_instruction(def: &Definition, operands: &[u16]) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TRUE` is never used
[INFO] [stdout]  --> src/evaluator/mod.rs:9:7
[INFO] [stdout]   |
[INFO] [stdout] 9 | const TRUE: Object = Object::BOOLEAN(true);
[INFO] [stdout]   |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `FALSE` is never used
[INFO] [stdout]   --> src/evaluator/mod.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const FALSE: Object = Object::BOOLEAN(false);
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NULL` is never used
[INFO] [stdout]   --> src/evaluator/mod.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const NULL: Object = Object::NULL;
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_error` is never used
[INFO] [stdout]   --> src/evaluator/mod.rs:13:4
[INFO] [stdout]    |
[INFO] [stdout] 13 | fn is_error(input: &Object) -> bool {
[INFO] [stdout]    |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Evaluable` is never used
[INFO] [stdout]   --> src/evaluator/mod.rs:17:11
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub trait Evaluable {
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_hash_literal` is never used
[INFO] [stdout]    --> src/evaluator/mod.rs:138:4
[INFO] [stdout]     |
[INFO] [stdout] 138 | fn eval_hash_literal(hash_literal: &HashLiteral, env: Env) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_index_expression` is never used
[INFO] [stdout]    --> src/evaluator/mod.rs:161:4
[INFO] [stdout]     |
[INFO] [stdout] 161 | fn eval_index_expression(left: Object, index: Object) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_hash_index_expression` is never used
[INFO] [stdout]    --> src/evaluator/mod.rs:171:4
[INFO] [stdout]     |
[INFO] [stdout] 171 | fn eval_hash_index_expression(left: Object, index: Object) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_array_index_expression` is never used
[INFO] [stdout]    --> src/evaluator/mod.rs:188:4
[INFO] [stdout]     |
[INFO] [stdout] 188 | fn eval_array_index_expression(arr: Object, i: Object) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_function` is never used
[INFO] [stdout]    --> src/evaluator/mod.rs:208:4
[INFO] [stdout]     |
[INFO] [stdout] 208 | fn apply_function(function: Object, args: Vec<Object>) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unwrap_return_value` is never used
[INFO] [stdout]    --> src/evaluator/mod.rs:224:4
[INFO] [stdout]     |
[INFO] [stdout] 224 | fn unwrap_return_value(val: Object) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extend_function_env` is never used
[INFO] [stdout]    --> src/evaluator/mod.rs:232:4
[INFO] [stdout]     |
[INFO] [stdout] 232 | fn extend_function_env(fn_rc: Rc<Function>, args: Vec<Object>) -> Env {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_expressions` is never used
[INFO] [stdout]    --> src/evaluator/mod.rs:241:4
[INFO] [stdout]     |
[INFO] [stdout] 241 | fn eval_expressions(arguments: Vec<Expression>, env: Env) -> Vec<Object> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_truthy` is never used
[INFO] [stdout]    --> src/evaluator/mod.rs:256:4
[INFO] [stdout]     |
[INFO] [stdout] 256 | fn is_truthy(condition: Object) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_infix_expression` is never used
[INFO] [stdout]    --> src/evaluator/mod.rs:263:4
[INFO] [stdout]     |
[INFO] [stdout] 263 | fn eval_infix_expression(operator: String, left: Object, right: Object) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_integer_infix_expression` is never used
[INFO] [stdout]    --> src/evaluator/mod.rs:289:4
[INFO] [stdout]     |
[INFO] [stdout] 289 | fn eval_integer_infix_expression(operator: String, left: Object, right: Object) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_string_infix_expression` is never used
[INFO] [stdout]    --> src/evaluator/mod.rs:318:4
[INFO] [stdout]     |
[INFO] [stdout] 318 | fn eval_string_infix_expression(operator: String, left: Object, right: Object) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `native_bool_to_boolean_object` is never used
[INFO] [stdout]    --> src/evaluator/mod.rs:339:4
[INFO] [stdout]     |
[INFO] [stdout] 339 | fn native_bool_to_boolean_object(value: bool) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_prefix_expression` is never used
[INFO] [stdout]    --> src/evaluator/mod.rs:347:4
[INFO] [stdout]     |
[INFO] [stdout] 347 | fn eval_prefix_expression(operator: String, right: Object) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_minus_prefix_operator_expression` is never used
[INFO] [stdout]    --> src/evaluator/mod.rs:355:4
[INFO] [stdout]     |
[INFO] [stdout] 355 | fn eval_minus_prefix_operator_expression(right: Object) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_bang_operator_expression` is never used
[INFO] [stdout]    --> src/evaluator/mod.rs:363:4
[INFO] [stdout]     |
[INFO] [stdout] 363 | fn eval_bang_operator_expression(right: Object) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_block_statement` is never used
[INFO] [stdout]    --> src/evaluator/mod.rs:397:4
[INFO] [stdout]     |
[INFO] [stdout] 397 | fn eval_block_statement(block: &BlockStatement, env: Env) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval` is never used
[INFO] [stdout]    --> src/evaluator/mod.rs:411:8
[INFO] [stdout]     |
[INFO] [stdout] 411 | pub fn eval<T: Evaluable>(node: &T, env: Env) -> Object {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_error` is never used
[INFO] [stdout]   --> src/object/mod.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn new_error(msg: String) -> Object {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `env` is never read
[INFO] [stdout]   --> src/object/mod.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct Function {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub env: Env,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `function` is never read
[INFO] [stdout]   --> src/object/mod.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct Builtin {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 35 |     pub function: BuiltinFunction,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Quote` is never constructed
[INFO] [stdout]   --> src/object/mod.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct Quote<T: IsNode> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/object/mod.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub enum Object {
[INFO] [stdout]    |          ------ variants in this enum
[INFO] [stdout] 67 |     INTEGER(i64),
[INFO] [stdout] 68 |     STRING(String),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 69 |     BOOLEAN(bool),
[INFO] [stdout] 70 |     RETURN(Box<Object>),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 71 |     FUNCTION(Rc<Function>),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 72 |     BUILTIN(Rc<Builtin>),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 73 |     ERROR(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 74 |     ARRAY(Vec<Object>),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 75 |     HASH(Rc<HashObject>),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 76 |     NULL,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Object` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `builtins_fn` is never used
[INFO] [stdout]  --> src/object/builtins.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn builtins_fn(input: &str) -> Object {
[INFO] [stdout]   |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `store` and `outer` are never read
[INFO] [stdout]  --> src/object/environment.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct Environment {
[INFO] [stdout]   |            ----------- fields in this struct
[INFO] [stdout] 7 |     store: HashMap<String, Object>,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 8 |     outer: Option<Env>,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `extend`, `get`, and `set` are never used
[INFO] [stdout]   --> src/object/environment.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Environment {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub fn extend(parent: &Env) -> Env {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn get(&self, name: &String) -> Option<Object> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn set(&mut self, name: String, val: &Object) -> Option<Object> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new` and `calculate_hash` are never used
[INFO] [stdout]   --> src/object/hash.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl HashKey {
[INFO] [stdout]    | ------------ associated functions in this implementation
[INFO] [stdout] 12 |     pub fn new(val: Object) -> Result<HashKey, String> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     fn calculate_hash(val: HashKey) -> u64 {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `UnexpectedToken` and `NoInfixParseFnError` are never constructed
[INFO] [stdout]   --> src/parser/mod.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub enum ParseError {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 37 |     UnexpectedToken(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 41 |     NoInfixParseFnError(TType),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SOF` is never constructed
[INFO] [stdout]  --> src/token/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum TType {
[INFO] [stdout]   |          ----- variant in this enum
[INFO] [stdout] 5 |     ILLEGAL,
[INFO] [stdout] 6 |     SOF,
[INFO] [stdout]   |     ^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `TType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `none` is never used
[INFO] [stdout]   --> src/token/mod.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 62 | impl Token {
[INFO] [stdout]    | ---------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn none() -> Token {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `stack_top` is never used
[INFO] [stdout]   --> src/vm/mod.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl VM {
[INFO] [stdout]    | ------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 76 |     pub fn stack_top(&self) -> Option<Object> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `let_stmt`
[INFO] [stdout]   --> src/compiler/mod.rs:37:36
[INFO] [stdout]    |
[INFO] [stdout] 37 |                 Statement::LetStmt(let_stmt) => todo!(),
[INFO] [stdout]    |                                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_let_stmt`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ret_stmt`
[INFO] [stdout]   --> src/compiler/mod.rs:38:36
[INFO] [stdout]    |
[INFO] [stdout] 38 |                 Statement::RetStmt(ret_stmt) => todo!(),
[INFO] [stdout]    |                                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ret_stmt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `blc_stmt`
[INFO] [stdout]   --> src/compiler/mod.rs:43:36
[INFO] [stdout]    |
[INFO] [stdout] 43 |                 Statement::BlcStmt(blc_stmt) => todo!(),
[INFO] [stdout]    |                                    ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_blc_stmt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `identifier`
[INFO] [stdout]   --> src/compiler/mod.rs:46:40
[INFO] [stdout]    |
[INFO] [stdout] 46 |                 Expression::Identifier(identifier) => todo!(),
[INFO] [stdout]    |                                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_identifier`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `string_literal`
[INFO] [stdout]   --> src/compiler/mod.rs:47:39
[INFO] [stdout]    |
[INFO] [stdout] 47 |                 Expression::StringLit(string_literal) => todo!(),
[INFO] [stdout]    |                                       ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_string_literal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `if_expression`
[INFO] [stdout]   --> src/compiler/mod.rs:90:35
[INFO] [stdout]    |
[INFO] [stdout] 90 |                 Expression::IfExp(if_expression) => todo!(),
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_if_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_literal`
[INFO] [stdout]   --> src/compiler/mod.rs:91:36
[INFO] [stdout]    |
[INFO] [stdout] 91 |                 Expression::FncLit(function_literal) => todo!(),
[INFO] [stdout]    |                                    ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_literal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `call_expression`
[INFO] [stdout]   --> src/compiler/mod.rs:92:37
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 Expression::CallExp(call_expression) => todo!(),
[INFO] [stdout]    |                                     ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_call_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `array_expression`
[INFO] [stdout]   --> src/compiler/mod.rs:93:38
[INFO] [stdout]    |
[INFO] [stdout] 93 |                 Expression::ArrayExp(array_expression) => todo!(),
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_array_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index_expression`
[INFO] [stdout]   --> src/compiler/mod.rs:94:38
[INFO] [stdout]    |
[INFO] [stdout] 94 |                 Expression::IndexExp(index_expression) => todo!(),
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_index_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hash_literal`
[INFO] [stdout]   --> src/compiler/mod.rs:95:37
[INFO] [stdout]    |
[INFO] [stdout] 95 |                 Expression::HashLit(hash_literal) => todo!(),
[INFO] [stdout]    |                                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hash_literal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tc`
[INFO] [stdout]   --> src/compiler/test.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let tc = vec![
[INFO] [stdout]    |         ^^ help: if this is intentional, prefix it with an underscore: `_tc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]   --> src/repl/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 |     let env = Environment::new();
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust-inter` (bin "rust-inter" test) due to 1 previous error; 21 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "c8a0ec68f318757be43d104afd6a3900e6708e9e806ee814d4f0781b60358884", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c8a0ec68f318757be43d104afd6a3900e6708e9e806ee814d4f0781b60358884", kill_on_drop: false }`
[INFO] [stdout] c8a0ec68f318757be43d104afd6a3900e6708e9e806ee814d4f0781b60358884
