[INFO] cloning repository https://github.com/Jordise2002/monkey-interpreter
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Jordise2002/monkey-interpreter" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJordise2002%2Fmonkey-interpreter", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJordise2002%2Fmonkey-interpreter'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b4dbf6ebfce024d93eacba72b6bad9739163cdd1
[INFO] checking Jordise2002/monkey-interpreter against master#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJordise2002%2Fmonkey-interpreter" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Jordise2002/monkey-interpreter on toolchain 5518eaa946291f00471af8b254b2a1715f234882
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Jordise2002/monkey-interpreter
[INFO] finished tweaking git repo https://github.com/Jordise2002/monkey-interpreter
[INFO] tweaked toml for git repo https://github.com/Jordise2002/monkey-interpreter written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/Jordise2002/monkey-interpreter 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" "+5518eaa946291f00471af8b254b2a1715f234882" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] daba574fb697a0abb47e1d25906b1c7c4fc0192624523a91f21e489d070e70f6
[INFO] running `Command { std: "docker" "start" "-a" "daba574fb697a0abb47e1d25906b1c7c4fc0192624523a91f21e489d070e70f6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "daba574fb697a0abb47e1d25906b1c7c4fc0192624523a91f21e489d070e70f6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "daba574fb697a0abb47e1d25906b1c7c4fc0192624523a91f21e489d070e70f6", kill_on_drop: false }`
[INFO] [stdout] daba574fb697a0abb47e1d25906b1c7c4fc0192624523a91f21e489d070e70f6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] db6e4ff3ddea2a36005e1c29ad482561b6e2bf52641919c15d04ffbbe37e4b57
[INFO] running `Command { std: "docker" "start" "-a" "db6e4ff3ddea2a36005e1c29ad482561b6e2bf52641919c15d04ffbbe37e4b57", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.9
[INFO] [stderr]    Compiling siphasher v0.3.10
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling rustversion v1.0.13
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]     Checking byteorder v1.5.0
[INFO] [stderr]     Checking strum v0.25.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.63
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling phf_shared v0.11.2
[INFO] [stderr]    Compiling quote v1.0.29
[INFO] [stderr]    Compiling syn v2.0.23
[INFO] [stderr]    Compiling phf_generator v0.11.2
[INFO] [stderr]    Compiling phf_macros v0.11.2
[INFO] [stderr]    Compiling strum_macros v0.25.1
[INFO] [stderr]    Compiling num-derive v0.4.1
[INFO] [stderr]     Checking phf v0.11.2
[INFO] [stderr]     Checking monkey-interpreter v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::evaluator::eval`
[INFO] [stdout]  --> src/repl.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::evaluator::eval;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::raw::off_t`
[INFO] [stdout]  --> src/vm.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::os::unix::raw::off_t;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `std::os::unix::raw::off_t`: these type aliases are no longer supported by the standard library, the `libc` crate on crates.io should be used instead for the correct definitions
[INFO] [stdout]  --> src/vm.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::os::unix::raw::off_t;
[INFO] [stdout]   |                         ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::evaluator::eval`
[INFO] [stdout]  --> src/repl.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::evaluator::eval;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::os::unix::raw::off_t`
[INFO] [stdout]  --> src/vm.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::os::unix::raw::off_t;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SymbolScope`
[INFO] [stdout]  --> src/test_symbol_table.rs:2:35
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::symbol_table::{Symbol, SymbolScope, SymbolTable};
[INFO] [stdout]   |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated type alias `std::os::unix::raw::off_t`: these type aliases are no longer supported by the standard library, the `libc` crate on crates.io should be used instead for the correct definitions
[INFO] [stdout]  --> src/vm.rs:3:25
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::os::unix::raw::off_t;
[INFO] [stdout]   |                         ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]   --> src/repl.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let mut env = Environment::new();
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/repl.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let mut env = Environment::new();
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/code.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |         _ => {
[INFO] [stdout]     |         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/compiler.rs:70:13
[INFO] [stdout]    |
[INFO] [stdout] 70 |             _ => {
[INFO] [stdout]    |             ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]   --> src/compiler.rs:87:16
[INFO] [stdout]    |
[INFO] [stdout] 87 |             if let Opcode = content.code.clone() {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]    = help: consider replacing the `if let` with a `let`
[INFO] [stdout]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Opcode`
[INFO] [stdout]   --> src/compiler.rs:87:20
[INFO] [stdout]    |
[INFO] [stdout] 87 |             if let Opcode = content.code.clone() {
[INFO] [stdout]    |                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_Opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/vm.rs:368:17
[INFO] [stdout]     |
[INFO] [stdout] 368 |                 _ => {
[INFO] [stdout]     |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Expression` is never constructed
[INFO] [stdout]  --> src/ast.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum Node {
[INFO] [stdout]   |          ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 7 |     Expression(Expression),
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Node` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval` is never used
[INFO] [stdout]  --> src/evaluator.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn eval(node: Node, env: & mut Environment) -> Object {
[INFO] [stdout]   |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_program` is never used
[INFO] [stdout]   --> src/evaluator.rs:26:4
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn eval_program(block: Vec<Statement>, env: & mut Environment) -> Object
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_block_statement` is never used
[INFO] [stdout]   --> src/evaluator.rs:42:4
[INFO] [stdout]    |
[INFO] [stdout] 42 | fn eval_block_statement(block: Vec<Statement>, env: & mut Environment) -> Object
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_statement` is never used
[INFO] [stdout]   --> src/evaluator.rs:58:4
[INFO] [stdout]    |
[INFO] [stdout] 58 | fn eval_statement(stmt: Statement, env: & mut Environment) -> Object
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_hash_expr` is never used
[INFO] [stdout]   --> src/evaluator.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn eval_hash_expr(hash: &HashStruct, env: & mut Environment) -> Object
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_array_index_expression` is never used
[INFO] [stdout]    --> src/evaluator.rs:104:4
[INFO] [stdout]     |
[INFO] [stdout] 104 | fn eval_array_index_expression(left: Vec<Box<Object>>, right: &Expression, env: & mut Environment) -> Object
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_hash_index_expression` is never used
[INFO] [stdout]    --> src/evaluator.rs:121:4
[INFO] [stdout]     |
[INFO] [stdout] 121 | fn eval_hash_index_expression(left: Object, index: &Expression, env: & mut Environment) -> Object
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_index_expression` is never used
[INFO] [stdout]    --> src/evaluator.rs:142:4
[INFO] [stdout]     |
[INFO] [stdout] 142 | fn eval_index_expression(index: &IndexStruct, env: & mut Environment) -> Object
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_expr` is never used
[INFO] [stdout]    --> src/evaluator.rs:158:4
[INFO] [stdout]     |
[INFO] [stdout] 158 | fn eval_expr(expr: &Expression, env: & mut Environment) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unwrap_return_value` is never used
[INFO] [stdout]    --> src/evaluator.rs:240:4
[INFO] [stdout]     |
[INFO] [stdout] 240 | fn unwrap_return_value(return_object: Object) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_function` is never used
[INFO] [stdout]    --> src/evaluator.rs:248:4
[INFO] [stdout]     |
[INFO] [stdout] 248 | fn apply_function(function: Object, args: Vec<Object>) -> Object
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extend_function_env` is never used
[INFO] [stdout]    --> src/evaluator.rs:265:4
[INFO] [stdout]     |
[INFO] [stdout] 265 | fn extend_function_env(function_struct: &FunctionStruct, args: Vec<Object>) -> Environment {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_expressions` is never used
[INFO] [stdout]    --> src/evaluator.rs:272:4
[INFO] [stdout]     |
[INFO] [stdout] 272 | fn eval_expressions(exprs: Vec<Expression>, env: & mut Environment) -> Vec<Object>
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_identifier` is never used
[INFO] [stdout]    --> src/evaluator.rs:285:4
[INFO] [stdout]     |
[INFO] [stdout] 285 | fn eval_identifier(id: &Identifier, env: & mut Environment) -> Object
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_prefix_expr` is never used
[INFO] [stdout]    --> src/evaluator.rs:300:4
[INFO] [stdout]     |
[INFO] [stdout] 300 | fn eval_prefix_expr(tok:&Token, right: Object) -> Object
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_if_expr` is never used
[INFO] [stdout]    --> src/evaluator.rs:317:4
[INFO] [stdout]     |
[INFO] [stdout] 317 | fn eval_if_expr(if_struct: IfStruct, env: & mut Environment) -> Object
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_true` is never used
[INFO] [stdout]    --> src/evaluator.rs:339:4
[INFO] [stdout]     |
[INFO] [stdout] 339 | fn is_true(object: Object) -> bool {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_bang_operator` is never used
[INFO] [stdout]    --> src/evaluator.rs:361:4
[INFO] [stdout]     |
[INFO] [stdout] 361 | fn eval_bang_operator(inner_object: Object) -> Object
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_minus_operator` is never used
[INFO] [stdout]    --> src/evaluator.rs:389:4
[INFO] [stdout]     |
[INFO] [stdout] 389 | fn eval_minus_operator(inner_object: Object) -> Object
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_infix_expr` is never used
[INFO] [stdout]    --> src/evaluator.rs:399:4
[INFO] [stdout]     |
[INFO] [stdout] 399 | fn eval_infix_expr(right:Object, left:Object, operator: &Token) -> Object
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_string_infix_expr` is never used
[INFO] [stdout]    --> src/evaluator.rs:430:4
[INFO] [stdout]     |
[INFO] [stdout] 430 | fn eval_string_infix_expr(right: String, left: String, operator: &Token) -> Object {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_integer_infix_expr` is never used
[INFO] [stdout]    --> src/evaluator.rs:441:4
[INFO] [stdout]     |
[INFO] [stdout] 441 | fn eval_integer_infix_expr(right:i64, left:i64, operator: &Token) -> Object
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `eval_bool_infix_expr` is never used
[INFO] [stdout]    --> src/evaluator.rs:483:4
[INFO] [stdout]     |
[INFO] [stdout] 483 | fn eval_bool_infix_expr(right: bool, left: bool, tok: &Token) -> Object
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_built_in` is never used
[INFO] [stdout]  --> src/builtins.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn get_built_in(id: String) -> Option<Object> {
[INFO] [stdout]   |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `len` is never used
[INFO] [stdout]   --> src/builtins.rs:37:4
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn len(args: Vec<Object>) -> Object {
[INFO] [stdout]    |    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `first` is never used
[INFO] [stdout]   --> src/builtins.rs:54:4
[INFO] [stdout]    |
[INFO] [stdout] 54 | fn first(args:Vec<Object>) -> Object
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `last` is never used
[INFO] [stdout]   --> src/builtins.rs:72:4
[INFO] [stdout]    |
[INFO] [stdout] 72 | fn last(args:Vec<Object>) -> Object
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `rest` is never used
[INFO] [stdout]   --> src/builtins.rs:90:4
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn rest(args:Vec<Object>) -> Object {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `push` is never used
[INFO] [stdout]    --> src/builtins.rs:111:4
[INFO] [stdout]     |
[INFO] [stdout] 111 | fn push(args:Vec<Object>) -> Object
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `puts` is never used
[INFO] [stdout]    --> src/builtins.rs:131:4
[INFO] [stdout]     |
[INFO] [stdout] 131 | fn puts(args:Vec<Object>) -> Object
[INFO] [stdout]     |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/compiler.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Compiler {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 26 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GLOBAL_SIZE` is never used
[INFO] [stdout]   --> src/vm.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const GLOBAL_SIZE:usize = 65536;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_stack_top` is never used
[INFO] [stdout]   --> src/vm.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Vm {
[INFO] [stdout]    | ------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn get_stack_top(&self) -> Option<Object>
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Opcode` should have a snake case name
[INFO] [stdout]   --> src/compiler.rs:87:20
[INFO] [stdout]    |
[INFO] [stdout] 87 |             if let Opcode = content.code.clone() {
[INFO] [stdout]    |                    ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `opcode`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 45 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `env`
[INFO] [stdout]   --> src/repl.rs:15:13
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let mut env = Environment::new();
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_env`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/repl.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let mut env = Environment::new();
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/code.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |         _ => {
[INFO] [stdout]     |         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/compiler.rs:70:13
[INFO] [stdout]    |
[INFO] [stdout] 70 |             _ => {
[INFO] [stdout]    |             ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: irrefutable `if let` pattern
[INFO] [stdout]   --> src/compiler.rs:87:16
[INFO] [stdout]    |
[INFO] [stdout] 87 |             if let Opcode = content.code.clone() {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this pattern will always match, so the `if let` is useless
[INFO] [stdout]    = help: consider replacing the `if let` with a `let`
[INFO] [stdout]    = note: `#[warn(irrefutable_let_patterns)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `Opcode`
[INFO] [stdout]   --> src/compiler.rs:87:20
[INFO] [stdout]    |
[INFO] [stdout] 87 |             if let Opcode = content.code.clone() {
[INFO] [stdout]    |                    ^^^^^^ help: if this is intentional, prefix it with an underscore: `_Opcode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/vm.rs:368:17
[INFO] [stdout]     |
[INFO] [stdout] 368 |                 _ => {
[INFO] [stdout]     |                 ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `BooleanInput` is never constructed
[INFO] [stdout]    --> src/test_parser.rs:281:5
[INFO] [stdout]     |
[INFO] [stdout] 278 | enum ValueType {
[INFO] [stdout]     |      --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 281 |     BooleanInput(bool)
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `GLOBAL_SIZE` is never used
[INFO] [stdout]   --> src/vm.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 | const GLOBAL_SIZE:usize = 65536;
[INFO] [stdout]    |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_stack_top` is never used
[INFO] [stdout]   --> src/vm.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Vm {
[INFO] [stdout]    | ------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn get_stack_top(&self) -> Option<Object>
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable `Opcode` should have a snake case name
[INFO] [stdout]   --> src/compiler.rs:87:20
[INFO] [stdout]    |
[INFO] [stdout] 87 |             if let Opcode = content.code.clone() {
[INFO] [stdout]    |                    ^^^^^^ help: convert the identifier to snake case (notice the capitalization): `opcode`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_snake_case)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 15 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 4.09s
[INFO] running `Command { std: "docker" "inspect" "db6e4ff3ddea2a36005e1c29ad482561b6e2bf52641919c15d04ffbbe37e4b57", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "db6e4ff3ddea2a36005e1c29ad482561b6e2bf52641919c15d04ffbbe37e4b57", kill_on_drop: false }`
[INFO] [stdout] db6e4ff3ddea2a36005e1c29ad482561b6e2bf52641919c15d04ffbbe37e4b57
