[INFO] cloning repository https://github.com/samidarko/writing_a_compiler_in_rust_monkey
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/samidarko/writing_a_compiler_in_rust_monkey" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsamidarko%2Fwriting_a_compiler_in_rust_monkey", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsamidarko%2Fwriting_a_compiler_in_rust_monkey'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] bef5eb862fd62ad74f2b037496116d9b7ebf9d1e
[INFO] testing samidarko/writing_a_compiler_in_rust_monkey against 1.75.0 for beta-1.76-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsamidarko%2Fwriting_a_compiler_in_rust_monkey" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/samidarko/writing_a_compiler_in_rust_monkey on toolchain 1.75.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/samidarko/writing_a_compiler_in_rust_monkey
[INFO] finished tweaking git repo https://github.com/samidarko/writing_a_compiler_in_rust_monkey
[INFO] tweaked toml for git repo https://github.com/samidarko/writing_a_compiler_in_rust_monkey written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/samidarko/writing_a_compiler_in_rust_monkey 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" "+1.75.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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" "+1.75.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 41c6543dad1a46e965fbb4170423d15a0644f9f10b52d02b673c1f97fc53f30a
[INFO] running `Command { std: "docker" "start" "-a" "41c6543dad1a46e965fbb4170423d15a0644f9f10b52d02b673c1f97fc53f30a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "41c6543dad1a46e965fbb4170423d15a0644f9f10b52d02b673c1f97fc53f30a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "41c6543dad1a46e965fbb4170423d15a0644f9f10b52d02b673c1f97fc53f30a", kill_on_drop: false }`
[INFO] [stdout] 41c6543dad1a46e965fbb4170423d15a0644f9f10b52d02b673c1f97fc53f30a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 24070cbaa3b5a1975496d1726f04323d77f0f6af930b977c422fd95bf5679425
[INFO] running `Command { std: "docker" "start" "-a" "24070cbaa3b5a1975496d1726f04323d77f0f6af930b977c422fd95bf5679425", kill_on_drop: false }`
[INFO] [stderr]    Compiling writing_a_compiler_in_rust_monkey v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 0.46s
[INFO] running `Command { std: "docker" "inspect" "24070cbaa3b5a1975496d1726f04323d77f0f6af930b977c422fd95bf5679425", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "24070cbaa3b5a1975496d1726f04323d77f0f6af930b977c422fd95bf5679425", kill_on_drop: false }`
[INFO] [stdout] 24070cbaa3b5a1975496d1726f04323d77f0f6af930b977c422fd95bf5679425
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a5bcca9b278d2c0b92b206a3aa1554b19e3759b7fd609fd2edb3dc44b3e003db
[INFO] running `Command { std: "docker" "start" "-a" "a5bcca9b278d2c0b92b206a3aa1554b19e3759b7fd609fd2edb3dc44b3e003db", kill_on_drop: false }`
[INFO] [stderr]    Compiling writing_a_compiler_in_rust_monkey v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.63s
[INFO] running `Command { std: "docker" "inspect" "a5bcca9b278d2c0b92b206a3aa1554b19e3759b7fd609fd2edb3dc44b3e003db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a5bcca9b278d2c0b92b206a3aa1554b19e3759b7fd609fd2edb3dc44b3e003db", kill_on_drop: false }`
[INFO] [stdout] a5bcca9b278d2c0b92b206a3aa1554b19e3759b7fd609fd2edb3dc44b3e003db
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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=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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 8f59fb1a11602814b801b65b1dbd6b5aa66a45e3c91d8ca387ea3ee76269d4da
[INFO] running `Command { std: "docker" "start" "-a" "8f59fb1a11602814b801b65b1dbd6b5aa66a45e3c91d8ca387ea3ee76269d4da", kill_on_drop: false }`
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.00s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/writing_a_compiler_in_rust_monkey-52eb97bd81ce44db)
[INFO] [stdout] 
[INFO] [stdout] running 34 tests
[INFO] [stdout] test ast::tests::string ... ok
[INFO] [stdout] test evaluator::tests::bang_operator ... ok
[INFO] [stdout] test evaluator::tests::add_two ... ok
[INFO] [stdout] test evaluator::tests::closures ... ok
[INFO] [stdout] test evaluator::tests::counter ... FAILED
[INFO] [stdout] test evaluator::tests::enclosing_environments ... ok
[INFO] [stdout] test evaluator::tests::eval_boolean_expression ... ok
[INFO] [stdout] test evaluator::tests::eval_integer_expression ... ok
[INFO] [stdout] test evaluator::tests::error_handling ... ok
[INFO] [stdout] test evaluator::tests::function_object ... ok
[INFO] [stdout] test evaluator::tests::if_else_expression ... ok
[INFO] [stdout] test evaluator::tests::let_statement ... ok
[INFO] [stdout] test evaluator::tests::function_application ... ok
[INFO] [stdout] test lexer::tests::counter ... ok
[INFO] [stdout] test object::environment::tests::enclosed_environment_found ... ok
[INFO] [stdout] test lexer::tests::next_token ... ok
[INFO] [stdout] test object::environment::tests::enclosed_environment_not_found_other ... ok
[INFO] [stdout] test object::environment::tests::enclosed_environment_not_found ... ok
[INFO] [stdout] test object::environment::tests::environment_found ... ok
[INFO] [stdout] test evaluator::tests::return_statement ... ok
[INFO] [stdout] test object::environment::tests::environment_not_found ... ok
[INFO] [stdout] test object::tests::is_same_variant ... ok
[INFO] [stdout] test parser::tests::boolean_expression ... ok
[INFO] [stdout] test parser::tests::call_expression ... ok
[INFO] [stdout] test parser::tests::identifier_expression ... ok
[INFO] [stdout] test parser::tests::counter ... ok
[INFO] [stdout] test parser::tests::if_else_expression ... ok
[INFO] [stdout] test parser::tests::infix_expression ... ok
[INFO] [stdout] test parser::tests::integer_expression ... ok
[INFO] [stdout] test parser::tests::let_statements ... ok
[INFO] [stdout] test parser::tests::parse_function_literal ... ok
[INFO] [stdout] test parser::tests::prefix_expression ... ok
[INFO] [stdout] test parser::tests::return_statements ... ok
[INFO] [stdout] test parser::tests::operator_precedence_parsing ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- evaluator::tests::counter stdout ----
[INFO] [stdout] Program(Program { statements: [Let(LetStatement { name: "counter", value: Function(FunctionLiteral { parameters: ["x"], body: BlockStatement { statements: [Expression(If(IfExpression { condition: Infix(InfixExpression { left: Identifier("x"), operator: GT, right: Int(1) }), consequence: BlockStatement { statements: [Return(ReturnStatement { value: Boolean(true) })] }, alternative: Some(BlockStatement { statements: [Expression(Call(CallExpression { function: Identifier("counter"), arguments: [Infix(InfixExpression { left: Identifier("x"), operator: Plus, right: Int(1) })] }))] }) }))] } }) }), Expression(Call(CallExpression { function: Identifier("counter"), arguments: [Int(1)] }))] })
[INFO] [stdout] => Environment { store: {}, outer: None }
[INFO] [stdout] 
[INFO] [stdout] Statement(Let(LetStatement { name: "counter", value: Function(FunctionLiteral { parameters: ["x"], body: BlockStatement { statements: [Expression(If(IfExpression { condition: Infix(InfixExpression { left: Identifier("x"), operator: GT, right: Int(1) }), consequence: BlockStatement { statements: [Return(ReturnStatement { value: Boolean(true) })] }, alternative: Some(BlockStatement { statements: [Expression(Call(CallExpression { function: Identifier("counter"), arguments: [Infix(InfixExpression { left: Identifier("x"), operator: Plus, right: Int(1) })] }))] }) }))] } }) }))
[INFO] [stdout] => Environment { store: {}, outer: None }
[INFO] [stdout] 
[INFO] [stdout] Expression(Function(FunctionLiteral { parameters: ["x"], body: BlockStatement { statements: [Expression(If(IfExpression { condition: Infix(InfixExpression { left: Identifier("x"), operator: GT, right: Int(1) }), consequence: BlockStatement { statements: [Return(ReturnStatement { value: Boolean(true) })] }, alternative: Some(BlockStatement { statements: [Expression(Call(CallExpression { function: Identifier("counter"), arguments: [Infix(InfixExpression { left: Identifier("x"), operator: Plus, right: Int(1) })] }))] }) }))] } }))
[INFO] [stdout] => Environment { store: {}, outer: None }
[INFO] [stdout] 
[INFO] [stdout] Statement(Expression(Call(CallExpression { function: Identifier("counter"), arguments: [Int(1)] })))
[INFO] [stdout] => Environment { store: {"counter": Function(Function { parameters: ["x"], body: BlockStatement { statements: [Expression(If(IfExpression { condition: Infix(InfixExpression { left: Identifier("x"), operator: GT, right: Int(1) }), consequence: BlockStatement { statements: [Return(ReturnStatement { value: Boolean(true) })] }, alternative: Some(BlockStatement { statements: [Expression(Call(CallExpression { function: Identifier("counter"), arguments: [Infix(InfixExpression { left: Identifier("x"), operator: Plus, right: Int(1) })] }))] }) }))] }, env: Environment { store: {}, outer: None } })}, outer: None }
[INFO] [stdout] 
[INFO] [stdout] Expression(Call(CallExpression { function: Identifier("counter"), arguments: [Int(1)] }))
[INFO] [stdout] => Environment { store: {"counter": Function(Function { parameters: ["x"], body: BlockStatement { statements: [Expression(If(IfExpression { condition: Infix(InfixExpression { left: Identifier("x"), operator: GT, right: Int(1) }), consequence: BlockStatement { statements: [Return(ReturnStatement { value: Boolean(true) })] }, alternative: Some(BlockStatement { statements: [Expression(Call(CallExpression { function: Identifier("counter"), arguments: [Infix(InfixExpression { left: Identifier("x"), operator: Plus, right: Int(1) })] }))] }) }))] }, env: Environment { store: {}, outer: None } })}, outer: None }
[INFO] [stdout] 
[INFO] [stdout] Expression(Identifier("counter"))
[INFO] [stdout] => Environment { store: {"counter": Function(Function { parameters: ["x"], body: BlockStatement { statements: [Expression(If(IfExpression { condition: Infix(InfixExpression { left: Identifier("x"), operator: GT, right: Int(1) }), consequence: BlockStatement { statements: [Return(ReturnStatement { value: Boolean(true) })] }, alternative: Some(BlockStatement { statements: [Expression(Call(CallExpression { function: Identifier("counter"), arguments: [Infix(InfixExpression { left: Identifier("x"), operator: Plus, right: Int(1) })] }))] }) }))] }, env: Environment { store: {}, outer: None } })}, outer: None }
[INFO] [stdout] 
[INFO] [stdout] Expression(Int(1))
[INFO] [stdout] => Environment { store: {"counter": Function(Function { parameters: ["x"], body: BlockStatement { statements: [Expression(If(IfExpression { condition: Infix(InfixExpression { left: Identifier("x"), operator: GT, right: Int(1) }), consequence: BlockStatement { statements: [Return(ReturnStatement { value: Boolean(true) })] }, alternative: Some(BlockStatement { statements: [Expression(Call(CallExpression { function: Identifier("counter"), arguments: [Infix(InfixExpression { left: Identifier("x"), operator: Plus, right: Int(1) })] }))] }) }))] }, env: Environment { store: {}, outer: None } })}, outer: None }
[INFO] [stdout] 
[INFO] [stdout] Statement(Block(BlockStatement { statements: [Expression(If(IfExpression { condition: Infix(InfixExpression { left: Identifier("x"), operator: GT, right: Int(1) }), consequence: BlockStatement { statements: [Return(ReturnStatement { value: Boolean(true) })] }, alternative: Some(BlockStatement { statements: [Expression(Call(CallExpression { function: Identifier("counter"), arguments: [Infix(InfixExpression { left: Identifier("x"), operator: Plus, right: Int(1) })] }))] }) }))] }))
[INFO] [stdout] => Environment { store: {"x": Int(1)}, outer: Some(Environment { store: {}, outer: None }) }
[INFO] [stdout] 
[INFO] [stdout] Statement(Expression(If(IfExpression { condition: Infix(InfixExpression { left: Identifier("x"), operator: GT, right: Int(1) }), consequence: BlockStatement { statements: [Return(ReturnStatement { value: Boolean(true) })] }, alternative: Some(BlockStatement { statements: [Expression(Call(CallExpression { function: Identifier("counter"), arguments: [Infix(InfixExpression { left: Identifier("x"), operator: Plus, right: Int(1) })] }))] }) })))
[INFO] [stdout] => Environment { store: {"x": Int(1)}, outer: Some(Environment { store: {}, outer: None }) }
[INFO] [stdout] 
[INFO] [stdout] Expression(If(IfExpression { condition: Infix(InfixExpression { left: Identifier("x"), operator: GT, right: Int(1) }), consequence: BlockStatement { statements: [Return(ReturnStatement { value: Boolean(true) })] }, alternative: Some(BlockStatement { statements: [Expression(Call(CallExpression { function: Identifier("counter"), arguments: [Infix(InfixExpression { left: Identifier("x"), operator: Plus, right: Int(1) })] }))] }) }))
[INFO] [stdout] => Environment { store: {"x": Int(1)}, outer: Some(Environment { store: {}, outer: None }) }
[INFO] [stdout] 
[INFO] [stdout] Expression(Infix(InfixExpression { left: Identifier("x"), operator: GT, right: Int(1) }))
[INFO] [stdout] => Environment { store: {"x": Int(1)}, outer: Some(Environment { store: {}, outer: None }) }
[INFO] [stdout] 
[INFO] [stdout] Expression(Int(1))
[INFO] [stdout] => Environment { store: {"x": Int(1)}, outer: Some(Environment { store: {}, outer: None }) }
[INFO] [stdout] 
[INFO] [stdout] Expression(Identifier("x"))
[INFO] [stdout] => Environment { store: {"x": Int(1)}, outer: Some(Environment { store: {}, outer: None }) }
[INFO] [stdout] 
[INFO] [stdout] Statement(Block(BlockStatement { statements: [Expression(Call(CallExpression { function: Identifier("counter"), arguments: [Infix(InfixExpression { left: Identifier("x"), operator: Plus, right: Int(1) })] }))] }))
[INFO] [stdout] => Environment { store: {"x": Int(1)}, outer: Some(Environment { store: {}, outer: None }) }
[INFO] [stdout] 
[INFO] [stdout] Statement(Expression(Call(CallExpression { function: Identifier("counter"), arguments: [Infix(InfixExpression { left: Identifier("x"), operator: Plus, right: Int(1) })] })))
[INFO] [stdout] => Environment { store: {"x": Int(1)}, outer: Some(Environment { store: {}, outer: None }) }
[INFO] [stdout] 
[INFO] [stdout] Expression(Call(CallExpression { function: Identifier("counter"), arguments: [Infix(InfixExpression { left: Identifier("x"), operator: Plus, right: Int(1) })] }))
[INFO] [stdout] => Environment { store: {"x": Int(1)}, outer: Some(Environment { store: {}, outer: None }) }
[INFO] [stdout] 
[INFO] [stdout] Expression(Identifier("counter"))
[INFO] [stdout] => Environment { store: {"x": Int(1)}, outer: Some(Environment { store: {}, outer: None }) }
[INFO] [stdout] 
[INFO] [stdout] Error: "identifier not found: counter"
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     evaluator::tests::counter
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 33 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin writing_a_compiler_in_rust_monkey`
[INFO] running `Command { std: "docker" "inspect" "8f59fb1a11602814b801b65b1dbd6b5aa66a45e3c91d8ca387ea3ee76269d4da", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8f59fb1a11602814b801b65b1dbd6b5aa66a45e3c91d8ca387ea3ee76269d4da", kill_on_drop: false }`
[INFO] [stdout] 8f59fb1a11602814b801b65b1dbd6b5aa66a45e3c91d8ca387ea3ee76269d4da
[INFO] testing samidarko/writing_a_compiler_in_rust_monkey against beta-2023-12-22 for beta-1.76-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsamidarko%2Fwriting_a_compiler_in_rust_monkey" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/samidarko/writing_a_compiler_in_rust_monkey on toolchain beta-2023-12-22
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-12-22" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/samidarko/writing_a_compiler_in_rust_monkey
[INFO] finished tweaking git repo https://github.com/samidarko/writing_a_compiler_in_rust_monkey
[INFO] tweaked toml for git repo https://github.com/samidarko/writing_a_compiler_in_rust_monkey written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/samidarko/writing_a_compiler_in_rust_monkey 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-2023-12-22" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-12-22" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 94fce287f9138ea7c6f4284d13298bd532faddfe242f5795ae86c1660f155101
[INFO] running `Command { std: "docker" "start" "-a" "94fce287f9138ea7c6f4284d13298bd532faddfe242f5795ae86c1660f155101", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "94fce287f9138ea7c6f4284d13298bd532faddfe242f5795ae86c1660f155101", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "94fce287f9138ea7c6f4284d13298bd532faddfe242f5795ae86c1660f155101", kill_on_drop: false }`
[INFO] [stdout] 94fce287f9138ea7c6f4284d13298bd532faddfe242f5795ae86c1660f155101
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-12-22" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fbe8c36f758d18cea5918aa84b57aaa0284f8bbe2d0e98933bb087ed76280c11
[INFO] running `Command { std: "docker" "start" "-a" "fbe8c36f758d18cea5918aa84b57aaa0284f8bbe2d0e98933bb087ed76280c11", kill_on_drop: false }`
[INFO] [stderr]    Compiling writing_a_compiler_in_rust_monkey v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 0.44s
[INFO] running `Command { std: "docker" "inspect" "fbe8c36f758d18cea5918aa84b57aaa0284f8bbe2d0e98933bb087ed76280c11", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fbe8c36f758d18cea5918aa84b57aaa0284f8bbe2d0e98933bb087ed76280c11", kill_on_drop: false }`
[INFO] [stdout] fbe8c36f758d18cea5918aa84b57aaa0284f8bbe2d0e98933bb087ed76280c11
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-12-22" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 678260351f2d347a64a82b0f22004ea218ea2e373272dd26e0338c0e188c62ef
[INFO] running `Command { std: "docker" "start" "-a" "678260351f2d347a64a82b0f22004ea218ea2e373272dd26e0338c0e188c62ef", kill_on_drop: false }`
[INFO] [stderr]    Compiling writing_a_compiler_in_rust_monkey v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.62s
[INFO] running `Command { std: "docker" "inspect" "678260351f2d347a64a82b0f22004ea218ea2e373272dd26e0338c0e188c62ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "678260351f2d347a64a82b0f22004ea218ea2e373272dd26e0338c0e188c62ef", kill_on_drop: false }`
[INFO] [stdout] 678260351f2d347a64a82b0f22004ea218ea2e373272dd26e0338c0e188c62ef
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-12-22" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 82591a5f00a2b9d8f5dc38dd04f7cbfa74b39ad3d8ad649bd4fe051608d02f7c
[INFO] running `Command { std: "docker" "start" "-a" "82591a5f00a2b9d8f5dc38dd04f7cbfa74b39ad3d8ad649bd4fe051608d02f7c", kill_on_drop: false }`
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.00s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/writing_a_compiler_in_rust_monkey-e3c015800ffa1955)
[INFO] [stdout] 
[INFO] [stdout] running 34 tests
[INFO] [stdout] test ast::tests::string ... ok
[INFO] [stdout] test evaluator::tests::bang_operator ... ok
[INFO] [stdout] test evaluator::tests::add_two ... ok
[INFO] [stdout] test evaluator::tests::closures ... ok
[INFO] [stdout] test evaluator::tests::counter ... FAILED
[INFO] [stdout] test evaluator::tests::error_handling ... ok
[INFO] [stdout] test evaluator::tests::enclosing_environments ... ok
[INFO] [stdout] test lexer::tests::counter ... ok
[INFO] [stdout] test evaluator::tests::if_else_expression ... ok
[INFO] [stdout] test object::environment::tests::enclosed_environment_not_found_other ... ok
[INFO] [stdout] test evaluator::tests::function_object ... ok
[INFO] [stdout] test evaluator::tests::eval_boolean_expression ... ok
[INFO] [stdout] test lexer::tests::next_token ... ok
[INFO] [stdout] test object::environment::tests::enclosed_environment_not_found ... ok
[INFO] [stdout] test evaluator::tests::eval_integer_expression ... ok
[INFO] [stdout] test object::environment::tests::enclosed_environment_found ... ok
[INFO] [stdout] test evaluator::tests::let_statement ... ok
[INFO] [stdout] test object::environment::tests::environment_not_found ... ok
[INFO] [stdout] test object::environment::tests::environment_found ... ok
[INFO] [stdout] test evaluator::tests::function_application ... ok
[INFO] [stdout] test object::tests::is_same_variant ... ok
[INFO] [stdout] test parser::tests::boolean_expression ... ok
[INFO] [stdout] test evaluator::tests::return_statement ... ok
[INFO] [stdout] test parser::tests::if_else_expression ... ok
[INFO] [stdout] test parser::tests::call_expression ... ok
[INFO] [stdout] test parser::tests::identifier_expression ... ok
[INFO] [stdout] test parser::tests::infix_expression ... ok
[INFO] [stdout] test parser::tests::counter ... ok
[INFO] [stdout] test parser::tests::integer_expression ... ok
[INFO] [stdout] test parser::tests::let_statements ... ok
[INFO] [stdout] test parser::tests::parse_function_literal ... ok
[INFO] [stdout] test parser::tests::operator_precedence_parsing ... ok
[INFO] [stdout] test parser::tests::prefix_expression ... ok
[INFO] [stdout] test parser::tests::return_statements ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- evaluator::tests::counter stdout ----
[INFO] [stdout] Program(Program { statements: [Let(LetStatement { name: "counter", value: Function(FunctionLiteral { parameters: ["x"], body: BlockStatement { statements: [Expression(If(IfExpression { condition: Infix(InfixExpression { left: Identifier("x"), operator: GT, right: Int(1) }), consequence: BlockStatement { statements: [Return(ReturnStatement { value: Boolean(true) })] }, alternative: Some(BlockStatement { statements: [Expression(Call(CallExpression { function: Identifier("counter"), arguments: [Infix(InfixExpression { left: Identifier("x"), operator: Plus, right: Int(1) })] }))] }) }))] } }) }), Expression(Call(CallExpression { function: Identifier("counter"), arguments: [Int(1)] }))] })
[INFO] [stdout] => Environment { store: {}, outer: None }
[INFO] [stdout] 
[INFO] [stdout] Statement(Let(LetStatement { name: "counter", value: Function(FunctionLiteral { parameters: ["x"], body: BlockStatement { statements: [Expression(If(IfExpression { condition: Infix(InfixExpression { left: Identifier("x"), operator: GT, right: Int(1) }), consequence: BlockStatement { statements: [Return(ReturnStatement { value: Boolean(true) })] }, alternative: Some(BlockStatement { statements: [Expression(Call(CallExpression { function: Identifier("counter"), arguments: [Infix(InfixExpression { left: Identifier("x"), operator: Plus, right: Int(1) })] }))] }) }))] } }) }))
[INFO] [stdout] => Environment { store: {}, outer: None }
[INFO] [stdout] 
[INFO] [stdout] Expression(Function(FunctionLiteral { parameters: ["x"], body: BlockStatement { statements: [Expression(If(IfExpression { condition: Infix(InfixExpression { left: Identifier("x"), operator: GT, right: Int(1) }), consequence: BlockStatement { statements: [Return(ReturnStatement { value: Boolean(true) })] }, alternative: Some(BlockStatement { statements: [Expression(Call(CallExpression { function: Identifier("counter"), arguments: [Infix(InfixExpression { left: Identifier("x"), operator: Plus, right: Int(1) })] }))] }) }))] } }))
[INFO] [stdout] => Environment { store: {}, outer: None }
[INFO] [stdout] 
[INFO] [stdout] Statement(Expression(Call(CallExpression { function: Identifier("counter"), arguments: [Int(1)] })))
[INFO] [stdout] => Environment { store: {"counter": Function(Function { parameters: ["x"], body: BlockStatement { statements: [Expression(If(IfExpression { condition: Infix(InfixExpression { left: Identifier("x"), operator: GT, right: Int(1) }), consequence: BlockStatement { statements: [Return(ReturnStatement { value: Boolean(true) })] }, alternative: Some(BlockStatement { statements: [Expression(Call(CallExpression { function: Identifier("counter"), arguments: [Infix(InfixExpression { left: Identifier("x"), operator: Plus, right: Int(1) })] }))] }) }))] }, env: Environment { store: {}, outer: None } })}, outer: None }
[INFO] [stdout] 
[INFO] [stdout] Expression(Call(CallExpression { function: Identifier("counter"), arguments: [Int(1)] }))
[INFO] [stdout] => Environment { store: {"counter": Function(Function { parameters: ["x"], body: BlockStatement { statements: [Expression(If(IfExpression { condition: Infix(InfixExpression { left: Identifier("x"), operator: GT, right: Int(1) }), consequence: BlockStatement { statements: [Return(ReturnStatement { value: Boolean(true) })] }, alternative: Some(BlockStatement { statements: [Expression(Call(CallExpression { function: Identifier("counter"), arguments: [Infix(InfixExpression { left: Identifier("x"), operator: Plus, right: Int(1) })] }))] }) }))] }, env: Environment { store: {}, outer: None } })}, outer: None }
[INFO] [stdout] 
[INFO] [stdout] Expression(Identifier("counter"))
[INFO] [stdout] => Environment { store: {"counter": Function(Function { parameters: ["x"], body: BlockStatement { statements: [Expression(If(IfExpression { condition: Infix(InfixExpression { left: Identifier("x"), operator: GT, right: Int(1) }), consequence: BlockStatement { statements: [Return(ReturnStatement { value: Boolean(true) })] }, alternative: Some(BlockStatement { statements: [Expression(Call(CallExpression { function: Identifier("counter"), arguments: [Infix(InfixExpression { left: Identifier("x"), operator: Plus, right: Int(1) })] }))] }) }))] }, env: Environment { store: {}, outer: None } })}, outer: None }
[INFO] [stdout] 
[INFO] [stdout] Expression(Int(1))
[INFO] [stdout] => Environment { store: {"counter": Function(Function { parameters: ["x"], body: BlockStatement { statements: [Expression(If(IfExpression { condition: Infix(InfixExpression { left: Identifier("x"), operator: GT, right: Int(1) }), consequence: BlockStatement { statements: [Return(ReturnStatement { value: Boolean(true) })] }, alternative: Some(BlockStatement { statements: [Expression(Call(CallExpression { function: Identifier("counter"), arguments: [Infix(InfixExpression { left: Identifier("x"), operator: Plus, right: Int(1) })] }))] }) }))] }, env: Environment { store: {}, outer: None } })}, outer: None }
[INFO] [stdout] 
[INFO] [stdout] Statement(Block(BlockStatement { statements: [Expression(If(IfExpression { condition: Infix(InfixExpression { left: Identifier("x"), operator: GT, right: Int(1) }), consequence: BlockStatement { statements: [Return(ReturnStatement { value: Boolean(true) })] }, alternative: Some(BlockStatement { statements: [Expression(Call(CallExpression { function: Identifier("counter"), arguments: [Infix(InfixExpression { left: Identifier("x"), operator: Plus, right: Int(1) })] }))] }) }))] }))
[INFO] [stdout] => Environment { store: {"x": Int(1)}, outer: Some(Environment { store: {}, outer: None }) }
[INFO] [stdout] 
[INFO] [stdout] Statement(Expression(If(IfExpression { condition: Infix(InfixExpression { left: Identifier("x"), operator: GT, right: Int(1) }), consequence: BlockStatement { statements: [Return(ReturnStatement { value: Boolean(true) })] }, alternative: Some(BlockStatement { statements: [Expression(Call(CallExpression { function: Identifier("counter"), arguments: [Infix(InfixExpression { left: Identifier("x"), operator: Plus, right: Int(1) })] }))] }) })))
[INFO] [stdout] => Environment { store: {"x": Int(1)}, outer: Some(Environment { store: {}, outer: None }) }
[INFO] [stdout] 
[INFO] [stdout] Expression(If(IfExpression { condition: Infix(InfixExpression { left: Identifier("x"), operator: GT, right: Int(1) }), consequence: BlockStatement { statements: [Return(ReturnStatement { value: Boolean(true) })] }, alternative: Some(BlockStatement { statements: [Expression(Call(CallExpression { function: Identifier("counter"), arguments: [Infix(InfixExpression { left: Identifier("x"), operator: Plus, right: Int(1) })] }))] }) }))
[INFO] [stdout] => Environment { store: {"x": Int(1)}, outer: Some(Environment { store: {}, outer: None }) }
[INFO] [stdout] 
[INFO] [stdout] Expression(Infix(InfixExpression { left: Identifier("x"), operator: GT, right: Int(1) }))
[INFO] [stdout] => Environment { store: {"x": Int(1)}, outer: Some(Environment { store: {}, outer: None }) }
[INFO] [stdout] 
[INFO] [stdout] Expression(Int(1))
[INFO] [stdout] => Environment { store: {"x": Int(1)}, outer: Some(Environment { store: {}, outer: None }) }
[INFO] [stdout] 
[INFO] [stdout] Expression(Identifier("x"))
[INFO] [stdout] => Environment { store: {"x": Int(1)}, outer: Some(Environment { store: {}, outer: None }) }
[INFO] [stdout] 
[INFO] [stdout] Statement(Block(BlockStatement { statements: [Expression(Call(CallExpression { function: Identifier("counter"), arguments: [Infix(InfixExpression { left: Identifier("x"), operator: Plus, right: Int(1) })] }))] }))
[INFO] [stdout] => Environment { store: {"x": Int(1)}, outer: Some(Environment { store: {}, outer: None }) }
[INFO] [stdout] 
[INFO] [stdout] Statement(Expression(Call(CallExpression { function: Identifier("counter"), arguments: [Infix(InfixExpression { left: Identifier("x"), operator: Plus, right: Int(1) })] })))
[INFO] [stdout] => Environment { store: {"x": Int(1)}, outer: Some(Environment { store: {}, outer: None }) }
[INFO] [stdout] 
[INFO] [stdout] Expression(Call(CallExpression { function: Identifier("counter"), arguments: [Infix(InfixExpression { left: Identifier("x"), operator: Plus, right: Int(1) })] }))
[INFO] [stdout] => Environment { store: {"x": Int(1)}, outer: Some(Environment { store: {}, outer: None }) }
[INFO] [stdout] 
[INFO] [stdout] Expression(Identifier("counter"))
[INFO] [stdout] => Environment { store: {"x": Int(1)}, outer: Some(Environment { store: {}, outer: None }) }
[INFO] [stdout] 
[INFO] [stdout] Error: "identifier not found: counter"
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     evaluator::tests::counter
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 33 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin writing_a_compiler_in_rust_monkey`
[INFO] running `Command { std: "docker" "inspect" "82591a5f00a2b9d8f5dc38dd04f7cbfa74b39ad3d8ad649bd4fe051608d02f7c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "82591a5f00a2b9d8f5dc38dd04f7cbfa74b39ad3d8ad649bd4fe051608d02f7c", kill_on_drop: false }`
[INFO] [stdout] 82591a5f00a2b9d8f5dc38dd04f7cbfa74b39ad3d8ad649bd4fe051608d02f7c
