[INFO] cloning repository https://github.com/liam-hatcher/monkey-lang
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/liam-hatcher/monkey-lang" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fliam-hatcher%2Fmonkey-lang", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fliam-hatcher%2Fmonkey-lang'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] efc59c7190be7a8f040d4aaffc5e0475b97be4db
[INFO] testing liam-hatcher/monkey-lang against beta-2025-09-21 for beta-1.91-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fliam-hatcher%2Fmonkey-lang" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/liam-hatcher/monkey-lang
[INFO] finished tweaking git repo https://github.com/liam-hatcher/monkey-lang
[INFO] tweaked toml for git repo https://github.com/liam-hatcher/monkey-lang written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/liam-hatcher/monkey-lang on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/liam-hatcher/monkey-lang 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" "+beta-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] bfc176be706056daa77bf59d31d6e6bc52c4e739948128ba492cc240407d7185
[INFO] running `Command { std: "docker" "start" "-a" "bfc176be706056daa77bf59d31d6e6bc52c4e739948128ba492cc240407d7185", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bfc176be706056daa77bf59d31d6e6bc52c4e739948128ba492cc240407d7185", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bfc176be706056daa77bf59d31d6e6bc52c4e739948128ba492cc240407d7185", kill_on_drop: false }`
[INFO] [stdout] bfc176be706056daa77bf59d31d6e6bc52c4e739948128ba492cc240407d7185
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 20651b40252cc97dec5b3eb04dd78c84f68d844238771222ad8b04b3c9c0a794
[INFO] running `Command { std: "docker" "start" "-a" "20651b40252cc97dec5b3eb04dd78c84f68d844238771222ad8b04b3c9c0a794", kill_on_drop: false }`
[INFO] [stderr]    Compiling once_cell v1.21.1
[INFO] [stderr]    Compiling monkey-interpreter v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `error::Error`
[INFO] [stdout]  --> src/compiler/mod.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{error::Error, fmt};
[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: `let_statement`
[INFO] [stdout]    --> src/compiler/mod.rs:136:32
[INFO] [stdout]     |
[INFO] [stdout] 136 |                 Statement::Let(let_statement) => todo!(),
[INFO] [stdout]     |                                ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_let_statement`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_statement`
[INFO] [stdout]    --> src/compiler/mod.rs:137:35
[INFO] [stdout]     |
[INFO] [stdout] 137 |                 Statement::Return(return_statement) => todo!(),
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_statement`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `identifier_expression`
[INFO] [stdout]    --> src/compiler/mod.rs:246:40
[INFO] [stdout]     |
[INFO] [stdout] 246 |                 Expression::Identifier(identifier_expression) => todo!(),
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_identifier_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_literal`
[INFO] [stdout]    --> src/compiler/mod.rs:247:38
[INFO] [stdout]     |
[INFO] [stdout] 247 |                 Expression::Function(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:248:34
[INFO] [stdout]     |
[INFO] [stdout] 248 |                 Expression::Call(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: `string_literal`
[INFO] [stdout]    --> src/compiler/mod.rs:249:36
[INFO] [stdout]     |
[INFO] [stdout] 249 |                 Expression::String(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: `array_literal`
[INFO] [stdout]    --> src/compiler/mod.rs:250:35
[INFO] [stdout]     |
[INFO] [stdout] 250 |                 Expression::Array(array_literal) => todo!(),
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_array_literal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index_expression`
[INFO] [stdout]    --> src/compiler/mod.rs:251:35
[INFO] [stdout]     |
[INFO] [stdout] 251 |                 Expression::Index(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:252:34
[INFO] [stdout]     |
[INFO] [stdout] 252 |                 Expression::Hash(hash_literal) => todo!(),
[INFO] [stdout]     |                                  ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hash_literal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_string` is never used
[INFO] [stdout]    --> src/ast.rs:348:12
[INFO] [stdout]     |
[INFO] [stdout] 347 | impl Program {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] 348 |     pub fn to_string(&self) -> 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: trait `InstructionsExt` is never used
[INFO] [stdout]  --> src/code/mod.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub trait InstructionsExt {
[INFO] [stdout]   |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]    --> src/code/mod.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 104 | pub struct Definition {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] 105 |     name: &'static str,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_operands` is never used
[INFO] [stdout]    --> src/code/mod.rs:209:8
[INFO] [stdout]     |
[INFO] [stdout] 209 | pub fn read_operands(def: &Definition, ins: &Instructions) -> (Vec<i32>, i32) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `stack_top` is never used
[INFO] [stdout]   --> src/vm/mod.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl MonkeyVM {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn stack_top(&self) -> Option<&Box<dyn Object>> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/object/mod.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, PartialEq)]
[INFO] [stdout]    |                 --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 35 |     Native(NativeFn),
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1.80s
[INFO] running `Command { std: "docker" "inspect" "20651b40252cc97dec5b3eb04dd78c84f68d844238771222ad8b04b3c9c0a794", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "20651b40252cc97dec5b3eb04dd78c84f68d844238771222ad8b04b3c9c0a794", kill_on_drop: false }`
[INFO] [stdout] 20651b40252cc97dec5b3eb04dd78c84f68d844238771222ad8b04b3c9c0a794
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f0111b9b6f56288f15621586d5f2c1991cf2dce55dfbf08cd2f2acc7fc0f77b3
[INFO] running `Command { std: "docker" "start" "-a" "f0111b9b6f56288f15621586d5f2c1991cf2dce55dfbf08cd2f2acc7fc0f77b3", kill_on_drop: false }`
[INFO] [stderr]    Compiling monkey-interpreter v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `error::Error`
[INFO] [stdout]  --> src/compiler/mod.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{error::Error, fmt};
[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: `let_statement`
[INFO] [stdout]    --> src/compiler/mod.rs:136:32
[INFO] [stdout]     |
[INFO] [stdout] 136 |                 Statement::Let(let_statement) => todo!(),
[INFO] [stdout]     |                                ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_let_statement`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `return_statement`
[INFO] [stdout]    --> src/compiler/mod.rs:137:35
[INFO] [stdout]     |
[INFO] [stdout] 137 |                 Statement::Return(return_statement) => todo!(),
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_statement`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `identifier_expression`
[INFO] [stdout]    --> src/compiler/mod.rs:246:40
[INFO] [stdout]     |
[INFO] [stdout] 246 |                 Expression::Identifier(identifier_expression) => todo!(),
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_identifier_expression`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_literal`
[INFO] [stdout]    --> src/compiler/mod.rs:247:38
[INFO] [stdout]     |
[INFO] [stdout] 247 |                 Expression::Function(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:248:34
[INFO] [stdout]     |
[INFO] [stdout] 248 |                 Expression::Call(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: `string_literal`
[INFO] [stdout]    --> src/compiler/mod.rs:249:36
[INFO] [stdout]     |
[INFO] [stdout] 249 |                 Expression::String(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: `array_literal`
[INFO] [stdout]    --> src/compiler/mod.rs:250:35
[INFO] [stdout]     |
[INFO] [stdout] 250 |                 Expression::Array(array_literal) => todo!(),
[INFO] [stdout]     |                                   ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_array_literal`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index_expression`
[INFO] [stdout]    --> src/compiler/mod.rs:251:35
[INFO] [stdout]     |
[INFO] [stdout] 251 |                 Expression::Index(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:252:34
[INFO] [stdout]     |
[INFO] [stdout] 252 |                 Expression::Hash(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: `n`
[INFO] [stdout]   --> src/vm/vm_tests.rs:46:24
[INFO] [stdout]    |
[INFO] [stdout] 46 |     } else if let Some(n) = expected.downcast_ref::<Null>() {
[INFO] [stdout]    |                        ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `stack_top` is never used
[INFO] [stdout]   --> src/vm/mod.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl MonkeyVM {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 54 |     pub fn stack_top(&self) -> Option<&Box<dyn Object>> {
[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 pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stdout]   --> src/object/mod.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | #[derive(Debug, PartialEq)]
[INFO] [stdout]    |                 --------- in this derive macro expansion
[INFO] [stdout] ...
[INFO] [stdout] 35 |     Native(NativeFn),
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: the address of the same function can vary between different codegen units
[INFO] [stdout]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stdout]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stdout]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.95s
[INFO] running `Command { std: "docker" "inspect" "f0111b9b6f56288f15621586d5f2c1991cf2dce55dfbf08cd2f2acc7fc0f77b3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f0111b9b6f56288f15621586d5f2c1991cf2dce55dfbf08cd2f2acc7fc0f77b3", kill_on_drop: false }`
[INFO] [stdout] f0111b9b6f56288f15621586d5f2c1991cf2dce55dfbf08cd2f2acc7fc0f77b3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 3a8bb1ac4240c3ccc3e43962f4e5224cd827b62d4fb7cabfa88d703fcdfbe1c6
[INFO] running `Command { std: "docker" "start" "-a" "3a8bb1ac4240c3ccc3e43962f4e5224cd827b62d4fb7cabfa88d703fcdfbe1c6", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `error::Error`
[INFO] [stderr]  --> src/compiler/mod.rs:1:11
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::{error::Error, fmt};
[INFO] [stderr]   |           ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `let_statement`
[INFO] [stderr]    --> src/compiler/mod.rs:136:32
[INFO] [stderr]     |
[INFO] [stderr] 136 |                 Statement::Let(let_statement) => todo!(),
[INFO] [stderr]     |                                ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_let_statement`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `return_statement`
[INFO] [stderr]    --> src/compiler/mod.rs:137:35
[INFO] [stderr]     |
[INFO] [stderr] 137 |                 Statement::Return(return_statement) => todo!(),
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_return_statement`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `identifier_expression`
[INFO] [stderr]    --> src/compiler/mod.rs:246:40
[INFO] [stderr]     |
[INFO] [stderr] 246 |                 Expression::Identifier(identifier_expression) => todo!(),
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_identifier_expression`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `function_literal`
[INFO] [stderr]    --> src/compiler/mod.rs:247:38
[INFO] [stderr]     |
[INFO] [stderr] 247 |                 Expression::Function(function_literal) => todo!(),
[INFO] [stderr]     |                                      ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_literal`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `call_expression`
[INFO] [stderr]    --> src/compiler/mod.rs:248:34
[INFO] [stderr]     |
[INFO] [stderr] 248 |                 Expression::Call(call_expression) => todo!(),
[INFO] [stderr]     |                                  ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_call_expression`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `string_literal`
[INFO] [stderr]    --> src/compiler/mod.rs:249:36
[INFO] [stderr]     |
[INFO] [stderr] 249 |                 Expression::String(string_literal) => todo!(),
[INFO] [stderr]     |                                    ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_string_literal`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `array_literal`
[INFO] [stderr]    --> src/compiler/mod.rs:250:35
[INFO] [stderr]     |
[INFO] [stderr] 250 |                 Expression::Array(array_literal) => todo!(),
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_array_literal`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index_expression`
[INFO] [stderr]    --> src/compiler/mod.rs:251:35
[INFO] [stderr]     |
[INFO] [stderr] 251 |                 Expression::Index(index_expression) => todo!(),
[INFO] [stderr]     |                                   ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_index_expression`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `hash_literal`
[INFO] [stderr]    --> src/compiler/mod.rs:252:34
[INFO] [stderr]     |
[INFO] [stderr] 252 |                 Expression::Hash(hash_literal) => todo!(),
[INFO] [stderr]     |                                  ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hash_literal`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n`
[INFO] [stderr]   --> src/vm/vm_tests.rs:46:24
[INFO] [stderr]    |
[INFO] [stderr] 46 |     } else if let Some(n) = expected.downcast_ref::<Null>() {
[INFO] [stderr]    |                        ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stderr] 
[INFO] [stderr] warning: method `stack_top` is never used
[INFO] [stderr]   --> src/vm/mod.rs:54:12
[INFO] [stderr]    |
[INFO] [stderr] 44 | impl MonkeyVM {
[INFO] [stderr]    | ------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 54 |     pub fn stack_top(&self) -> Option<&Box<dyn Object>> {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function pointer comparisons do not produce meaningful results since their addresses are not guaranteed to be unique
[INFO] [stderr]   --> src/object/mod.rs:35:12
[INFO] [stderr]    |
[INFO] [stderr] 26 | #[derive(Debug, PartialEq)]
[INFO] [stderr]    |                 --------- in this derive macro expansion
[INFO] [stderr] ...
[INFO] [stderr] 35 |     Native(NativeFn),
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: the address of the same function can vary between different codegen units
[INFO] [stderr]    = note: furthermore, different functions could have the same address after being merged together
[INFO] [stderr]    = note: for more information visit <https://doc.rust-lang.org/nightly/core/ptr/fn.fn_addr_eq.html>
[INFO] [stderr]    = note: `#[warn(unpredictable_function_pointer_comparisons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `monkey-interpreter` (bin "monkey-interpreter" test) generated 13 warnings (run `cargo fix --bin "monkey-interpreter" --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/monkey_interpreter-142b2e251f5be3f7)
[INFO] [stdout] 
[INFO] [stdout] running 44 tests
[INFO] [stdout] test code::code_tests::test_instructions_string ... ok
[INFO] [stdout] test compiler::compiler_tests::test_boolean_expressions ... ok
[INFO] [stdout] test code::code_tests::test_make ... ok
[INFO] [stdout] test compiler::compiler_tests::test_read_operands ... ok
[INFO] [stdout] test compiler::compiler_tests::test_integer_arithmetic ... ok
[INFO] [stdout] test evaluator::evaluator_tests::test_array_literals ... ok
[INFO] [stdout] test evaluator::evaluator_tests::test_bang_operator ... ok
[INFO] [stdout] test evaluator::evaluator_tests::test_array_index_expressions ... ok
[INFO] [stdout] test evaluator::evaluator_tests::test_closures ... ok
[INFO] [stdout] test compiler::compiler_tests::test_conditionals ... ok
[INFO] [stdout] test evaluator::evaluator_tests::test_eval_boolean_expression ... ok
[INFO] [stdout] test evaluator::evaluator_tests::test_eval_integer_expression ... ok
[INFO] [stdout] test evaluator::evaluator_tests::test_error_handling ... ok
[INFO] [stdout] test parser::parser_tests::test_empty_hash_literal ... ok
[INFO] [stdout] test evaluator::evaluator_tests::test_function_object ... ok
[INFO] [stdout] test evaluator::evaluator_tests::test_let_statements ... ok
[INFO] [stdout] test parser::parser_tests::test_function_literal ... ok
[INFO] [stdout] test parser::parser_tests::test_identifier_expression ... ok
[INFO] [stdout] test evaluator::evaluator_tests::test_function_application ... ok
[INFO] [stdout] test evaluator::evaluator_tests::test_hash_index_expressions ... ok
[INFO] [stdout] test parser::parser_tests::test_if_expression ... ok
[INFO] [stdout] test evaluator::evaluator_tests::test_return_statements ... ok
[INFO] [stdout] test parser::parser_tests::test_infix_expresions ... ok
[INFO] [stdout] test parser::parser_tests::test_integer_literal_expression ... ok
[INFO] [stdout] test evaluator::evaluator_tests::test_string_concatenation ... ok
[INFO] [stdout] test evaluator::evaluator_tests::test_string_literal ... ok
[INFO] [stdout] test evaluator::evaluator_tests::test_native_functions ... ok
[INFO] [stdout] test parser::parser_tests::test_parsing_array_literals ... ok
[INFO] [stdout] test evaluator::evaluator_tests::test_hash_literals ... ok
[INFO] [stdout] test parser::parser_tests::test_let_statements ... ok
[INFO] [stdout] test parser::parser_tests::test_parsing_hash_literals_with_expressions ... ok
[INFO] [stdout] test parser::parser_tests::test_string_literal_expression ... ok
[INFO] [stdout] test parser::parser_tests::test_parsing_hash_literals ... ok
[INFO] [stdout] test parser::parser_tests::test_call_espression_parsing ... ok
[INFO] [stdout] test parser::parser_tests::test_prefix_expressions ... ok
[INFO] [stdout] test evaluator::evaluator_tests::if_else_expressions ... ok
[INFO] [stdout] test parser::parser_tests::test_parsing_index_expressions ... ok
[INFO] [stdout] test parser::parser_tests::test_return_statements ... ok
[INFO] [stdout] test parser::parser_tests::test_parse_function_parameters ... ok
[INFO] [stdout] test vm::vm_tests::test_conditionals ... ok
[INFO] [stdout] test parser::parser_tests::test_operator_precedence ... ok
[INFO] [stdout] test vm::vm_tests::test_integer_arithmetic ... ok
[INFO] [stdout] test lexer::lexer_tests::test_next_token ... ok
[INFO] [stdout] test vm::vm_tests::test_boolean_expressions ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 44 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "3a8bb1ac4240c3ccc3e43962f4e5224cd827b62d4fb7cabfa88d703fcdfbe1c6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3a8bb1ac4240c3ccc3e43962f4e5224cd827b62d4fb7cabfa88d703fcdfbe1c6", kill_on_drop: false }`
[INFO] [stdout] 3a8bb1ac4240c3ccc3e43962f4e5224cd827b62d4fb7cabfa88d703fcdfbe1c6
