[INFO] cloning repository https://github.com/luigimagdamit/chai
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/luigimagdamit/chai" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fluigimagdamit%2Fchai", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fluigimagdamit%2Fchai'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ff2be8a59acb055a2ed99665df903c0d5d9f42c5
[INFO] checking luigimagdamit/chai against try#66388cc165a6c4ac98c074dc9f0281ff23528c55 for pr-150727
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fluigimagdamit%2Fchai" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/luigimagdamit/chai
[INFO] finished tweaking git repo https://github.com/luigimagdamit/chai
[INFO] tweaked toml for git repo https://github.com/luigimagdamit/chai written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/luigimagdamit/chai on toolchain 66388cc165a6c4ac98c074dc9f0281ff23528c55
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+66388cc165a6c4ac98c074dc9f0281ff23528c55" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/luigimagdamit/chai 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" "+66388cc165a6c4ac98c074dc9f0281ff23528c55" "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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+66388cc165a6c4ac98c074dc9f0281ff23528c55" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 50b191282d3a3d070221031d0556d28af8c8d877773c7891e5da01efd1d6cfd9
[INFO] running `Command { std: "docker" "start" "-a" "50b191282d3a3d070221031d0556d28af8c8d877773c7891e5da01efd1d6cfd9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "50b191282d3a3d070221031d0556d28af8c8d877773c7891e5da01efd1d6cfd9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "50b191282d3a3d070221031d0556d28af8c8d877773c7891e5da01efd1d6cfd9", kill_on_drop: false }`
[INFO] [stdout] 50b191282d3a3d070221031d0556d28af8c8d877773c7891e5da01efd1d6cfd9
[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=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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+66388cc165a6c4ac98c074dc9f0281ff23528c55" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f6f85b56182d2e71ff76b0c7631bc8b7d3888af7c23948d80254184cd2d3d6dc
[INFO] running `Command { std: "docker" "start" "-a" "f6f85b56182d2e71ff76b0c7631bc8b7d3888af7c23948d80254184cd2d3d6dc", kill_on_drop: false }`
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling proc-macro2 v1.0.92
[INFO] [stderr]     Checking futures-sink v0.3.31
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]    Compiling libc v0.2.167
[INFO] [stderr]    Compiling unicode-ident v1.0.14
[INFO] [stderr]    Compiling lock_api v0.4.12
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]     Checking pin-project-lite v0.2.15
[INFO] [stderr]     Checking sdd v3.0.4
[INFO] [stderr]     Checking once_cell v1.20.2
[INFO] [stderr]     Checking futures-channel v0.3.31
[INFO] [stderr]     Checking scc v2.2.5
[INFO] [stderr]     Checking futures-util v0.3.31
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]     Checking parking_lot_core v0.9.10
[INFO] [stderr]    Compiling syn v2.0.90
[INFO] [stderr]     Checking parking_lot v0.12.3
[INFO] [stderr]     Checking futures-executor v0.3.31
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]    Compiling serial_test_derive v3.2.0
[INFO] [stderr]     Checking serial_test v3.2.0
[INFO] [stderr]     Checking chai v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `PARSE_SUPRESS_PREDEFINES`
[INFO] [stdout]  --> src/parser/parser.rs:3:82
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::common::flags::{EMIT_VERBOSE, PARSE_EXPRESSION_MODE, PARSE_FN_OUTPUT, PARSE_SUPRESS_PREDEFINES, PARSE_TOKEN_OUTPUT};
[INFO] [stdout]   |                                                                                  ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] 
[INFO] [stdout] warning: unused import: `serial_test::serial`
[INFO] [stdout]  --> src/parser/tests/test_if.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 |     use serial_test::serial;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] thread 'rustc' (349) panicked at /rustc-dev/66388cc165a6c4ac98c074dc9f0281ff23528c55/compiler/rustc_ast/src/attr/mod.rs:302:36:
[INFO] [stdout] warning: unused import: `crate::parser::parser::Parser`
[INFO] [stdout]  --> src/parser/tests/test_if.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use crate::parser::parser::Parser;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] attribute is missing tokens: Attribute { kind: Normal(NormalAttr { item: AttrItem { unsafety: Default, path: Path { span: src/parser/tests/test_if.rs:7:5: 7:12 (#416), segments: [PathSegment { ident: <test_trace>#416, id: NodeId(4294967040), args: None }], tokens: None }, args: Unparsed(Empty), tokens: None }, tokens: None }), id: AttrId(379), style: Outer, span: src/parser/tests/test_if.rs:7:5: 7:12 (#416) }
[INFO] [stdout] warning: unused import: `crate::jit::compile_test::jit_compile`
[INFO] [stdout]  --> src/parser/tests/test_if.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use crate::jit::compile_test::jit_compile;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] stack backtrace:
[INFO] [stdout] warning: unused imports: `IRBackend` and `init_backend_config_for_test`
[INFO] [stdout]  --> src/parser/tests/test_if.rs:5:42
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use crate::codegen::backend_config::{init_backend_config_for_test, IRBackend};
[INFO] [stdout]   |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    0:     0x752c6c22bfa3 - <<std[7d609349af90bec6]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[75ca2badb63c4514]::fmt::Display>::fmt
[INFO] [stdout] warning: unused import: `PrimitivesIR`
[INFO] [stdout]  --> src/parser/primitives/literal.rs:6:48
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::codegen::primitives_ir::{BooleanIR, PrimitivesIR};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    1:     0x752c6c80fb48 - core[75ca2badb63c4514]::fmt::write
[INFO] [stdout] warning: unused import: `PrimitivesIR`
[INFO] [stdout]  --> src/parser/primitives/number.rs:5:47
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::codegen::primitives_ir::{NumberIR, PrimitivesIR};
[INFO] [stdout]   |                                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    2:     0x752c6c242226 - <std[7d609349af90bec6]::sys::stdio::unix::Stderr as std[7d609349af90bec6]::io::Write>::write_fmt
[INFO] [stdout] warning: unused import: `PrimitivesIR`
[INFO] [stdout]  --> src/parser/primitives/string.rs:5:47
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::codegen::primitives_ir::{StringIR, PrimitivesIR};
[INFO] [stdout]   |                                               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    3:     0x752c6c201b98 - std[7d609349af90bec6]::panicking::default_hook::{closure#0}
[INFO] [stdout] warning: unused imports: `ExprNode` and `VariableExpression`
[INFO] [stdout]  --> src/parser/primitives/array.rs:2:90
[INFO] [stdout]   |
[INFO] [stdout] 2 | ...pression, ParseError, ArrayExpression, VariableExpression, TempRegisterExpression, ExprNode};
[INFO] [stdout]   |                                           ^^^^^^^^^^^^^^^^^^                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    4:     0x752c6c21f833 - std[7d609349af90bec6]::panicking::default_hook
[INFO] [stdout] warning: unused import: `crate::parser::expression::expression::parse_precedence`
[INFO] [stdout]  --> src/parser/primitives/array.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::parser::expression::expression::parse_precedence;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    5:     0x752c6b20236a - std[7d609349af90bec6]::panicking::update_hook::<alloc[d7482eb0f1d19161]::boxed::Box<rustc_driver_impl[3f9d6dd912ac34bd]::install_ice_hook::{closure#1}>>::{closure#0}
[INFO] [stdout] warning: unused import: `crate::parser::expression::precedence::Precedence`
[INFO] [stdout]  --> src/parser/primitives/array.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::parser::expression::precedence::Precedence;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    6:     0x752c6c21fb12 - std[7d609349af90bec6]::panicking::panic_with_hook
[INFO] [stdout] warning: unused import: `Operation`
[INFO] [stdout]  --> src/parser/declaration/declaration.rs:2:61
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::parser::expression::expr::{DataType, Expression, Operation};
[INFO] [stdout]   |                                                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    7:     0x752c6c201c58 - std[7d609349af90bec6]::panicking::panic_handler::{closure#0}
[INFO] [stdout] warning: unused import: `crate::parser::expression::expr::ExprNode`
[INFO] [stdout]  --> src/parser/declaration/declaration.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::parser::expression::expr::ExprNode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    8:     0x752c6c1f89a9 - std[7d609349af90bec6]::sys::backtrace::__rust_end_short_backtrace::<std[7d609349af90bec6]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout] warning: unused imports: `LlvmConditional as LlvmIf` and `LlvmLoop as LlvmWhile`
[INFO] [stdout]   --> src/parser/conditional/if_statement.rs:21:35
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub use crate::codegen::llvm_ir::{LlvmConditional as LlvmIf, LlvmLoop as LlvmWhile};
[INFO] [stdout]    |                                   ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    9:     0x752c6c20372d - __rustc[69841a6cbc58d81d]::rust_begin_unwind
[INFO] [stdout] warning: unused imports: `Expression` and `Operation`
[INFO] [stdout]  --> src/parser/visitor/print_visitor.rs:1:73
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::parser::expression::expr::{DataType, Binary, StringConstant, Expression, Operation, VariableExpression, ArrayExpression, T...
[INFO] [stdout]   |                                                                         ^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]   10:     0x752c68e38f9c - core[75ca2badb63c4514]::panicking::panic_fmt
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/jit/compile.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs::{self, File};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]   11:     0x752c6d5e0110 - <rustc_ast[333fca09df5738a4]::ast::Attribute>::token_trees
[INFO] [stdout] warning: unused import: `llvm_main_close`
[INFO] [stdout]  --> src/jit/compile.rs:5:52
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::llvm::llvm_print::{llvm_fmt_string_int, llvm_main_close, llvm_main_start, llvm_print_bool_declare, llvm_print_define, llvm...
[INFO] [stdout]   |                                                    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]   12:     0x752c6de1c314 - <rustc_expand[a01ffc1bf52c2613]::expand::MacroExpander>::fully_expand_fragment
[INFO] [stdout] warning: unused import: `serial_test::serial`
[INFO] [stdout]  --> src/jit/test_jit.rs:2:9
[INFO] [stdout]   |
[INFO] [stdout] 2 |     use serial_test::serial;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]   13:     0x752c6dde65d2 - <rustc_expand[a01ffc1bf52c2613]::expand::MacroExpander>::expand_crate
[INFO] [stdout] warning: unused import: `crate::parser::parser::Parser`
[INFO] [stdout]  --> src/jit/test_jit.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use crate::parser::parser::Parser;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]   14:     0x752c6cef0af3 - rustc_interface[903e43df8d6bd657]::passes::configure_and_expand
[INFO] [stdout] warning: unused import: `crate::jit::compile_test::jit_compile`
[INFO] [stdout]  --> src/jit/test_jit.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use crate::jit::compile_test::jit_compile;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]   15:     0x752c6da07658 - rustc_interface[903e43df8d6bd657]::passes::resolver_for_lowering_raw
[INFO] [stdout] warning: unused imports: `IRBackend` and `init_backend_config_for_test`
[INFO] [stdout]  --> src/jit/test_jit.rs:5:42
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use crate::codegen::backend_config::{init_backend_config_for_test, IRBackend};
[INFO] [stdout]   |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]   16:     0x752c6da073cd - rustc_query_impl[8c5349e00d64015e]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[8c5349e00d64015e]::query_impl::resolver_for_lowering_raw::dynamic_query::{closure#2}::{closure#0}, rustc_middle[2342951a64deba5]::query::erase::Erased<[u8; 16usize]>>
[INFO] [stdout] warning: unused imports: `Write` and `self`
[INFO] [stdout]  --> src/jit/test_jit.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use std::io::{self, Write};
[INFO] [stdout]   |                   ^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]   17:     0x752c6da073a7 - <rustc_query_impl[8c5349e00d64015e]::query_impl::resolver_for_lowering_raw::dynamic_query::{closure#2} as core[75ca2badb63c4514]::ops::function::FnOnce<(rustc_middle[2342951a64deba5]::ty::context::TyCtxt, ())>>::call_once
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/jit/compile_test.rs:1:15
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::fs::{self, File};
[INFO] [stdout]   |               ^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/jit/mod.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod compile_test;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]   18:     0x752c6d9ecb5f - rustc_query_system[d45be4fb383a0235]::query::plumbing::try_execute_query::<rustc_query_impl[8c5349e00d64015e]::DynamicConfig<rustc_query_system[d45be4fb383a0235]::query::caches::SingleCache<rustc_middle[2342951a64deba5]::query::erase::Erased<[u8; 16usize]>>, false, false, false>, rustc_query_impl[8c5349e00d64015e]::plumbing::QueryCtxt, false>
[INFO] [stdout] warning: unused import: `llvm_main_close`
[INFO] [stdout]  --> src/jit/compile_test.rs:5:52
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::llvm::llvm_print::{llvm_fmt_string_int, llvm_main_close, llvm_main_start, llvm_print_bool_declare, llvm_print_define, llvm...
[INFO] [stdout]   |                                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module
[INFO] [stdout]  --> src/jit/mod.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub mod compile_test;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]   19:     0x752c6d9ec6bc - rustc_query_impl[8c5349e00d64015e]::query_impl::resolver_for_lowering_raw::get_query_non_incr::__rust_end_short_backtrace
[INFO] [stdout] warning: unused imports: `Binary`, `DataType`, `Operation`, and `StringConstant`
[INFO] [stdout]  --> src/codegen/codegen_print.rs:1:39
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::parser::expression::expr::{DataType, Binary, StringConstant, Expression, Operation, VariableExpression};
[INFO] [stdout]   |                                       ^^^^^^^^  ^^^^^^  ^^^^^^^^^^^^^^              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]   20:     0x752c6db7127b - <rustc_interface[903e43df8d6bd657]::passes::create_and_enter_global_ctxt<core[75ca2badb63c4514]::option::Option<rustc_interface[903e43df8d6bd657]::queries::Linker>, rustc_driver_impl[3f9d6dd912ac34bd]::run_compiler::{closure#0}::{closure#2}>::{closure#2} as core[75ca2badb63c4514]::ops::function::FnOnce<(&rustc_session[1e6875ba352dc1ba]::session::Session, rustc_middle[2342951a64deba5]::ty::context::CurrentGcx, alloc[d7482eb0f1d19161]::sync::Arc<rustc_data_structures[c82a87ce5cdbfc92]::jobserver::Proxy>, &std[7d609349af90bec6]::sync::once_lock::OnceLock<rustc_middle[2342951a64deba5]::ty::context::GlobalCtxt>, &rustc_data_structures[c82a87ce5cdbfc92]::sync::worker_local::WorkerLocal<rustc_middle[2342951a64deba5]::arena::Arena>, &rustc_data_structures[c82a87ce5cdbfc92]::sync::worker_local::WorkerLocal<rustc_hir[cc727ec2ba6ebdb5]::Arena>, rustc_driver_impl[3f9d6dd912ac34bd]::run_compiler::{closure#0}::{closure#2})>>::call_once::{shim:vtable#0}
[INFO] [stdout] warning: unused import: `PrintStatement`
[INFO] [stdout]  --> src/codegen/codegen_print.rs:2:68
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::parser::declaration::declaration::{VariableDeclaration, PrintStatement};
[INFO] [stdout]   |                                                                    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]   21:     0x752c6da5ac98 - rustc_interface[903e43df8d6bd657]::interface::run_compiler::<(), rustc_driver_impl[3f9d6dd912ac34bd]::run_compiler::{closure#0}>::{closure#1}
[INFO] [stdout] warning: unused imports: `Binary`, `Operation`, and `StringConstant`
[INFO] [stdout]  --> src/codegen/llvm_codegen.rs:1:49
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::parser::expression::expr::{DataType, Binary, StringConstant, Expression, Operation, VariableExpression};
[INFO] [stdout]   |                                                 ^^^^^^  ^^^^^^^^^^^^^^              ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]   22:     0x752c6d8eac4e - std[7d609349af90bec6]::sys::backtrace::__rust_begin_short_backtrace::<rustc_interface[903e43df8d6bd657]::util::run_in_thread_with_globals<rustc_interface[903e43df8d6bd657]::util::run_in_thread_pool_with_globals<rustc_interface[903e43df8d6bd657]::interface::run_compiler<(), rustc_driver_impl[3f9d6dd912ac34bd]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>
[INFO] [stdout] warning: unused import: `PrintStatement`
[INFO] [stdout]  --> src/codegen/llvm_codegen.rs:2:68
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::parser::declaration::declaration::{VariableDeclaration, PrintStatement};
[INFO] [stdout]   |                                                                    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]   23:     0x752c6d8eaa20 - <std[7d609349af90bec6]::thread::lifecycle::spawn_unchecked<rustc_interface[903e43df8d6bd657]::util::run_in_thread_with_globals<rustc_interface[903e43df8d6bd657]::util::run_in_thread_pool_with_globals<rustc_interface[903e43df8d6bd657]::interface::run_compiler<(), rustc_driver_impl[3f9d6dd912ac34bd]::run_compiler::{closure#0}>::{closure#1}, ()>::{closure#0}, ()>::{closure#0}::{closure#0}, ()>::{closure#1} as core[75ca2badb63c4514]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout] warning: unused import: `get_current_backend`
[INFO] [stdout]   --> src/main.rs:13:63
[INFO] [stdout]    |
[INFO] [stdout] 13 | use codegen::backend_config::{IRBackend, init_backend_config, get_current_backend};
[INFO] [stdout]    |                                                               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]   24:     0x752c6d8ed138 - <std[7d609349af90bec6]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stderr]   25:     0x752c6748aaa4 - <unknown>
[INFO] [stderr]   26:     0x752c67517a64 - clone
[INFO] [stderr]   27:                0x0 - <unknown>
[INFO] [stderr] 
[INFO] [stderr] error: the compiler unexpectedly panicked. this is a bug.
[INFO] [stderr] 
[INFO] [stderr] note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md
[INFO] [stderr] 
[INFO] [stderr] note: please make sure that you have updated to the latest nightly
[INFO] [stderr] 
[INFO] [stderr] warning: the ICE couldn't be written to `/opt/rustwide/workdir/rustc-ice-2026-01-09T18_21_27-346.txt`: Read-only file system (os error 30)
[INFO] [stderr] 
[INFO] [stderr] note: rustc 1.94.0-nightly (66388cc16 2026-01-08) running on x86_64-unknown-linux-gnu
[INFO] [stderr] 
[INFO] [stderr] note: compiler flags: -C embed-bitcode=no -C debuginfo=2
[INFO] [stderr] 
[INFO] [stderr] note: some of the compiler flags provided by cargo are hidden
[INFO] [stderr] 
[INFO] [stderr] query stack during panic:
[INFO] [stderr] #0 [resolver_for_lowering_raw] getting the resolver for lowering
[INFO] [stderr] end of query stack
[INFO] [stderr] error: could not compile `chai` (bin "chai" test)
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/rustup-home/toolchains/66388cc165a6c4ac98c074dc9f0281ff23528c55/bin/rustc --crate-name chai --edition=2021 src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --emit=dep-info,metadata -C embed-bitcode=no -C debuginfo=2 --test --check-cfg 'cfg(docsrs,test)' --check-cfg 'cfg(feature, values())' -C metadata=fcf09b22a91cb0e4 -C extra-filename=-217fe942ab37607b --out-dir /opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern serial_test=/opt/rustwide/target/debug/deps/libserial_test-6d63e4e0b283703c.rmeta --cap-lints=forbid` (exit status: 101)
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused import: `BranchIR`
[INFO] [stdout]   --> src/parser/conditional/if_statement.rs:10:33
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::codegen::ir_traits::{BranchIR, ConditionalIR};
[INFO] [stdout]    |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BranchIR`
[INFO] [stdout]  --> src/parser/conditional/while_statement.rs:8:33
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::codegen::ir_traits::{BranchIR, LoopIR};
[INFO] [stdout]   |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expr_datatype`
[INFO] [stdout]    --> src/parser/declaration/variable.rs:155:13
[INFO] [stdout]     |
[INFO] [stdout] 155 |         let expr_datatype = expr.as_datatype();
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expr_datatype`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out_clone`
[INFO] [stdout]   --> src/jit/compile.rs:59:25
[INFO] [stdout]    |
[INFO] [stdout] 59 |                     let out_clone = stdout.clone();
[INFO] [stdout]    |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_out_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `out_clone`
[INFO] [stdout]   --> src/jit/compile_test.rs:59:25
[INFO] [stdout]    |
[INFO] [stdout] 59 |                     let out_clone = stdout.clone();
[INFO] [stdout]    |                         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_out_clone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `res`
[INFO] [stdout]   --> src/jit/compile_test.rs:69:37
[INFO] [stdout]    |
[INFO] [stdout] 69 | ...                   let res = stdout.to_string();
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_res`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/codegen/llvm_codegen.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 28 |                 _ => panic!("Unsupported data type for storing variables")
[INFO] [stdout]    |                 ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/codegen/llvm_codegen.rs:28:17
[INFO] [stdout]    |
[INFO] [stdout] 20 |                 DataType::Integer(_) => format!("store i32 {}, i32* %{}", expr.resolve_operand(), dec.name),
[INFO] [stdout]    |                 -------------------- matches some of the same values
[INFO] [stdout] 21 |                 DataType::Boolean(_) => format!("store i1 {}, i1* %{}", expr.resolve_operand(), dec.name),
[INFO] [stdout]    |                 -------------------- matches some of the same values
[INFO] [stdout] 22 |                 DataType::String(_) => format!("store i8* {}, i8** %{}", expr.resolve_operand(), dec.name),
[INFO] [stdout]    |                 ------------------- matches some of the same values
[INFO] [stdout] 23 |                 DataType::Array(_, _) => {
[INFO] [stdout]    |                 --------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 28 |                 _ => panic!("Unsupported data type for storing variables")
[INFO] [stdout]    |                 ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `else_if_index`
[INFO] [stdout]   --> src/codegen/ir_traits.rs:27:45
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn else_if_branch(&self, bool_reg: u32, else_if_index: u32) -> String {
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_else_if_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ptr_reg`
[INFO] [stdout]   --> src/codegen/llvm_expr_ir.rs:94:17
[INFO] [stdout]    |
[INFO] [stdout] 94 |             let ptr_reg = format!("ptr_{}", i);
[INFO] [stdout]    |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ptr_reg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_type` is never used
[INFO] [stdout]   --> src/parser/expression/expr.rs:94:8
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub trait ExprNode {
[INFO] [stdout]    |           -------- method in this trait
[INFO] [stdout] 93 |     fn get_value(&self) -> String; // get resolved expr value
[INFO] [stdout] 94 |     fn get_type(&self) -> &str; // get datatype as a str
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `empty_array` and `array_from_elements` are never used
[INFO] [stdout]    --> src/parser/expression/expr.rs:248:12
[INFO] [stdout]     |
[INFO] [stdout] 238 | impl DataType {
[INFO] [stdout]     | ------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub fn empty_array(element_type: DataType, size: usize) -> DataType {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     pub fn array_from_elements(elements: Vec<DataType>) -> DataType {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `new_array` and `empty_array` are never used
[INFO] [stdout]    --> src/parser/expression/expr.rs:396:12
[INFO] [stdout]     |
[INFO] [stdout] 391 | impl Expression {
[INFO] [stdout]     | --------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 396 |     pub fn new_array(name: String, elements: Vec<Expression>, element_type: DataType, size: usize, register: usize) -> Expression {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 400 |     pub fn empty_array(name: String, element_type: DataType, size: usize, register: usize) -> Expression {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `left` is never read
[INFO] [stdout]    --> src/parser/expression/expr.rs:495:9
[INFO] [stdout]     |
[INFO] [stdout] 494 | pub struct Expr {
[INFO] [stdout]     |            ---- field in this struct
[INFO] [stdout] 495 |     pub left: String,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expr` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `binary_operands` is never used
[INFO] [stdout]   --> src/parser/tests/test_ast.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn binary_operands(bin: Binary) -> (Expression, Expression) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_operand_value_int` is never used
[INFO] [stdout]   --> src/parser/tests/test_ast.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub fn test_operand_value_int(expr: Expression, value: i32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/parser/core/ast_node.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 |     Declaration(Declaration),
[INFO] [stdout]   |     ----------- ^^^^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `AstNode` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 7 -     Declaration(Declaration),
[INFO] [stdout] 7 +     Declaration(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `then_block`, `else_ifs`, and `else_block` are never read
[INFO] [stdout]   --> src/parser/declaration/declaration.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct ConditionalStatement {
[INFO] [stdout]    |            -------------------- fields in this struct
[INFO] [stdout] 33 |     pub condition: Expression,
[INFO] [stdout] 34 |     pub then_block: Vec<Declaration>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 35 |     pub else_ifs: Vec<ElseIfClause>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 36 |     pub else_block: Option<Vec<Declaration>>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConditionalStatement` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `condition` and `block` are never read
[INFO] [stdout]   --> src/parser/declaration/declaration.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct ElseIfClause {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 41 |     pub condition: Expression,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 42 |     pub block: Vec<Declaration>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ElseIfClause` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_else`, and `with_else_if` are never used
[INFO] [stdout]   --> src/parser/declaration/declaration.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl ConditionalStatement {
[INFO] [stdout]    | ------------------------- associated items in this implementation
[INFO] [stdout] 69 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     pub fn with_else(mut self, else_block: Vec<Declaration>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 |     pub fn with_else_if(mut self, condition: Expression, block: Vec<Declaration>) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/parser/declaration/declaration.rs:93:12
[INFO] [stdout]    |
[INFO] [stdout] 92 | impl ElseIfClause {
[INFO] [stdout]    | ----------------- associated function in this implementation
[INFO] [stdout] 93 |     pub fn new(condition: Expression, block: Vec<Declaration>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_variable` is never used
[INFO] [stdout]    --> src/parser/declaration/declaration.rs:173:12
[INFO] [stdout]     |
[INFO] [stdout] 165 | impl Declaration {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn as_variable(&self) -> &VariableDeclaration {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `then_block`, `else_ifs`, and `else_block` are never read
[INFO] [stdout]   --> src/parser/conditional/if_statement.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct ConditionalParser {
[INFO] [stdout]    |        ----------------- fields in this struct
[INFO] [stdout] 26 |     condition: Option<Expr>,
[INFO] [stdout] 27 |     then_block: Vec<Declaration>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 28 |     else_ifs: Vec<ElseIfClause>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 29 |     else_block: Option<Vec<Declaration>>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PARSE_CONSTANT_FOLD` is never used
[INFO] [stdout]   --> src/common/flags.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub const PARSE_CONSTANT_FOLD: bool = false; // toggles constant folding in math operations such as 1 * 2 - 3 etc.
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LlvmTempVar` is never constructed
[INFO] [stdout]  --> src/llvm/instructions.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct LlvmTempVar {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `LlvmExpression` is never used
[INFO] [stdout]  --> src/llvm/instructions.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum LlvmExpression {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `chai_title` is never used
[INFO] [stdout]  --> src/jit/compile_test.rs:7:4
[INFO] [stdout]   |
[INFO] [stdout] 7 | fn chai_title() -> String {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `jit_compile` is never used
[INFO] [stdout]   --> src/jit/compile_test.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn jit_compile(source: &str) -> io::Result<String>{
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `var_expr` is never used
[INFO] [stdout]   --> src/codegen/codegen_print.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub trait CodegenPrint {
[INFO] [stdout]    |           ------------ associated function in this trait
[INFO] [stdout] ...
[INFO] [stdout] 10 |     fn var_expr(expr: &VariableExpression) -> String;
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load` is never used
[INFO] [stdout]   --> src/codegen/llvm_codegen.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn load(var_expr: &VariableExpression) -> String {
[INFO] [stdout]    |    ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `store` is never used
[INFO] [stdout]   --> src/codegen/llvm_codegen.rs:58:4
[INFO] [stdout]    |
[INFO] [stdout] 58 | fn store() {
[INFO] [stdout]    |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `InstructionType` is never used
[INFO] [stdout]   --> src/codegen/llvm_codegen.rs:86:6
[INFO] [stdout]    |
[INFO] [stdout] 86 | enum InstructionType {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_str` is never used
[INFO] [stdout]   --> src/codegen/llvm_codegen.rs:92:8
[INFO] [stdout]    |
[INFO] [stdout] 91 | impl InstructionType {
[INFO] [stdout]    | -------------------- method in this implementation
[INFO] [stdout] 92 |     fn as_str(&self) -> &str {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `depth` is never used
[INFO] [stdout]  --> src/codegen/ir_traits.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub trait BranchIR {
[INFO] [stdout]   |           -------- method in this trait
[INFO] [stdout] 5 |     /// Get the depth/nesting level of this branch
[INFO] [stdout] 6 |     fn depth(&self) -> u32;
[INFO] [stdout]   |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `else_if_branch` and `else_if_label` are never used
[INFO] [stdout]   --> src/codegen/ir_traits.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub trait ConditionalIR: BranchIR {
[INFO] [stdout]    |           ------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 27 |     fn else_if_branch(&self, bool_reg: u32, else_if_index: u32) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     fn else_if_label(&self, else_if_index: u32) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `IRFactory` is never used
[INFO] [stdout]   --> src/codegen/ir_traits.rs:58:11
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub trait IRFactory {
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LlvmIRFactory` is never constructed
[INFO] [stdout]   --> src/codegen/llvm_ir.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub struct LlvmIRFactory;
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CIRFactory` is never constructed
[INFO] [stdout]   --> src/codegen/c_ir.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub struct CIRFactory;
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `array_type` is never used
[INFO] [stdout]   --> src/codegen/expr_ir.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub trait TypeIR {
[INFO] [stdout]    |           ------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 18 |     fn array_type(&self, element_type: &str, size: usize) -> String;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `array_alloca`, `array_element_ptr`, `array_element_load`, `array_element_store`, and `array_init` are never used
[INFO] [stdout]   --> src/codegen/expr_ir.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub trait ArrayIR {
[INFO] [stdout]    |           ------- methods in this trait
[INFO] [stdout] 61 |     /// Generate array allocation instruction
[INFO] [stdout] 62 |     fn array_alloca(&self, element_type: &str, size: usize, register: usize) -> String;
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     fn array_element_ptr(&self, array_ptr: &str, element_type: &str, index: usize, result_reg: usize) -> String;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     fn array_element_load(&self, element_ptr: &str, element_type: &str, result_reg: usize) -> String;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     fn array_element_store(&self, value: &str, element_ptr: &str, element_type: &str) -> String;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     fn array_init(&self, array_ptr: &str, values: &[String], element_type: &str) -> String;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `register_ref` is never used
[INFO] [stdout]   --> src/codegen/expr_ir.rs:95:8
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub trait ExpressionIR: TypeIR + BinaryOpIR + LiteralIR + PrintIR + ArrayIR {
[INFO] [stdout]    |           ------------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 95 |     fn register_ref(&self, register: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ExprIRFactory` is never used
[INFO] [stdout]    --> src/codegen/expr_ir.rs:101:11
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub trait ExprIRFactory {
[INFO] [stdout]     |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LlvmExprIRFactory` is never constructed
[INFO] [stdout]    --> src/codegen/llvm_expr_ir.rs:110:12
[INFO] [stdout]     |
[INFO] [stdout] 110 | pub struct LlvmExprIRFactory;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CExprIRFactory` is never constructed
[INFO] [stdout]    --> src/codegen/c_expr_ir.rs:115:12
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub struct CExprIRFactory;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `generate_preamble` is never used
[INFO] [stdout]   --> src/codegen/parser_ir.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub trait ParserIR {
[INFO] [stdout]    |           -------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 11 |     fn generate_preamble(&self) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `string_literal` is never used
[INFO] [stdout]   --> src/codegen/primitives_ir.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub trait StringIR {
[INFO] [stdout]    |           -------- method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 11 |     fn string_literal(&self, register: usize, length: usize, index: usize) -> String;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `PrimitivesIR` is never used
[INFO] [stdout]   --> src/codegen/primitives_ir.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub trait PrimitivesIR: StringIR + NumberIR + BooleanIR {}
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_backend_config_for_test` is never used
[INFO] [stdout]   --> src/codegen/backend_config.rs:47:8
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub fn init_backend_config_for_test(backend: IRBackend) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_backend` is never used
[INFO] [stdout]   --> src/codegen/backend_config.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn set_backend(backend: IRBackend) {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/main.rs:186:9
[INFO] [stdout]     |
[INFO] [stdout] 186 |         repl();
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 186 |         let _ = repl();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/parser/parser.rs:62:51
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub fn init_parser(source: &'a str) -> Parser<'_> {
[INFO] [stdout]    |                                 --                ^^ the same lifetime is elided here
[INFO] [stdout]    |                                 |
[INFO] [stdout]    |                                 the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 62 -     pub fn init_parser(source: &'a str) -> Parser<'_> {
[INFO] [stdout] 62 +     pub fn init_parser(source: &'a str) -> Parser<'a> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "f6f85b56182d2e71ff76b0c7631bc8b7d3888af7c23948d80254184cd2d3d6dc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f6f85b56182d2e71ff76b0c7631bc8b7d3888af7c23948d80254184cd2d3d6dc", kill_on_drop: false }`
[INFO] [stdout] f6f85b56182d2e71ff76b0c7631bc8b7d3888af7c23948d80254184cd2d3d6dc
