[INFO] cloning repository https://github.com/aramrw/gdrs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/aramrw/gdrs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faramrw%2Fgdrs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faramrw%2Fgdrs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ae7e3e76d35d8aff2600de2a02fae23295fff729
[INFO] checking aramrw/gdrs against 65dd30fb9e882a7e8f0be10caca62936db2a98b8 for pr-133502-28
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Faramrw%2Fgdrs" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-2-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/aramrw/gdrs
[INFO] finished tweaking git repo https://github.com/aramrw/gdrs
[INFO] tweaked toml for git repo https://github.com/aramrw/gdrs written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/aramrw/gdrs on toolchain 65dd30fb9e882a7e8f0be10caca62936db2a98b8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+65dd30fb9e882a7e8f0be10caca62936db2a98b8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/aramrw/gdrs 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" "+65dd30fb9e882a7e8f0be10caca62936db2a98b8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded logos v0.16.1
[INFO] [stderr]   Downloaded cranelift-object v0.118.0
[INFO] [stderr]   Downloaded logos-derive v0.16.1
[INFO] [stderr]   Downloaded cranelift-module v0.118.0
[INFO] [stderr]   Downloaded logos-codegen v0.16.1
[INFO] [stderr]   Downloaded cranelift-codegen-shared v0.118.0
[INFO] [stderr]   Downloaded concolor v0.1.1
[INFO] [stderr]   Downloaded psm v0.1.31
[INFO] [stderr]   Downloaded cranelift-control v0.118.0
[INFO] [stderr]   Downloaded cranelift-assembler-x64 v0.118.0
[INFO] [stderr]   Downloaded concolor-query v0.3.3
[INFO] [stderr]   Downloaded cranelift-bitset v0.118.0
[INFO] [stderr]   Downloaded cranelift-native v0.118.0
[INFO] [stderr]   Downloaded wasmtime-jit-icache-coherence v31.0.0
[INFO] [stderr]   Downloaded region v3.0.2
[INFO] [stderr]   Downloaded cranelift-entity v0.118.0
[INFO] [stderr]   Downloaded fallible-iterator v0.3.0
[INFO] [stderr]   Downloaded mach2 v0.4.3
[INFO] [stderr]   Downloaded stacker v0.1.24
[INFO] [stderr]   Downloaded cranelift-assembler-x64-meta v0.118.0
[INFO] [stderr]   Downloaded cranelift-bforest v0.118.0
[INFO] [stderr]   Downloaded cranelift-jit v0.118.0
[INFO] [stderr]   Downloaded regalloc2 v0.11.2
[INFO] [stderr]   Downloaded ariadne v0.6.0
[INFO] [stderr]   Downloaded cranelift-codegen-meta v0.118.0
[INFO] [stderr]   Downloaded cranelift-frontend v0.118.0
[INFO] [stderr]   Downloaded clap v4.6.4
[INFO] [stderr]   Downloaded chumsky v0.9.3
[INFO] [stderr]   Downloaded ar_archive_writer v0.5.2
[INFO] [stderr]   Downloaded cranelift-isle v0.118.0
[INFO] [stderr]   Downloaded cc v1.3.0
[INFO] [stderr]   Downloaded clap_builder v4.6.2
[INFO] [stderr]   Downloaded object v0.37.3
[INFO] [stderr]   Downloaded cranelift-codegen v0.118.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:00c5645b54fe3ce5dae1417175e3c7fb6a6646c021d554ecd63a097b8b9f3602" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 0552fbc7eaaaa45f41e60a81ec144bcba3bb05fc04aab8e285796b49ecef89ef
[INFO] running `Command { std: "docker" "start" "0552fbc7eaaaa45f41e60a81ec144bcba3bb05fc04aab8e285796b49ecef89ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0552fbc7eaaaa45f41e60a81ec144bcba3bb05fc04aab8e285796b49ecef89ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0552fbc7eaaaa45f41e60a81ec144bcba3bb05fc04aab8e285796b49ecef89ef" "/opt/rustwide/cargo-home/bin/cargo" "+65dd30fb9e882a7e8f0be10caca62936db2a98b8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0552fbc7eaaaa45f41e60a81ec144bcba3bb05fc04aab8e285796b49ecef89ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "0552fbc7eaaaa45f41e60a81ec144bcba3bb05fc04aab8e285796b49ecef89ef" "/opt/rustwide/cargo-home/bin/cargo" "+65dd30fb9e882a7e8f0be10caca62936db2a98b8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling cranelift-assembler-x64-meta v0.118.0
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling cranelift-isle v0.118.0
[INFO] [stderr]     Checking hashbrown v0.17.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling cranelift-codegen-shared v0.118.0
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]     Checking cranelift-bitset v0.118.0
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]    Compiling cc v1.3.0
[INFO] [stderr]     Checking cranelift-entity v0.118.0
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]    Compiling target-lexicon v0.13.5
[INFO] [stderr]     Checking bumpalo v3.20.3
[INFO] [stderr]     Checking log v0.4.33
[INFO] [stderr]     Checking smallvec v1.15.2
[INFO] [stderr]     Checking arbitrary v1.4.2
[INFO] [stderr]     Checking rustc-hash v2.1.3
[INFO] [stderr]     Checking regalloc2 v0.11.2
[INFO] [stderr]     Checking cranelift-bforest v0.118.0
[INFO] [stderr]     Checking gimli v0.31.1
[INFO] [stderr]    Compiling cranelift-assembler-x64 v0.118.0
[INFO] [stderr]    Compiling anyhow v1.0.104
[INFO] [stderr]     Checking cranelift-control v0.118.0
[INFO] [stderr]    Compiling zerocopy v0.8.55
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]     Checking bitflags v1.3.2
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking anstyle-parse v1.0.0
[INFO] [stderr]    Compiling stacker v0.1.24
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling cranelift-codegen-meta v0.118.0
[INFO] [stderr]    Compiling regex-automata v0.4.16
[INFO] [stderr]     Checking anstyle v1.0.14
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling object v0.36.7
[INFO] [stderr]     Checking colorchoice v1.0.5
[INFO] [stderr]     Checking anstyle-query v1.1.5
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]     Checking anstream v1.0.0
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]     Checking concolor-query v0.3.3
[INFO] [stderr]     Checking strsim v0.11.1
[INFO] [stderr]     Checking clap_lex v1.1.0
[INFO] [stderr]    Compiling ar_archive_writer v0.5.2
[INFO] [stderr]     Checking clap_builder v4.6.2
[INFO] [stderr]    Compiling psm v0.1.31
[INFO] [stderr]     Checking concolor v0.1.1
[INFO] [stderr]     Checking region v3.0.2
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]    Compiling cranelift-codegen v0.118.0
[INFO] [stderr]     Checking wasmtime-jit-icache-coherence v31.0.0
[INFO] [stderr]     Checking yansi v1.0.1
[INFO] [stderr]     Checking unicode-width v0.2.2
[INFO] [stderr]     Checking chumsky v0.9.3
[INFO] [stderr]     Checking ariadne v0.6.0
[INFO] [stderr]    Compiling logos-codegen v0.16.1
[INFO] [stderr]    Compiling clap_derive v4.6.4
[INFO] [stderr]    Compiling logos-derive v0.16.1
[INFO] [stderr]     Checking logos v0.16.1
[INFO] [stderr]     Checking clap v4.6.4
[INFO] [stderr]     Checking cranelift-module v0.118.0
[INFO] [stderr]     Checking cranelift-native v0.118.0
[INFO] [stderr]     Checking cranelift-frontend v0.118.0
[INFO] [stderr]     Checking cranelift-jit v0.118.0
[INFO] [stderr]     Checking cranelift-object v0.118.0
[INFO] [stderr]     Checking gdrs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Variable`
[INFO] [stdout]  --> src/codegen/closures.rs:6:67
[INFO] [stdout]   |
[INFO] [stdout] 6 | use cranelift_frontend::{FunctionBuilder, FunctionBuilderContext, Variable};
[INFO] [stdout]   |                                                                   ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `StackSlotData` and `StackSlotKind`
[INFO] [stdout]   --> src/codegen/expr.rs:10:62
[INFO] [stdout]    |
[INFO] [stdout] 10 | use cranelift_codegen::ir::{AbiParam, InstBuilder, MemFlags, StackSlotData, StackSlotKind, Value};
[INFO] [stdout]    |                                                              ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cranelift_jit::JITModule`
[INFO] [stdout]   --> src/codegen/func.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use cranelift_jit::JITModule;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `iterators::*`
[INFO] [stdout]  --> src/codegen/intrinsics/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use iterators::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cranelift_codegen::settings::Configurable`
[INFO] [stdout]  --> src/codegen/jit.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use cranelift_codegen::settings::Configurable;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Type` and `TypedMatchArm`
[INFO] [stdout]  --> src/codegen/loops.rs:8:18
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::ast::{Type, TypedExpr, TypedMatchArm};
[INFO] [stdout]   |                  ^^^^             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypedMatchArm`
[INFO] [stdout]  --> src/codegen/refs.rs:8:35
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::ast::{Type, TypedExpr, TypedMatchArm};
[INFO] [stdout]   |                                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `coerce_val`
[INFO] [stdout]  --> src/codegen/refs.rs:9:28
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::codegen::expr::{coerce_val, compile_expr, cranelift_type_of};
[INFO] [stdout]   |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MemFlags` and `Value`
[INFO] [stdout]  --> src/codegen/drops.rs:5:49
[INFO] [stdout]   |
[INFO] [stdout] 5 | use cranelift_codegen::ir::{types, InstBuilder, MemFlags, StackSlot, StackSlotData, StackSlotKind, Value};
[INFO] [stdout]   |                                                 ^^^^^^^^                                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sanal::StructLayout`
[INFO] [stdout]   --> src/codegen/drops.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::sanal::StructLayout;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ast::*`
[INFO] [stdout]  --> src/loader/files.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::ast::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::loader::derives::expand_derives`
[INFO] [stdout]  --> src/loader/files.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::loader::derives::expand_derives;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parser::parser`
[INFO] [stdout]   --> src/loader/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::parser::parser;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `logos::Logos`
[INFO] [stdout]   --> src/loader/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use logos::Logos;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]   --> src/loader/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::fs;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Span` and `WhereClause`
[INFO] [stdout]  --> src/sanal/mono.rs:5:83
[INFO] [stdout]   |
[INFO] [stdout] 5 |     intern_str, intern_type, EnumDecl, Expr, FuncDecl, ImplDecl, MatchArm, Param, Span,
[INFO] [stdout]   |                                                                                   ^^^^
[INFO] [stdout] 6 |     StructDecl, Type, WhereClause,
[INFO] [stdout]   |                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Span`
[INFO] [stdout]  --> src/sanal/types.rs:5:27
[INFO] [stdout]   |
[INFO] [stdout] 5 |     ast::{Expr, FuncDecl, Span, Type, TypedExpr},
[INFO] [stdout]   |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `check_binary_op`, `is_float`, and `is_int`
[INFO] [stdout]    --> src/sanal/types.rs:245:18
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub use binops::{check_binary_op, is_float, is_int};
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^  ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `objects::is_obj_field_type_compatible`
[INFO] [stdout]    --> src/sanal/types.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub use objects::is_obj_field_type_compatible;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Variable`
[INFO] [stdout]  --> src/codegen/closures.rs:6:67
[INFO] [stdout]   |
[INFO] [stdout] 6 | use cranelift_frontend::{FunctionBuilder, FunctionBuilderContext, Variable};
[INFO] [stdout]   |                                                                   ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `StackSlotData` and `StackSlotKind`
[INFO] [stdout]   --> src/codegen/expr.rs:10:62
[INFO] [stdout]    |
[INFO] [stdout] 10 | use cranelift_codegen::ir::{AbiParam, InstBuilder, MemFlags, StackSlotData, StackSlotKind, Value};
[INFO] [stdout]    |                                                              ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cranelift_jit::JITModule`
[INFO] [stdout]   --> src/codegen/func.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use cranelift_jit::JITModule;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `iterators::*`
[INFO] [stdout]  --> src/codegen/intrinsics/mod.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use iterators::*;
[INFO] [stdout]   |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `cranelift_codegen::settings::Configurable`
[INFO] [stdout]  --> src/codegen/jit.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use cranelift_codegen::settings::Configurable;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Type` and `TypedMatchArm`
[INFO] [stdout]  --> src/codegen/loops.rs:8:18
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::ast::{Type, TypedExpr, TypedMatchArm};
[INFO] [stdout]   |                  ^^^^             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `TypedMatchArm`
[INFO] [stdout]  --> src/codegen/refs.rs:8:35
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::ast::{Type, TypedExpr, TypedMatchArm};
[INFO] [stdout]   |                                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `coerce_val`
[INFO] [stdout]  --> src/codegen/refs.rs:9:28
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::codegen::expr::{coerce_val, compile_expr, cranelift_type_of};
[INFO] [stdout]   |                            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MemFlags` and `Value`
[INFO] [stdout]  --> src/codegen/drops.rs:5:49
[INFO] [stdout]   |
[INFO] [stdout] 5 | use cranelift_codegen::ir::{types, InstBuilder, MemFlags, StackSlot, StackSlotData, StackSlotKind, Value};
[INFO] [stdout]   |                                                 ^^^^^^^^                                           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::sanal::StructLayout`
[INFO] [stdout]   --> src/codegen/drops.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::sanal::StructLayout;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ast::*`
[INFO] [stdout]  --> src/loader/files.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::ast::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::loader::derives::expand_derives`
[INFO] [stdout]  --> src/loader/files.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::loader::derives::expand_derives;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parser::parser`
[INFO] [stdout]   --> src/loader/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::parser::parser;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `logos::Logos`
[INFO] [stdout]   --> src/loader/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use logos::Logos;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]   --> src/loader/mod.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::fs;
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `#![feature]` attribute can only be used at the crate root
[INFO] [stdout]  --> src/parser/mod.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(type_alias_impl_trait)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: the crate root is at `src/main.rs`
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Span` and `WhereClause`
[INFO] [stdout]  --> src/sanal/mono.rs:5:83
[INFO] [stdout]   |
[INFO] [stdout] 5 |     intern_str, intern_type, EnumDecl, Expr, FuncDecl, ImplDecl, MatchArm, Param, Span,
[INFO] [stdout]   |                                                                                   ^^^^
[INFO] [stdout] 6 |     StructDecl, Type, WhereClause,
[INFO] [stdout]   |                       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Span`
[INFO] [stdout]  --> src/sanal/types.rs:5:27
[INFO] [stdout]   |
[INFO] [stdout] 5 |     ast::{Expr, FuncDecl, Span, Type, TypedExpr},
[INFO] [stdout]   |                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `check_binary_op`, `is_float`, and `is_int`
[INFO] [stdout]    --> src/sanal/types.rs:245:18
[INFO] [stdout]     |
[INFO] [stdout] 245 | pub use binops::{check_binary_op, is_float, is_int};
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^  ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `objects::is_obj_field_type_compatible`
[INFO] [stdout]    --> src/sanal/types.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub use objects::is_obj_field_type_compatible;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `#![feature]` attribute can only be used at the crate root
[INFO] [stdout]  --> src/parser/mod.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(type_alias_impl_trait)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: the crate root is at `src/main.rs`
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chumsky::Parser`
[INFO] [stdout]   --> src/loader/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use chumsky::Parser;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]   --> src/codegen/calls.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     span: &Span,
[INFO] [stdout]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codegen/objects.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let mut is_embedded_struct = false;
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_embedded_struct`
[INFO] [stdout]    --> src/codegen/objects.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let mut is_embedded_struct = false;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_embedded_struct`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method_call_stmt`
[INFO] [stdout]    --> src/parser/stmt.rs:260:13
[INFO] [stdout]     |
[INFO] [stdout] 260 |         let method_call_stmt = select! { Token::Ident(target) => target }
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_call_stmt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `call_stmt`
[INFO] [stdout]    --> src/parser/stmt.rs:277:13
[INFO] [stdout]     |
[INFO] [stdout] 277 |         let call_stmt = path
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_call_stmt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chumsky::Parser`
[INFO] [stdout]   --> src/loader/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use chumsky::Parser;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]   --> src/codegen/calls.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     span: &Span,
[INFO] [stdout]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/codegen/objects.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let mut is_embedded_struct = false;
[INFO] [stdout]     |         ----^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `is_embedded_struct`
[INFO] [stdout]    --> src/codegen/objects.rs:130:9
[INFO] [stdout]     |
[INFO] [stdout] 130 |     let mut is_embedded_struct = false;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_embedded_struct`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `method_call_stmt`
[INFO] [stdout]    --> src/parser/stmt.rs:260:13
[INFO] [stdout]     |
[INFO] [stdout] 260 |         let method_call_stmt = select! { Token::Ident(target) => target }
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_method_call_stmt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `call_stmt`
[INFO] [stdout]    --> src/parser/stmt.rs:277:13
[INFO] [stdout]     |
[INFO] [stdout] 277 |         let call_stmt = path
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_call_stmt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sanal/vars.rs:181:9
[INFO] [stdout]     |
[INFO] [stdout] 181 |     let mut final_ty = if let Some(annotated) = explicit_ty {
[INFO] [stdout]     |         ----^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sanal/mod.rs:162:9
[INFO] [stdout]     |
[INFO] [stdout] 162 |     let mut enum_names: std::collections::HashSet<String> =
[INFO] [stdout]     |         ----^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Slice` is never constructed
[INFO] [stdout]    --> src/ast/mod.rs:217:5
[INFO] [stdout]     |
[INFO] [stdout] 203 | pub enum Type {
[INFO] [stdout]     |          ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 217 |     Slice(&'static Type),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Type` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast/mod.rs:288:9
[INFO] [stdout]     |
[INFO] [stdout] 285 | pub struct Attribute {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 288 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Attribute` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast/mod.rs:296:9
[INFO] [stdout]     |
[INFO] [stdout] 292 | pub struct FieldDecl {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 296 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FieldDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast/mod.rs:305:9
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub struct StructDecl {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StructDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast/mod.rs:313:9
[INFO] [stdout]     |
[INFO] [stdout] 309 | pub struct EnumVariantDecl {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 313 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EnumVariantDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast/mod.rs:322:9
[INFO] [stdout]     |
[INFO] [stdout] 317 | pub struct EnumDecl {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 322 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EnumDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `where_clause` and `span` are never read
[INFO] [stdout]    --> src/ast/mod.rs:330:9
[INFO] [stdout]     |
[INFO] [stdout] 326 | pub struct ImplDecl {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 330 |     pub where_clause: Option<WhereClause>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 331 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ImplDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast/mod.rs:418:9
[INFO] [stdout]     |
[INFO] [stdout] 413 | pub struct TypedMatchArm {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 418 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TypedMatchArm` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `DynCall` is never constructed
[INFO] [stdout]    --> src/ast/mod.rs:535:5
[INFO] [stdout]     |
[INFO] [stdout] 481 | pub enum TypedExpr {
[INFO] [stdout]     |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 535 |     DynCall(Box<TypedExpr>, String, Vec<TypedExpr>, Type, Span),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TypedExpr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast/mod.rs:668:9
[INFO] [stdout]     |
[INFO] [stdout] 666 | pub struct ModDecl {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 667 |     pub path: Vec<String>,
[INFO] [stdout] 668 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ModDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast/mod.rs:675:9
[INFO] [stdout]     |
[INFO] [stdout] 672 | pub struct UseDecl {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 675 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UseDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast/mod.rs:682:9
[INFO] [stdout]     |
[INFO] [stdout] 679 | pub struct TraitDecl {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 682 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TraitDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `traits` and `span` are never read
[INFO] [stdout]    --> src/ast/mod.rs:688:9
[INFO] [stdout]     |
[INFO] [stdout] 686 | pub struct TraitAliasDecl {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 687 |     pub name: String,
[INFO] [stdout] 688 |     pub traits: Vec<String>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 689 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TraitAliasDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `bounds` and `span` are never read
[INFO] [stdout]    --> src/ast/mod.rs:695:9
[INFO] [stdout]     |
[INFO] [stdout] 693 | pub struct WhereClause {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 694 |     pub target_param: String,
[INFO] [stdout] 695 |     pub bounds: Vec<String>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 696 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `WhereClause` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `abi` and `span` are never read
[INFO] [stdout]    --> src/ast/mod.rs:709:9
[INFO] [stdout]     |
[INFO] [stdout] 708 | pub struct ExternDecl {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 709 |     pub abi: String,
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 710 |     pub functions: Vec<ExternFnDecl>,
[INFO] [stdout] 711 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ExternDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `traits`, `trait_aliases`, `externs`, `structs`, `enums`, and `impls` are never read
[INFO] [stdout]    --> src/ast/mod.rs:738:9
[INFO] [stdout]     |
[INFO] [stdout] 737 | pub struct TypedProgram {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 738 |     pub traits: Vec<TraitDecl>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 739 |     pub trait_aliases: Vec<TraitAliasDecl>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 740 |     pub externs: Vec<ExternDecl>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 741 |     pub structs: Vec<StructDecl>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 742 |     pub enums: Vec<EnumDecl>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 743 |     pub impls: Vec<ImplDecl>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TypedProgram` 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 `where_clause` is never read
[INFO] [stdout]    --> src/ast/mod.rs:752:9
[INFO] [stdout]     |
[INFO] [stdout] 748 | pub struct TypedFuncDecl {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 752 |     pub where_clause: Option<WhereClause>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TypedFuncDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JitCompiler` is never constructed
[INFO] [stdout]   --> src/codegen/mod.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct JitCompiler {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `compile_and_run` are never used
[INFO] [stdout]   --> src/codegen/mod.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl JitCompiler {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 41 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn compile_and_run(&mut self, program: &TypedProgram) -> i64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_int_ty` is never used
[INFO] [stdout]   --> src/codegen/expr.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn is_int_ty(ty: &Type) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `allocate_drop_flag` is never used
[INFO] [stdout]   --> src/codegen/drops.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn allocate_drop_flag(builder: &mut FunctionBuilder) -> StackSlot {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mark_drop_flag_moved` is never used
[INFO] [stdout]   --> src/codegen/drops.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn mark_drop_flag_moved(builder: &mut FunctionBuilder, slot: StackSlot) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mark_drop_flag_active` is never used
[INFO] [stdout]   --> src/codegen/drops.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn mark_drop_flag_active(builder: &mut FunctionBuilder, slot: StackSlot) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_drop_for_var` is never used
[INFO] [stdout]   --> src/codegen/drops.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn emit_drop_for_var<M: Module>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_drop_glue` is never used
[INFO] [stdout]   --> src/codegen/drops.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn has_drop_glue(ty: &Type) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_conditional_drop` is never used
[INFO] [stdout]   --> src/codegen/drops.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub fn emit_conditional_drop<M: Module>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `contains` is never used
[INFO] [stdout]    --> src/sanal/mod.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl ScopeStack {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn contains(&self, name: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fn_cache` is never read
[INFO] [stdout]   --> src/sanal/mono.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Monomorphizer {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn_cache: HashMap<GenericKey, String>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `extern_map` is never read
[INFO] [stdout]   --> src/sanal/types.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct TypeCtx<'a> {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub extern_map: &'a HashMap<String, Type>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TypeCtx` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/codegen/mod.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |         self.module.finalize_definitions();
[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] 103 |         let _ = self.module.finalize_definitions();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sanal/vars.rs:181:9
[INFO] [stdout]     |
[INFO] [stdout] 181 |     let mut final_ty = if let Some(annotated) = explicit_ty {
[INFO] [stdout]     |         ----^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/sanal/mod.rs:162:9
[INFO] [stdout]     |
[INFO] [stdout] 162 |     let mut enum_names: std::collections::HashSet<String> =
[INFO] [stdout]     |         ----^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Slice` is never constructed
[INFO] [stdout]    --> src/ast/mod.rs:217:5
[INFO] [stdout]     |
[INFO] [stdout] 203 | pub enum Type {
[INFO] [stdout]     |          ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 217 |     Slice(&'static Type),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Type` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast/mod.rs:288:9
[INFO] [stdout]     |
[INFO] [stdout] 285 | pub struct Attribute {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 288 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Attribute` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast/mod.rs:296:9
[INFO] [stdout]     |
[INFO] [stdout] 292 | pub struct FieldDecl {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 296 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FieldDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast/mod.rs:305:9
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub struct StructDecl {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StructDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast/mod.rs:313:9
[INFO] [stdout]     |
[INFO] [stdout] 309 | pub struct EnumVariantDecl {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 313 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EnumVariantDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast/mod.rs:322:9
[INFO] [stdout]     |
[INFO] [stdout] 317 | pub struct EnumDecl {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 322 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `EnumDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `where_clause` and `span` are never read
[INFO] [stdout]    --> src/ast/mod.rs:330:9
[INFO] [stdout]     |
[INFO] [stdout] 326 | pub struct ImplDecl {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 330 |     pub where_clause: Option<WhereClause>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 331 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ImplDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast/mod.rs:418:9
[INFO] [stdout]     |
[INFO] [stdout] 413 | pub struct TypedMatchArm {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 418 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TypedMatchArm` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `DynCall` is never constructed
[INFO] [stdout]    --> src/ast/mod.rs:535:5
[INFO] [stdout]     |
[INFO] [stdout] 481 | pub enum TypedExpr {
[INFO] [stdout]     |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 535 |     DynCall(Box<TypedExpr>, String, Vec<TypedExpr>, Type, Span),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TypedExpr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast/mod.rs:668:9
[INFO] [stdout]     |
[INFO] [stdout] 666 | pub struct ModDecl {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 667 |     pub path: Vec<String>,
[INFO] [stdout] 668 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ModDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast/mod.rs:675:9
[INFO] [stdout]     |
[INFO] [stdout] 672 | pub struct UseDecl {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 675 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UseDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> src/ast/mod.rs:682:9
[INFO] [stdout]     |
[INFO] [stdout] 679 | pub struct TraitDecl {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 682 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TraitDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `traits` and `span` are never read
[INFO] [stdout]    --> src/ast/mod.rs:688:9
[INFO] [stdout]     |
[INFO] [stdout] 686 | pub struct TraitAliasDecl {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 687 |     pub name: String,
[INFO] [stdout] 688 |     pub traits: Vec<String>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 689 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TraitAliasDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `bounds` and `span` are never read
[INFO] [stdout]    --> src/ast/mod.rs:695:9
[INFO] [stdout]     |
[INFO] [stdout] 693 | pub struct WhereClause {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 694 |     pub target_param: String,
[INFO] [stdout] 695 |     pub bounds: Vec<String>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 696 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `WhereClause` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `abi` and `span` are never read
[INFO] [stdout]    --> src/ast/mod.rs:709:9
[INFO] [stdout]     |
[INFO] [stdout] 708 | pub struct ExternDecl {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 709 |     pub abi: String,
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 710 |     pub functions: Vec<ExternFnDecl>,
[INFO] [stdout] 711 |     pub span: Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ExternDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `traits`, `trait_aliases`, `externs`, `structs`, `enums`, and `impls` are never read
[INFO] [stdout]    --> src/ast/mod.rs:738:9
[INFO] [stdout]     |
[INFO] [stdout] 737 | pub struct TypedProgram {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 738 |     pub traits: Vec<TraitDecl>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 739 |     pub trait_aliases: Vec<TraitAliasDecl>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 740 |     pub externs: Vec<ExternDecl>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 741 |     pub structs: Vec<StructDecl>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 742 |     pub enums: Vec<EnumDecl>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 743 |     pub impls: Vec<ImplDecl>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TypedProgram` 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 `where_clause` is never read
[INFO] [stdout]    --> src/ast/mod.rs:752:9
[INFO] [stdout]     |
[INFO] [stdout] 748 | pub struct TypedFuncDecl {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 752 |     pub where_clause: Option<WhereClause>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TypedFuncDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `JitCompiler` is never constructed
[INFO] [stdout]   --> src/codegen/mod.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct JitCompiler {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `compile_and_run` are never used
[INFO] [stdout]   --> src/codegen/mod.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl JitCompiler {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 41 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn compile_and_run(&mut self, program: &TypedProgram) -> i64 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_int_ty` is never used
[INFO] [stdout]   --> src/codegen/expr.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn is_int_ty(ty: &Type) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `allocate_drop_flag` is never used
[INFO] [stdout]   --> src/codegen/drops.rs:13:8
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn allocate_drop_flag(builder: &mut FunctionBuilder) -> StackSlot {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mark_drop_flag_moved` is never used
[INFO] [stdout]   --> src/codegen/drops.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub fn mark_drop_flag_moved(builder: &mut FunctionBuilder, slot: StackSlot) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `mark_drop_flag_active` is never used
[INFO] [stdout]   --> src/codegen/drops.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn mark_drop_flag_active(builder: &mut FunctionBuilder, slot: StackSlot) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_drop_for_var` is never used
[INFO] [stdout]   --> src/codegen/drops.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub fn emit_drop_for_var<M: Module>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_drop_glue` is never used
[INFO] [stdout]   --> src/codegen/drops.rs:69:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub fn has_drop_glue(ty: &Type) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_conditional_drop` is never used
[INFO] [stdout]   --> src/codegen/drops.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub fn emit_conditional_drop<M: Module>(
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `contains` is never used
[INFO] [stdout]    --> src/sanal/mod.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout]  52 | impl ScopeStack {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn contains(&self, name: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `fn_cache` is never read
[INFO] [stdout]   --> src/sanal/mono.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Monomorphizer {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub fn_cache: HashMap<GenericKey, String>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `extern_map` is never read
[INFO] [stdout]   --> src/sanal/types.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct TypeCtx<'a> {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub extern_map: &'a HashMap<String, Type>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TypeCtx` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/codegen/mod.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |         self.module.finalize_definitions();
[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] 103 |         let _ = self.module.finalize_definitions();
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 19s
[INFO] running `Command { std: "docker" "inspect" "0552fbc7eaaaa45f41e60a81ec144bcba3bb05fc04aab8e285796b49ecef89ef", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0552fbc7eaaaa45f41e60a81ec144bcba3bb05fc04aab8e285796b49ecef89ef", kill_on_drop: false }`
[INFO] [stdout] 0552fbc7eaaaa45f41e60a81ec144bcba3bb05fc04aab8e285796b49ecef89ef
