[INFO] cloning repository https://github.com/DenverLacey/Rox
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/DenverLacey/Rox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDenverLacey%2FRox", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDenverLacey%2FRox'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2c805e7d2959bcf69e8703212184930c98ce83e0
[INFO] checking DenverLacey/Rox against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDenverLacey%2FRox" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/DenverLacey/Rox
[INFO] finished tweaking git repo https://github.com/DenverLacey/Rox
[INFO] tweaked toml for git repo https://github.com/DenverLacey/Rox written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/DenverLacey/Rox on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/DenverLacey/Rox 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.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded phf_macros v0.11.1
[INFO] [stderr]   Downloaded debug_print v1.0.0
[INFO] [stderr]   Downloaded enum-tags v0.1.0
[INFO] [stderr]   Downloaded enum-tags-macros v0.1.0
[INFO] [stderr]   Downloaded enum-tags-traits v0.1.0
[INFO] [stderr]   Downloaded object v0.30.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9e4488ab16da0fc4ffb5cd68aa1893625222c0d86a9d388a23dfc468bc1dcb92
[INFO] running `Command { std: "docker" "start" "-a" "9e4488ab16da0fc4ffb5cd68aa1893625222c0d86a9d388a23dfc468bc1dcb92", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9e4488ab16da0fc4ffb5cd68aa1893625222c0d86a9d388a23dfc468bc1dcb92", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9e4488ab16da0fc4ffb5cd68aa1893625222c0d86a9d388a23dfc468bc1dcb92", kill_on_drop: false }`
[INFO] [stdout] 9e4488ab16da0fc4ffb5cd68aa1893625222c0d86a9d388a23dfc468bc1dcb92
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e1c162fd36819bd677880f26b7a7c2316061fe1040bd68dcff1743f379b007a9
[INFO] running `Command { std: "docker" "start" "-a" "e1c162fd36819bd677880f26b7a7c2316061fe1040bd68dcff1743f379b007a9", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.105
[INFO] [stderr]    Compiling once_cell v1.16.0
[INFO] [stderr]    Compiling regex-syntax v0.6.28
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling cc v1.0.78
[INFO] [stderr]    Compiling siphasher v0.3.10
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]     Checking gimli v0.27.0
[INFO] [stderr]    Compiling ahash v0.7.6
[INFO] [stderr]     Checking miniz_oxide v0.6.2
[INFO] [stderr]     Checking rustc-demangle v0.1.21
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking is_ci v1.1.1
[INFO] [stderr]     Checking unicode-width v0.1.10
[INFO] [stderr]     Checking smawk v0.3.1
[INFO] [stderr]     Checking phf_shared v0.11.1
[INFO] [stderr]     Checking supports-hyperlinks v1.2.0
[INFO] [stderr]     Checking supports-color v1.3.1
[INFO] [stderr]     Checking supports-unicode v1.0.2
[INFO] [stderr]     Checking terminal_size v0.1.17
[INFO] [stderr]     Checking owo-colors v3.5.0
[INFO] [stderr]     Checking enum-tags-traits v0.1.0
[INFO] [stderr]     Checking debug_print v1.0.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling hashbrown v0.12.3
[INFO] [stderr]     Checking object v0.30.0
[INFO] [stderr]    Compiling backtrace v0.3.67
[INFO] [stderr]    Compiling phf_generator v0.11.1
[INFO] [stderr]    Compiling aho-corasick v0.7.20
[INFO] [stderr]    Compiling regex v1.7.0
[INFO] [stderr]     Checking addr2line v0.19.0
[INFO] [stderr]    Compiling unicode-linebreak v0.1.4
[INFO] [stderr]    Compiling thiserror-impl v1.0.38
[INFO] [stderr]    Compiling enum-tags-macros v0.1.0
[INFO] [stderr]    Compiling phf_macros v0.11.1
[INFO] [stderr]    Compiling miette-derive v5.5.0
[INFO] [stderr]     Checking enum-tags v0.1.0
[INFO] [stderr]     Checking textwrap v0.15.2
[INFO] [stderr]     Checking phf v0.11.1
[INFO] [stderr]     Checking thiserror v1.0.38
[INFO] [stderr]     Checking miette v5.5.0
[INFO] [stderr]     Checking rox v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/canon/resolve_deps.rs:316:25
[INFO] [stdout]     |
[INFO] [stdout] 316 |             AstInfo::Fn(info) => todo!(),
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/canon/resolve_deps.rs:331:29
[INFO] [stdout]     |
[INFO] [stdout] 331 |             AstInfo::Struct(info) => todo!(),
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/canon/resolve_deps.rs:332:27
[INFO] [stdout]     |
[INFO] [stdout] 332 |             AstInfo::Enum(info) => todo!(),
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/canon/resolve_deps.rs:339:29
[INFO] [stdout]     |
[INFO] [stdout] 339 |             AstInfo::Import(info) => todo!(),
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/canon/resolve_deps.rs:316:25
[INFO] [stdout]     |
[INFO] [stdout] 316 |             AstInfo::Fn(info) => todo!(),
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/canon/resolve_deps.rs:331:29
[INFO] [stdout]     |
[INFO] [stdout] 331 |             AstInfo::Struct(info) => todo!(),
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/canon/resolve_deps.rs:332:27
[INFO] [stdout]     |
[INFO] [stdout] 332 |             AstInfo::Enum(info) => todo!(),
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/canon/resolve_deps.rs:339:29
[INFO] [stdout]     |
[INFO] [stdout] 339 |             AstInfo::Import(info) => todo!(),
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func`
[INFO] [stdout]    --> src/codegen/compile.rs:492:42
[INFO] [stdout]     |
[INFO] [stdout] 492 |                         ScopeBinding::Fn(func) => todo!(),
[INFO] [stdout]     |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_func`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ`
[INFO] [stdout]    --> src/codegen/compile.rs:493:44
[INFO] [stdout]     |
[INFO] [stdout] 493 |                         ScopeBinding::Type(typ) => todo!(),
[INFO] [stdout]     |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_typ`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ`
[INFO] [stdout]    --> src/codegen/compile.rs:613:32
[INFO] [stdout]     |
[INFO] [stdout] 613 |             AstInfo::TypeValue(typ) => todo!(),
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_typ`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ`
[INFO] [stdout]    --> src/codegen/compile.rs:682:32
[INFO] [stdout]     |
[INFO] [stdout] 682 |             ScopeBinding::Type(typ) => {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_typ`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/codegen/compile.rs:760:9
[INFO] [stdout]     |
[INFO] [stdout] 760 |         token: &Token,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `it`
[INFO] [stdout]    --> src/codegen/compile.rs:936:58
[INFO] [stdout]     |
[INFO] [stdout] 936 |                 info: AstInfo::Binary(AstBinaryKind::In, it, seq),
[INFO] [stdout]     |                                                          ^^ help: if this is intentional, prefix it with an underscore: `_it`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seq`
[INFO] [stdout]    --> src/codegen/compile.rs:936:62
[INFO] [stdout]     |
[INFO] [stdout] 936 |                 info: AstInfo::Binary(AstBinaryKind::In, it, seq),
[INFO] [stdout]     |                                                              ^^^ help: if this is intentional, prefix it with an underscore: `_seq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func`
[INFO] [stdout]    --> src/codegen/compile.rs:492:42
[INFO] [stdout]     |
[INFO] [stdout] 492 |                         ScopeBinding::Fn(func) => todo!(),
[INFO] [stdout]     |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_func`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ`
[INFO] [stdout]    --> src/codegen/compile.rs:493:44
[INFO] [stdout]     |
[INFO] [stdout] 493 |                         ScopeBinding::Type(typ) => todo!(),
[INFO] [stdout]     |                                            ^^^ help: if this is intentional, prefix it with an underscore: `_typ`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ`
[INFO] [stdout]    --> src/codegen/compile.rs:613:32
[INFO] [stdout]     |
[INFO] [stdout] 613 |             AstInfo::TypeValue(typ) => todo!(),
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_typ`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `typ`
[INFO] [stdout]    --> src/codegen/compile.rs:682:32
[INFO] [stdout]     |
[INFO] [stdout] 682 |             ScopeBinding::Type(typ) => {
[INFO] [stdout]     |                                ^^^ help: if this is intentional, prefix it with an underscore: `_typ`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/codegen/compile.rs:760:9
[INFO] [stdout]     |
[INFO] [stdout] 760 |         token: &Token,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]     --> src/codegen/compile.rs:1386:43
[INFO] [stdout]      |
[INFO] [stdout] 1386 |     fn compile_subscript_slice(&mut self, node: &Ast) -> Result<()> {
[INFO] [stdout]      |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `it`
[INFO] [stdout]    --> src/codegen/compile.rs:936:58
[INFO] [stdout]     |
[INFO] [stdout] 936 |                 info: AstInfo::Binary(AstBinaryKind::In, it, seq),
[INFO] [stdout]     |                                                          ^^ help: if this is intentional, prefix it with an underscore: `_it`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seq`
[INFO] [stdout]    --> src/codegen/compile.rs:936:62
[INFO] [stdout]     |
[INFO] [stdout] 936 |                 info: AstInfo::Binary(AstBinaryKind::In, it, seq),
[INFO] [stdout]     |                                                              ^^^ help: if this is intentional, prefix it with an underscore: `_seq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]     --> src/codegen/compile.rs:1386:43
[INFO] [stdout]      |
[INFO] [stdout] 1386 |     fn compile_subscript_slice(&mut self, node: &Ast) -> Result<()> {
[INFO] [stdout]      |                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arg_size`
[INFO] [stdout]   --> src/runtime/builtins.rs:68:42
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn XXXprint_Array(stack: &mut Stack, arg_size: Size) {
[INFO] [stdout]    |                                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arg_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arg_size`
[INFO] [stdout]   --> src/runtime/builtins.rs:83:42
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub fn XXXprint_Slice(stack: &mut Stack, arg_size: Size) {
[INFO] [stdout]    |                                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arg_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/runtime/builtins.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                     let ptr = unsafe { ptr as *const u8 };
[INFO] [stdout]     |                               ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/runtime/builtins.rs:172:31
[INFO] [stdout]     |
[INFO] [stdout] 172 |                     let ptr = unsafe { ptr as *const runtime_type::String };
[INFO] [stdout]     |                               ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arg_size`
[INFO] [stdout]   --> src/runtime/builtins.rs:68:42
[INFO] [stdout]    |
[INFO] [stdout] 68 | pub fn XXXprint_Array(stack: &mut Stack, arg_size: Size) {
[INFO] [stdout]    |                                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arg_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `arg_size`
[INFO] [stdout]   --> src/runtime/builtins.rs:83:42
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub fn XXXprint_Slice(stack: &mut Stack, arg_size: Size) {
[INFO] [stdout]    |                                          ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_arg_size`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/runtime/builtins.rs:164:31
[INFO] [stdout]     |
[INFO] [stdout] 164 |                     let ptr = unsafe { ptr as *const u8 };
[INFO] [stdout]     |                               ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_unsafe)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary `unsafe` block
[INFO] [stdout]    --> src/runtime/builtins.rs:172:31
[INFO] [stdout]     |
[INFO] [stdout] 172 |                     let ptr = unsafe { ptr as *const runtime_type::String };
[INFO] [stdout]     |                               ^^^^^^ unnecessary `unsafe` block
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/runtime/vm.rs:564:41
[INFO] [stdout]     |
[INFO] [stdout] 564 |                         TypeInfo::Array(info) => todo!(),
[INFO] [stdout]     |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/runtime/vm.rs:565:41
[INFO] [stdout]     |
[INFO] [stdout] 565 |                         TypeInfo::Slice(info) => todo!(),
[INFO] [stdout]     |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/runtime/vm.rs:566:42
[INFO] [stdout]     |
[INFO] [stdout] 566 |                         TypeInfo::Struct(info) => todo!(),
[INFO] [stdout]     |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/runtime/vm.rs:572:44
[INFO] [stdout]     |
[INFO] [stdout] 572 |                         TypeInfo::Function(info) => todo!(),
[INFO] [stdout]     |                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/typing/typecheck.rs:113:29
[INFO] [stdout]     |
[INFO] [stdout] 113 |             AstInfo::Import(info) => todo!(),
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/typing/typecheck.rs:435:9
[INFO] [stdout]     |
[INFO] [stdout] 435 |         scope: &mut Scope,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/typing/typecheck.rs:436:9
[INFO] [stdout]     |
[INFO] [stdout] 436 |         token: &Token,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/runtime/vm.rs:564:41
[INFO] [stdout]     |
[INFO] [stdout] 564 |                         TypeInfo::Array(info) => todo!(),
[INFO] [stdout]     |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/runtime/vm.rs:565:41
[INFO] [stdout]     |
[INFO] [stdout] 565 |                         TypeInfo::Slice(info) => todo!(),
[INFO] [stdout]     |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/runtime/vm.rs:566:42
[INFO] [stdout]     |
[INFO] [stdout] 566 |                         TypeInfo::Struct(info) => todo!(),
[INFO] [stdout]     |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/runtime/vm.rs:572:44
[INFO] [stdout]     |
[INFO] [stdout] 572 |                         TypeInfo::Function(info) => todo!(),
[INFO] [stdout]     |                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/typing/typecheck.rs:113:29
[INFO] [stdout]     |
[INFO] [stdout] 113 |             AstInfo::Import(info) => todo!(),
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/typing/typecheck.rs:622:25
[INFO] [stdout]     |
[INFO] [stdout] 622 |             AstInfo::Fn(info) => todo!(),
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/typing/typecheck.rs:623:29
[INFO] [stdout]     |
[INFO] [stdout] 623 |             AstInfo::Import(info) => todo!(),
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/typing/typecheck.rs:624:29
[INFO] [stdout]     |
[INFO] [stdout] 624 |             AstInfo::Struct(info) => todo!(),
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/typing/typecheck.rs:625:27
[INFO] [stdout]     |
[INFO] [stdout] 625 |             AstInfo::Enum(info) => todo!(),
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `it`
[INFO] [stdout]    --> src/typing/typecheck.rs:691:101
[INFO] [stdout]     |
[INFO] [stdout] 691 |                     Some(Ast { token: _, scope: _, typ: _, info: AstInfo::Binary(AstBinaryKind::In, it, seq) }) => todo!(),
[INFO] [stdout]     |                                                                                                     ^^ help: if this is intentional, prefix it with an underscore: `_it`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seq`
[INFO] [stdout]    --> src/typing/typecheck.rs:691:105
[INFO] [stdout]     |
[INFO] [stdout] 691 |                     Some(Ast { token: _, scope: _, typ: _, info: AstInfo::Binary(AstBinaryKind::In, it, seq) }) => todo!(),
[INFO] [stdout]     |                                                                                                         ^^^ help: if this is intentional, prefix it with an underscore: `_seq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/typing/typecheck.rs:435:9
[INFO] [stdout]     |
[INFO] [stdout] 435 |         scope: &mut Scope,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]    --> src/typing/typecheck.rs:436:9
[INFO] [stdout]     |
[INFO] [stdout] 436 |         token: &Token,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/typing/typecheck.rs:622:25
[INFO] [stdout]     |
[INFO] [stdout] 622 |             AstInfo::Fn(info) => todo!(),
[INFO] [stdout]     |                         ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/typing/typecheck.rs:623:29
[INFO] [stdout]     |
[INFO] [stdout] 623 |             AstInfo::Import(info) => todo!(),
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/typing/typecheck.rs:624:29
[INFO] [stdout]     |
[INFO] [stdout] 624 |             AstInfo::Struct(info) => todo!(),
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]    --> src/typing/typecheck.rs:625:27
[INFO] [stdout]     |
[INFO] [stdout] 625 |             AstInfo::Enum(info) => todo!(),
[INFO] [stdout]     |                           ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `it`
[INFO] [stdout]    --> src/typing/typecheck.rs:691:101
[INFO] [stdout]     |
[INFO] [stdout] 691 |                     Some(Ast { token: _, scope: _, typ: _, info: AstInfo::Binary(AstBinaryKind::In, it, seq) }) => todo!(),
[INFO] [stdout]     |                                                                                                     ^^ help: if this is intentional, prefix it with an underscore: `_it`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `seq`
[INFO] [stdout]    --> src/typing/typecheck.rs:691:105
[INFO] [stdout]     |
[INFO] [stdout] 691 |                     Some(Ast { token: _, scope: _, typ: _, info: AstInfo::Binary(AstBinaryKind::In, it, seq) }) => todo!(),
[INFO] [stdout]     |                                                                                                         ^^^ help: if this is intentional, prefix it with an underscore: `_seq`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/typing/typecheck.rs:920:36
[INFO] [stdout]     |
[INFO] [stdout] 920 |     fn typecheck_binary(&mut self, scope: &mut Scope, node: &mut Ast) -> TypecheckResult {
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]     --> src/typing/typecheck.rs:1330:9
[INFO] [stdout]      |
[INFO] [stdout] 1330 |         info: &TypeInfoStruct,
[INFO] [stdout]      |         ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `member_node`
[INFO] [stdout]     --> src/typing/typecheck.rs:1331:9
[INFO] [stdout]      |
[INFO] [stdout] 1331 |         member_node: &Ast,
[INFO] [stdout]      |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_member_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]     --> src/typing/typecheck.rs:1518:43
[INFO] [stdout]      |
[INFO] [stdout] 1518 |     fn typecheck_array_literal(&mut self, token: &Token, nodes: &mut [Ast]) -> Result<Type> {
[INFO] [stdout]      |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]     --> src/typing/typecheck.rs:1564:9
[INFO] [stdout]      |
[INFO] [stdout] 1564 |         scope: &mut Scope,
[INFO] [stdout]      |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]     --> src/typing/typecheck.rs:1565:9
[INFO] [stdout]      |
[INFO] [stdout] 1565 |         token: &Token,
[INFO] [stdout]      |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kind`
[INFO] [stdout]     --> src/typing/typecheck.rs:1566:9
[INFO] [stdout]      |
[INFO] [stdout] 1566 |         kind: AstBlockKind,
[INFO] [stdout]      |         ^^^^ help: if this is intentional, prefix it with an underscore: `_kind`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `self_info`
[INFO] [stdout]   --> src/typing/value_type.rs:80:40
[INFO] [stdout]    |
[INFO] [stdout] 80 |                     TypeInfo::Function(self_info) => {
[INFO] [stdout]    |                                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_self_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_info`
[INFO] [stdout]   --> src/typing/value_type.rs:81:48
[INFO] [stdout]    |
[INFO] [stdout] 81 |                         let TypeInfo::Function(target_info) = target_type else {
[INFO] [stdout]    |                                                ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/typing/typecheck.rs:920:36
[INFO] [stdout]     |
[INFO] [stdout] 920 |     fn typecheck_binary(&mut self, scope: &mut Scope, node: &mut Ast) -> TypecheckResult {
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `info`
[INFO] [stdout]     --> src/typing/typecheck.rs:1330:9
[INFO] [stdout]      |
[INFO] [stdout] 1330 |         info: &TypeInfoStruct,
[INFO] [stdout]      |         ^^^^ help: if this is intentional, prefix it with an underscore: `_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `member_node`
[INFO] [stdout]     --> src/typing/typecheck.rs:1331:9
[INFO] [stdout]      |
[INFO] [stdout] 1331 |         member_node: &Ast,
[INFO] [stdout]      |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_member_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]     --> src/typing/typecheck.rs:1518:43
[INFO] [stdout]      |
[INFO] [stdout] 1518 |     fn typecheck_array_literal(&mut self, token: &Token, nodes: &mut [Ast]) -> Result<Type> {
[INFO] [stdout]      |                                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]     --> src/typing/typecheck.rs:1564:9
[INFO] [stdout]      |
[INFO] [stdout] 1564 |         scope: &mut Scope,
[INFO] [stdout]      |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `token`
[INFO] [stdout]     --> src/typing/typecheck.rs:1565:9
[INFO] [stdout]      |
[INFO] [stdout] 1565 |         token: &Token,
[INFO] [stdout]      |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_token`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `kind`
[INFO] [stdout]     --> src/typing/typecheck.rs:1566:9
[INFO] [stdout]      |
[INFO] [stdout] 1566 |         kind: AstBlockKind,
[INFO] [stdout]      |         ^^^^ help: if this is intentional, prefix it with an underscore: `_kind`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `self_info`
[INFO] [stdout]   --> src/typing/value_type.rs:80:40
[INFO] [stdout]    |
[INFO] [stdout] 80 |                     TypeInfo::Function(self_info) => {
[INFO] [stdout]    |                                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_self_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_info`
[INFO] [stdout]   --> src/typing/value_type.rs:81:48
[INFO] [stdout]    |
[INFO] [stdout] 81 |                         let TypeInfo::Function(target_info) = target_type else {
[INFO] [stdout]    |                                                ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_info`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `emit_pop` and `emit_alloc` are never used
[INFO] [stdout]    --> src/codegen/compile.rs:295:8
[INFO] [stdout]     |
[INFO] [stdout] 170 | impl Compiler {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 295 |     fn emit_pop(&mut self, size: Size) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     fn emit_alloc(&mut self, size: Size) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/codegen/inst.rs:5:5
[INFO] [stdout]     |
[INFO] [stdout]   4 | pub enum Instruction {
[INFO] [stdout]     |          ----------- variants in this enum
[INFO] [stdout]   5 |     NoOp = 0,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  31 |     Int_Inc, // () [k] -> [k+1]
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]  32 |     Int_Dec, // () [k] -> [k-1]
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  42 |     Bit_Shl, // () [m, n] -> [m<<n]
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]  43 |     Bit_Shr, // () [m, n] -> [m>>n]
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]  44 |     Bit_And, // () [m, n] -> [m&n]
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]  45 |     Bit_Or,  // () [m, n] -> [m|n]
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]  46 |     Bit_Xor, // () [m, n] -> [m^n]
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  49 |     And, // () [m, n] -> [m&&n]
[INFO] [stdout]     |     ^^^
[INFO] [stdout]  50 |     Or,  // () [m, n] -> [m||n]
[INFO] [stdout]     |     ^^
[INFO] [stdout] ...
[INFO] [stdout]  54 |     Eq,       // (size: u16) [a, b] -> [a==b]
[INFO] [stdout]     |     ^^
[INFO] [stdout]  55 |     Ne,       // (size: u16) [a, b] -> [a!=b]
[INFO] [stdout]     |     ^^
[INFO] [stdout]  56 |     Str_Eq,   // () [s, r] -> [s==r]
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]  57 |     Str_Ne,   // () [s, r] -> [s!=r]
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     Pop,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     Alloc,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     JumpTrueNoPop,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     JumpFalseNoPop,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Instruction` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Pid` is never constructed
[INFO] [stdout]   --> src/interp.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct Pid(pub usize);
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `index` is never read
[INFO] [stdout]   --> src/interp.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct ParsedFile {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 50 |     pub index: usize,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParsedFile` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `In` is never constructed
[INFO] [stdout]   --> src/ir/ast.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub enum AstBinaryKind {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 68 |     In,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AstBinaryKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Break` and `Continue` are never constructed
[INFO] [stdout]   --> src/ir/ast.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub enum AstOptionalKind {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] 74 |     Break,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 75 |     Continue,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AstOptionalKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_method` is never read
[INFO] [stdout]   --> src/ir/ast.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub struct AstInfoFn {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 92 |     pub annons: Annotations,
[INFO] [stdout] 93 |     pub is_method: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AstInfoFn` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `annons` is never read
[INFO] [stdout]    --> src/ir/ast.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct AstInfoStruct {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] 117 |     pub annons: Annotations,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AstInfoStruct` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `annons` is never read
[INFO] [stdout]    --> src/ir/ast.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub struct AstInfoEnum {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 124 |     pub annons: Annotations,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AstInfoEnum` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_struct`, `is_enum`, and `is_function` are never used
[INFO] [stdout]    --> src/typing/value_type.rs:191:12
[INFO] [stdout]     |
[INFO] [stdout] 138 | impl TypeKind {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn is_struct(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn is_enum(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn is_function(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/interp.rs:107:18
[INFO] [stdout]     |
[INFO] [stdout] 107 |         unsafe { &INTERP }
[INFO] [stdout]     |                  ^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 107 |         unsafe { &raw const INTERP }
[INFO] [stdout]     |                   +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/interp.rs:111:18
[INFO] [stdout]     |
[INFO] [stdout] 111 |         unsafe { &mut INTERP }
[INFO] [stdout]     |                  ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 111 |         unsafe { &raw mut INTERP }
[INFO] [stdout]     |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `emit_pop` and `emit_alloc` are never used
[INFO] [stdout]    --> src/codegen/compile.rs:295:8
[INFO] [stdout]     |
[INFO] [stdout] 170 | impl Compiler {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 295 |     fn emit_pop(&mut self, size: Size) {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 310 |     fn emit_alloc(&mut self, size: Size) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]    --> src/codegen/inst.rs:5:5
[INFO] [stdout]     |
[INFO] [stdout]   4 | pub enum Instruction {
[INFO] [stdout]     |          ----------- variants in this enum
[INFO] [stdout]   5 |     NoOp = 0,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  31 |     Int_Inc, // () [k] -> [k+1]
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]  32 |     Int_Dec, // () [k] -> [k-1]
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  42 |     Bit_Shl, // () [m, n] -> [m<<n]
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]  43 |     Bit_Shr, // () [m, n] -> [m>>n]
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]  44 |     Bit_And, // () [m, n] -> [m&n]
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]  45 |     Bit_Or,  // () [m, n] -> [m|n]
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]  46 |     Bit_Xor, // () [m, n] -> [m^n]
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  49 |     And, // () [m, n] -> [m&&n]
[INFO] [stdout]     |     ^^^
[INFO] [stdout]  50 |     Or,  // () [m, n] -> [m||n]
[INFO] [stdout]     |     ^^
[INFO] [stdout] ...
[INFO] [stdout]  54 |     Eq,       // (size: u16) [a, b] -> [a==b]
[INFO] [stdout]     |     ^^
[INFO] [stdout]  55 |     Ne,       // (size: u16) [a, b] -> [a!=b]
[INFO] [stdout]     |     ^^
[INFO] [stdout]  56 |     Str_Eq,   // () [s, r] -> [s==r]
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]  57 |     Str_Ne,   // () [s, r] -> [s!=r]
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     Pop,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     Alloc,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     JumpTrueNoPop,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     JumpFalseNoPop,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Instruction` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Pid` is never constructed
[INFO] [stdout]   --> src/interp.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct Pid(pub usize);
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `index` is never read
[INFO] [stdout]   --> src/interp.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub struct ParsedFile {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 50 |     pub index: usize,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParsedFile` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `In` is never constructed
[INFO] [stdout]   --> src/ir/ast.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub enum AstBinaryKind {
[INFO] [stdout]    |          ------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 68 |     In,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AstBinaryKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Break` and `Continue` are never constructed
[INFO] [stdout]   --> src/ir/ast.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub enum AstOptionalKind {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] 74 |     Break,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 75 |     Continue,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AstOptionalKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_method` is never read
[INFO] [stdout]   --> src/ir/ast.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub struct AstInfoFn {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] 92 |     pub annons: Annotations,
[INFO] [stdout] 93 |     pub is_method: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AstInfoFn` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `annons` is never read
[INFO] [stdout]    --> src/ir/ast.rs:117:9
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct AstInfoStruct {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] 117 |     pub annons: Annotations,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AstInfoStruct` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `annons` is never read
[INFO] [stdout]    --> src/ir/ast.rs:124:9
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub struct AstInfoEnum {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 124 |     pub annons: Annotations,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AstInfoEnum` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_struct`, `is_enum`, and `is_function` are never used
[INFO] [stdout]    --> src/typing/value_type.rs:191:12
[INFO] [stdout]     |
[INFO] [stdout] 138 | impl TypeKind {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn is_struct(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn is_enum(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn is_function(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 14.21s
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/interp.rs:107:18
[INFO] [stdout]     |
[INFO] [stdout] 107 |         unsafe { &INTERP }
[INFO] [stdout]     |                  ^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 107 |         unsafe { &raw const INTERP }
[INFO] [stdout]     |                   +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/interp.rs:111:18
[INFO] [stdout]     |
[INFO] [stdout] 111 |         unsafe { &mut INTERP }
[INFO] [stdout]     |                  ^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw mut` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 111 |         unsafe { &raw mut INTERP }
[INFO] [stdout]     |                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "e1c162fd36819bd677880f26b7a7c2316061fe1040bd68dcff1743f379b007a9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e1c162fd36819bd677880f26b7a7c2316061fe1040bd68dcff1743f379b007a9", kill_on_drop: false }`
[INFO] [stdout] e1c162fd36819bd677880f26b7a7c2316061fe1040bd68dcff1743f379b007a9
