[INFO] cloning repository https://github.com/Matus-Dubrava/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/Matus-Dubrava/monkey_interpreter" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMatus-Dubrava%2Fmonkey_interpreter", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMatus-Dubrava%2Fmonkey_interpreter'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 032d745e8a4e8dab59c00284ec90369b9f0abd55
[INFO] checking Matus-Dubrava/monkey_interpreter against try#f77b5bc6c7c84df104f86b0dd01d9490e3923fa8 for pr-147834
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMatus-Dubrava%2Fmonkey_interpreter" "/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/Matus-Dubrava/monkey_interpreter
[INFO] finished tweaking git repo https://github.com/Matus-Dubrava/monkey_interpreter
[INFO] tweaked toml for git repo https://github.com/Matus-Dubrava/monkey_interpreter written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Matus-Dubrava/monkey_interpreter 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/Matus-Dubrava/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" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: file `/workspace/builds/worker-4-tc2/source/src/main.rs` found to be present in multiple build targets:
[INFO] [stderr]   * `lib` target `monkey_interpreter`
[INFO] [stderr]   * `bin` target `monkey_interpreter`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking Matus-Dubrava/monkey_interpreter against try#f77b5bc6c7c84df104f86b0dd01d9490e3923fa8 for pr-147834
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMatus-Dubrava%2Fmonkey_interpreter" "/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/Matus-Dubrava/monkey_interpreter
[INFO] finished tweaking git repo https://github.com/Matus-Dubrava/monkey_interpreter
[INFO] tweaked toml for git repo https://github.com/Matus-Dubrava/monkey_interpreter written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Matus-Dubrava/monkey_interpreter 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/Matus-Dubrava/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" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: file `/workspace/builds/worker-4-tc2/source/src/main.rs` found to be present in multiple build targets:
[INFO] [stderr]   * `lib` target `monkey_interpreter`
[INFO] [stderr]   * `bin` target `monkey_interpreter`
[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 clap v4.4.4
[INFO] [stderr]   Downloaded syn v2.0.35
[INFO] [stderr]   Downloaded clap_builder v4.4.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] 1103f163d93bb2dca67c5a6bd4f2943509351c16a976f1c0456bce55d28731eb
[INFO] running `Command { std: "docker" "start" "-a" "1103f163d93bb2dca67c5a6bd4f2943509351c16a976f1c0456bce55d28731eb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1103f163d93bb2dca67c5a6bd4f2943509351c16a976f1c0456bce55d28731eb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1103f163d93bb2dca67c5a6bd4f2943509351c16a976f1c0456bce55d28731eb", kill_on_drop: false }`
[INFO] [stdout] 1103f163d93bb2dca67c5a6bd4f2943509351c16a976f1c0456bce55d28731eb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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] a2fa5a5c720c544b7e278df242bfbd2dcc9c26906ab649a610eb69bcb0ea8618
[INFO] running `Command { std: "docker" "start" "-a" "a2fa5a5c720c544b7e278df242bfbd2dcc9c26906ab649a610eb69bcb0ea8618", kill_on_drop: false }`
[INFO] [stderr] warning: file `/opt/rustwide/workdir/src/main.rs` found to be present in multiple build targets:
[INFO] [stderr]   * `lib` target `monkey_interpreter`
[INFO] [stderr]   * `bin` target `monkey_interpreter`
[INFO] [stderr]    Compiling libc v0.2.148
[INFO] [stderr]     Checking once_cell v1.18.0
[INFO] [stderr]    Compiling eyre v0.6.8
[INFO] [stderr]     Checking colorchoice v1.0.0
[INFO] [stderr]     Checking gimli v0.28.0
[INFO] [stderr]     Checking anstyle v1.0.3
[INFO] [stderr]     Checking anstyle-query v1.0.0
[INFO] [stderr]     Checking memchr v2.6.3
[INFO] [stderr]     Checking anstyle-parse v0.2.1
[INFO] [stderr]     Checking clap_lex v0.5.1
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking utf8parse v0.2.1
[INFO] [stderr]     Checking pin-project-lite v0.2.13
[INFO] [stderr]    Compiling syn v2.0.35
[INFO] [stderr]     Checking adler v1.0.2
[INFO] [stderr]     Checking sharded-slab v0.1.4
[INFO] [stderr]     Checking miniz_oxide v0.7.1
[INFO] [stderr]     Checking rustc-demangle v0.1.23
[INFO] [stderr]     Checking tracing-core v0.1.31
[INFO] [stderr]     Checking thread_local v1.1.7
[INFO] [stderr]     Checking anstream v0.5.0
[INFO] [stderr]     Checking object v0.32.1
[INFO] [stderr]     Checking indenter v0.3.3
[INFO] [stderr]     Checking clap_builder v4.4.4
[INFO] [stderr]     Checking tracing v0.1.37
[INFO] [stderr]     Checking owo-colors v3.5.0
[INFO] [stderr]     Checking strsim v0.10.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.17
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]     Checking addr2line v0.21.0
[INFO] [stderr]     Checking tracing-error v0.2.0
[INFO] [stderr]    Compiling backtrace v0.3.69
[INFO] [stderr]     Checking color-spantrace v0.2.0
[INFO] [stderr]    Compiling clap_derive v4.4.2
[INFO] [stderr]     Checking color-eyre v0.6.2
[INFO] [stderr]     Checking clap v4.4.4
[INFO] [stderr]     Checking monkey_interpreter v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Node`
[INFO] [stdout]  --> src/parser.rs:5:95
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FunctionLiteral, Identifier, IfExpression, InfixExpression, IntegerLiteral, LetStatement, Node,
[INFO] [stdout]   |                                                                                               ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environment`
[INFO] [stdout]   --> src/ast.rs:43:20
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn eval(&self, environment: &mut Environment) -> Option<Object> {
[INFO] [stdout]    |                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environment`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environment`
[INFO] [stdout]    --> src/ast.rs:335:20
[INFO] [stdout]     |
[INFO] [stdout] 335 |     fn eval(&self, environment: &mut Environment) -> Option<Object> {
[INFO] [stdout]     |                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environment`
[INFO] [stdout]    --> src/ast.rs:368:20
[INFO] [stdout]     |
[INFO] [stdout] 368 |     fn eval(&self, environment: &mut Environment) -> Option<Object> {
[INFO] [stdout]     |                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environment`
[INFO] [stdout]    --> src/ast.rs:688:20
[INFO] [stdout]     |
[INFO] [stdout] 688 |     fn eval(&self, environment: &mut Environment) -> Option<Object> {
[INFO] [stdout]     |                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environment`
[INFO] [stdout]    --> src/ast.rs:736:20
[INFO] [stdout]     |
[INFO] [stdout] 736 |     fn eval(&self, environment: &mut Environment) -> Option<Object> {
[INFO] [stdout]     |                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environment`
[INFO] [stdout]    --> src/ast.rs:778:20
[INFO] [stdout]     |
[INFO] [stdout] 778 |     fn eval(&self, environment: &mut Environment) -> Option<Object> {
[INFO] [stdout]     |                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Node`
[INFO] [stdout]  --> src/parser.rs:5:95
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FunctionLiteral, Identifier, IfExpression, InfixExpression, IntegerLiteral, LetStatement, Node,
[INFO] [stdout]   |                                                                                               ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environment`
[INFO] [stdout]   --> src/ast.rs:43:20
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn eval(&self, environment: &mut Environment) -> Option<Object> {
[INFO] [stdout]    |                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environment`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Node`
[INFO] [stdout]  --> src/parser.rs:5:95
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FunctionLiteral, Identifier, IfExpression, InfixExpression, IntegerLiteral, LetStatement, Node,
[INFO] [stdout]   |                                                                                               ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]   --> src/main.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn main() -> Result<(), color_eyre::Report> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environment`
[INFO] [stdout]    --> src/ast.rs:335:20
[INFO] [stdout]     |
[INFO] [stdout] 335 |     fn eval(&self, environment: &mut Environment) -> Option<Object> {
[INFO] [stdout]     |                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environment`
[INFO] [stdout]    --> src/ast.rs:368:20
[INFO] [stdout]     |
[INFO] [stdout] 368 |     fn eval(&self, environment: &mut Environment) -> Option<Object> {
[INFO] [stdout]     |                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environment`
[INFO] [stdout]   --> src/ast.rs:43:20
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn eval(&self, environment: &mut Environment) -> Option<Object> {
[INFO] [stdout]    |                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environment`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environment`
[INFO] [stdout]    --> src/ast.rs:688:20
[INFO] [stdout]     |
[INFO] [stdout] 688 |     fn eval(&self, environment: &mut Environment) -> Option<Object> {
[INFO] [stdout]     |                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environment`
[INFO] [stdout]    --> src/ast.rs:736:20
[INFO] [stdout]     |
[INFO] [stdout] 736 |     fn eval(&self, environment: &mut Environment) -> Option<Object> {
[INFO] [stdout]     |                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environment`
[INFO] [stdout]    --> src/ast.rs:778:20
[INFO] [stdout]     |
[INFO] [stdout] 778 |     fn eval(&self, environment: &mut Environment) -> Option<Object> {
[INFO] [stdout]     |                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environment`
[INFO] [stdout]    --> src/ast.rs:335:20
[INFO] [stdout]     |
[INFO] [stdout] 335 |     fn eval(&self, environment: &mut Environment) -> Option<Object> {
[INFO] [stdout]     |                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environment`
[INFO] [stdout]    --> src/ast.rs:368:20
[INFO] [stdout]     |
[INFO] [stdout] 368 |     fn eval(&self, environment: &mut Environment) -> Option<Object> {
[INFO] [stdout]     |                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environment`
[INFO] [stdout]    --> src/ast.rs:688:20
[INFO] [stdout]     |
[INFO] [stdout] 688 |     fn eval(&self, environment: &mut Environment) -> Option<Object> {
[INFO] [stdout]     |                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environment`
[INFO] [stdout]    --> src/ast.rs:736:20
[INFO] [stdout]     |
[INFO] [stdout] 736 |     fn eval(&self, environment: &mut Environment) -> Option<Object> {
[INFO] [stdout]     |                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environment`
[INFO] [stdout]    --> src/ast.rs:778:20
[INFO] [stdout]     |
[INFO] [stdout] 778 |     fn eval(&self, environment: &mut Environment) -> Option<Object> {
[INFO] [stdout]     |                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `main` is never used
[INFO] [stdout]   --> src/main.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn main() -> Result<(), color_eyre::Report> {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Expression`, `Identifier`, `LetStatement`, `Program`, and `Statement`
[INFO] [stdout]  --> tests/parser_test.rs:7:35
[INFO] [stdout]   |
[INFO] [stdout] 7 |     use monkey_interpreter::ast::{Expression, Identifier, LetStatement, Node, Program, Statement};
[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 imports: `TokenType` and `Token`
[INFO] [stdout]  --> tests/parser_test.rs:9:37
[INFO] [stdout]   |
[INFO] [stdout] 9 |     use monkey_interpreter::token::{Token, TokenType};
[INFO] [stdout]   |                                     ^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_and_assert_prefix_expression` is never used
[INFO] [stdout]   --> tests/helpers.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub fn get_and_assert_prefix_expression(expr: &Box<dyn Expression>) -> &PrefixExpression {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_and_assert_let_statement` is never used
[INFO] [stdout]   --> tests/helpers.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn get_and_assert_let_statement(stmt: &Box<dyn Statement>) -> &LetStatement {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_and_assert_return_statement` is never used
[INFO] [stdout]   --> tests/helpers.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub fn get_and_assert_return_statement(stmt: &Box<dyn Statement>) -> &ReturnStatement {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_and_assert_if_expression` is never used
[INFO] [stdout]   --> tests/helpers.rs:85:8
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub fn get_and_assert_if_expression(expr: &Box<dyn Expression>) -> &IfExpression {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_and_assert_function_literal` is never used
[INFO] [stdout]   --> tests/helpers.rs:91:8
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub fn get_and_assert_function_literal(expr: &Box<dyn Expression>) -> &FunctionLiteral {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_and_assert_call_expression` is never used
[INFO] [stdout]   --> tests/helpers.rs:97:8
[INFO] [stdout]    |
[INFO] [stdout] 97 | pub fn get_and_assert_call_expression(expr: &Box<dyn Expression>) -> &CallExpression {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_parse_errors` is never used
[INFO] [stdout]    --> tests/helpers.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub fn check_parse_errors(parser: &Parser) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_let_statement` is never used
[INFO] [stdout]    --> tests/helpers.rs:128:8
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub fn validate_let_statement(stmt: &Box<dyn Statement>, name: &String) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_return_statement` is never used
[INFO] [stdout]    --> tests/helpers.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn validate_return_statement(stmt: &Box<dyn Statement>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_prefix_expression` is never used
[INFO] [stdout]    --> tests/helpers.rs:297:8
[INFO] [stdout]     |
[INFO] [stdout] 297 | pub fn validate_prefix_expression(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_identifier` is never used
[INFO] [stdout]    --> tests/helpers.rs:328:8
[INFO] [stdout]     |
[INFO] [stdout] 328 | pub fn validate_identifier(ident: &Identifier, value: &str) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_function_parameters` is never used
[INFO] [stdout]    --> tests/helpers.rs:347:8
[INFO] [stdout]     |
[INFO] [stdout] 347 | pub fn validate_function_parameters(parameters: &Vec<Identifier>, expected_parameters: &Vec<String>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_argument_list_length` is never used
[INFO] [stdout]    --> tests/helpers.rs:359:8
[INFO] [stdout]     |
[INFO] [stdout] 359 | pub fn validate_argument_list_length(actual: usize, expected: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Node`
[INFO] [stdout]  --> src/parser.rs:5:95
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FunctionLiteral, Identifier, IfExpression, InfixExpression, IntegerLiteral, LetStatement, Node,
[INFO] [stdout]   |                                                                                               ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environment`
[INFO] [stdout]   --> src/ast.rs:43:20
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn eval(&self, environment: &mut Environment) -> Option<Object> {
[INFO] [stdout]    |                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environment`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environment`
[INFO] [stdout]    --> src/ast.rs:335:20
[INFO] [stdout]     |
[INFO] [stdout] 335 |     fn eval(&self, environment: &mut Environment) -> Option<Object> {
[INFO] [stdout]     |                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environment`
[INFO] [stdout]    --> src/ast.rs:368:20
[INFO] [stdout]     |
[INFO] [stdout] 368 |     fn eval(&self, environment: &mut Environment) -> Option<Object> {
[INFO] [stdout]     |                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_let_statement` is never used
[INFO] [stdout]    --> tests/helpers.rs:128:8
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub fn validate_let_statement(stmt: &Box<dyn Statement>, name: &String) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_return_statement` is never used
[INFO] [stdout]    --> tests/helpers.rs:152:8
[INFO] [stdout]     |
[INFO] [stdout] 152 | pub fn validate_return_statement(stmt: &Box<dyn Statement>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environment`
[INFO] [stdout]    --> src/ast.rs:688:20
[INFO] [stdout]     |
[INFO] [stdout] 688 |     fn eval(&self, environment: &mut Environment) -> Option<Object> {
[INFO] [stdout]     |                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environment`
[INFO] [stdout]    --> src/ast.rs:736:20
[INFO] [stdout]     |
[INFO] [stdout] 736 |     fn eval(&self, environment: &mut Environment) -> Option<Object> {
[INFO] [stdout]     |                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environment`
[INFO] [stdout]    --> src/ast.rs:778:20
[INFO] [stdout]     |
[INFO] [stdout] 778 |     fn eval(&self, environment: &mut Environment) -> Option<Object> {
[INFO] [stdout]     |                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Node`
[INFO] [stdout]  --> src/parser.rs:5:95
[INFO] [stdout]   |
[INFO] [stdout] 5 |     FunctionLiteral, Identifier, IfExpression, InfixExpression, IntegerLiteral, LetStatement, Node,
[INFO] [stdout]   |                                                                                               ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environment`
[INFO] [stdout]   --> src/ast.rs:43:20
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn eval(&self, environment: &mut Environment) -> Option<Object> {
[INFO] [stdout]    |                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environment`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environment`
[INFO] [stdout]    --> src/ast.rs:335:20
[INFO] [stdout]     |
[INFO] [stdout] 335 |     fn eval(&self, environment: &mut Environment) -> Option<Object> {
[INFO] [stdout]     |                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environment`
[INFO] [stdout]    --> src/ast.rs:368:20
[INFO] [stdout]     |
[INFO] [stdout] 368 |     fn eval(&self, environment: &mut Environment) -> Option<Object> {
[INFO] [stdout]     |                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environment`
[INFO] [stdout]    --> src/ast.rs:688:20
[INFO] [stdout]     |
[INFO] [stdout] 688 |     fn eval(&self, environment: &mut Environment) -> Option<Object> {
[INFO] [stdout]     |                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environment`
[INFO] [stdout]    --> src/ast.rs:736:20
[INFO] [stdout]     |
[INFO] [stdout] 736 |     fn eval(&self, environment: &mut Environment) -> Option<Object> {
[INFO] [stdout]     |                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `environment`
[INFO] [stdout]    --> src/ast.rs:778:20
[INFO] [stdout]     |
[INFO] [stdout] 778 |     fn eval(&self, environment: &mut Environment) -> Option<Object> {
[INFO] [stdout]     |                    ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_environment`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.72s
[INFO] running `Command { std: "docker" "inspect" "a2fa5a5c720c544b7e278df242bfbd2dcc9c26906ab649a610eb69bcb0ea8618", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a2fa5a5c720c544b7e278df242bfbd2dcc9c26906ab649a610eb69bcb0ea8618", kill_on_drop: false }`
[INFO] [stdout] a2fa5a5c720c544b7e278df242bfbd2dcc9c26906ab649a610eb69bcb0ea8618
