[INFO] cloning repository https://github.com/obsidrielle/monstera
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/obsidrielle/monstera" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fobsidrielle%2Fmonstera", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fobsidrielle%2Fmonstera'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1ba93769ababc3b4dd7cba14bb71c112187bdfa1
[INFO] checking obsidrielle/monstera against try#78c81ee3917a99dcff6e2e6822800f0492c415c3 for pr-148967
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fobsidrielle%2Fmonstera" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/obsidrielle/monstera
[INFO] finished tweaking git repo https://github.com/obsidrielle/monstera
[INFO] tweaked toml for git repo https://github.com/obsidrielle/monstera written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/obsidrielle/monstera on toolchain 78c81ee3917a99dcff6e2e6822800f0492c415c3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+78c81ee3917a99dcff6e2e6822800f0492c415c3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/obsidrielle/monstera 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" "+78c81ee3917a99dcff6e2e6822800f0492c415c3" "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
[ERROR] error running command: no output for 300 seconds
[INFO] checking obsidrielle/monstera against try#78c81ee3917a99dcff6e2e6822800f0492c415c3 for pr-148967
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fobsidrielle%2Fmonstera" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/obsidrielle/monstera
[INFO] finished tweaking git repo https://github.com/obsidrielle/monstera
[INFO] tweaked toml for git repo https://github.com/obsidrielle/monstera written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/obsidrielle/monstera on toolchain 78c81ee3917a99dcff6e2e6822800f0492c415c3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+78c81ee3917a99dcff6e2e6822800f0492c415c3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/obsidrielle/monstera 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" "+78c81ee3917a99dcff6e2e6822800f0492c415c3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded inkwell_internals v0.11.0
[INFO] [stderr]   Downloaded is_ci v1.2.0
[INFO] [stderr]   Downloaded supports-hyperlinks v3.1.0
[INFO] [stderr]   Downloaded llvm-sys v181.2.0
[INFO] [stderr]   Downloaded terminal_size v0.4.3
[INFO] [stderr]   Downloaded backtrace-ext v0.2.1
[INFO] [stderr]   Downloaded supports-unicode v3.0.0
[INFO] [stderr]   Downloaded supports-color v3.0.2
[INFO] [stderr]   Downloaded inkwell v0.6.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+78c81ee3917a99dcff6e2e6822800f0492c415c3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c1b7ad87174aef851184683329ab537992061172f91f3fb8758f5b83b4aa149b
[INFO] running `Command { std: "docker" "start" "-a" "c1b7ad87174aef851184683329ab537992061172f91f3fb8758f5b83b4aa149b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c1b7ad87174aef851184683329ab537992061172f91f3fb8758f5b83b4aa149b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c1b7ad87174aef851184683329ab537992061172f91f3fb8758f5b83b4aa149b", kill_on_drop: false }`
[INFO] [stdout] c1b7ad87174aef851184683329ab537992061172f91f3fb8758f5b83b4aa149b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+78c81ee3917a99dcff6e2e6822800f0492c415c3" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f51e61135bd1609df103268ab07f08622c883cce66a5e7ec38a14ef7290a8c57
[INFO] running `Command { std: "docker" "start" "-a" "f51e61135bd1609df103268ab07f08622c883cce66a5e7ec38a14ef7290a8c57", kill_on_drop: false }`
[INFO] [stderr]    Compiling object v0.36.7
[INFO] [stderr]    Compiling anyhow v1.0.98
[INFO] [stderr]    Compiling regex-lite v0.1.6
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]     Checking adler2 v2.0.1
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]     Checking gimli v0.31.1
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling rustix v1.0.8
[INFO] [stderr]     Checking miniz_oxide v0.8.9
[INFO] [stderr]    Compiling owo-colors v4.2.2
[INFO] [stderr]     Checking bitflags v2.9.1
[INFO] [stderr]     Checking rustc-demangle v0.1.26
[INFO] [stderr]     Checking linux-raw-sys v0.9.4
[INFO] [stderr]     Checking is_ci v1.2.0
[INFO] [stderr]     Checking unicode-width v0.2.1
[INFO] [stderr]    Compiling inkwell v0.6.0
[INFO] [stderr]     Checking unicode-linebreak v0.1.5
[INFO] [stderr]     Checking supports-color v3.0.2
[INFO] [stderr]    Compiling llvm-sys v181.2.0
[INFO] [stderr]     Checking textwrap v0.16.2
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking supports-unicode v3.0.0
[INFO] [stderr]     Checking supports-hyperlinks v3.1.0
[INFO] [stderr]     Checking strum v0.27.2
[INFO] [stderr]     Checking terminal_size v0.4.3
[INFO] [stderr]     Checking addr2line v0.24.2
[INFO] [stderr]    Compiling thiserror-impl v2.0.12
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling miette-derive v7.6.0
[INFO] [stderr]    Compiling inkwell_internals v0.11.0
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]     Checking backtrace v0.3.75
[INFO] [stderr]     Checking backtrace-ext v0.2.1
[INFO] [stderr]     Checking miette v7.6.0
[INFO] [stderr]    Compiling thiserror v2.0.12
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]    Compiling pest v2.8.1
[INFO] [stderr]    Compiling pest_meta v2.8.1
[INFO] [stderr]    Compiling pest_generator v2.8.1
[INFO] [stderr]    Compiling pest_derive v2.8.1
[INFO] [stderr]     Checking monstera v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::env::VarError`
[INFO] [stdout]  --> src/checker/graph.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::env::VarError;
[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 import: `Display`
[INFO] [stdout]  --> src/checker/graph.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fmt::{Debug, Display, Formatter};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Sub`
[INFO] [stdout]  --> src/checker/solver.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::Sub;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: glob import doesn't reexport anything with visibility `pub` because no imported item is public enough
[INFO] [stdout]  --> src/checker/mod.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use solver::*;
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the most public imported item is `pub(crate)`
[INFO] [stdout]  --> src/checker/mod.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use solver::*;
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout]   = help: reduce the glob import's visibility or increase visibility of imported items
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/checker/mod.rs:8:43
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::{BTreeSet, HashMap, HashSet};
[INFO] [stdout]   |                                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `both_unknown`
[INFO] [stdout]   --> src/checker/mod.rs:23:14
[INFO] [stdout]    |
[INFO] [stdout] 23 | macro_rules! both_unknown {
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env::VarError`
[INFO] [stdout]  --> src/checker/graph.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::env::VarError;
[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 import: `InstructionValue`
[INFO] [stdout]  --> src/compiler/context.rs:3:38
[INFO] [stdout]   |
[INFO] [stdout] 3 | use inkwell::values::{FunctionValue, InstructionValue, PointerValue};
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]  --> src/checker/graph.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fmt::{Debug, Display, Formatter};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FunctionValue`
[INFO] [stdout]  --> src/compiler/llvm.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use inkwell::values::{FunctionValue, InstructionValue};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Sub`
[INFO] [stdout]  --> src/checker/solver.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::ops::Sub;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parser::ast::Statement::If`
[INFO] [stdout]  --> src/compiler/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::parser::ast::Statement::If;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: glob import doesn't reexport anything with visibility `pub` because no imported item is public enough
[INFO] [stdout]  --> src/checker/mod.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use solver::*;
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the most public imported item is `pub(crate)`
[INFO] [stdout]  --> src/checker/mod.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub use solver::*;
[INFO] [stdout]   |         ^^^^^^^^^
[INFO] [stdout]   = help: reduce the glob import's visibility or increase visibility of imported items
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BasicMetadataTypeEnum`
[INFO] [stdout]   --> src/compiler/mod.rs:13:22
[INFO] [stdout]    |
[INFO] [stdout] 13 | use inkwell::types::{BasicMetadataTypeEnum, BasicType, BasicTypeEnum, IntType};
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> src/checker/mod.rs:8:43
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::collections::{BTreeSet, HashMap, HashSet};
[INFO] [stdout]   |                                           ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `both_unknown`
[INFO] [stdout]   --> src/checker/mod.rs:23:14
[INFO] [stdout]    |
[INFO] [stdout] 23 | macro_rules! both_unknown {
[INFO] [stdout]    |              ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `InstructionValue`
[INFO] [stdout]  --> src/compiler/context.rs:3:38
[INFO] [stdout]   |
[INFO] [stdout] 3 | use inkwell::values::{FunctionValue, InstructionValue, PointerValue};
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FunctionValue`
[INFO] [stdout]  --> src/compiler/llvm.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use inkwell::values::{FunctionValue, InstructionValue};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parser::ast::Statement::If`
[INFO] [stdout]  --> src/compiler/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::parser::ast::Statement::If;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BasicMetadataTypeEnum`
[INFO] [stdout]   --> src/compiler/mod.rs:13:22
[INFO] [stdout]    |
[INFO] [stdout] 13 | use inkwell::types::{BasicMetadataTypeEnum, BasicType, BasicTypeEnum, IntType};
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/error/parse.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use pest::error::{Error};
[INFO] [stdout]   |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parser::ast::Span`
[INFO] [stdout]  --> src/error/parse.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::parser::ast::Span;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parser::Rule`
[INFO] [stdout]  --> src/error/parse.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::parser::Rule;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/error/parse.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use pest::error::{Error};
[INFO] [stdout]   |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parser::ast::Span`
[INFO] [stdout]  --> src/error/parse.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::parser::ast::Span;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parser::Rule`
[INFO] [stdout]  --> src/error/parse.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::parser::Rule;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Span`
[INFO] [stdout]  --> src/parser/ast/block.rs:3:38
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::parser::ast::{Expression, Span, Spanned, parse_expression};
[INFO] [stdout]   |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Span`
[INFO] [stdout]  --> src/parser/ast/block.rs:3:38
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::parser::ast::{Expression, Span, Spanned, parse_expression};
[INFO] [stdout]   |                                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/parser/ast/types/struct_type.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/parser/ast/types/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: glob import doesn't reexport anything with visibility `pub` because no imported item is public enough
[INFO] [stdout]  --> src/parser/ast/types/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use array::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the most public imported item is `pub(crate)`
[INFO] [stdout]  --> src/parser/ast/types/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use array::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout]   = help: reduce the glob import's visibility or increase visibility of imported items
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: glob import doesn't reexport anything with visibility `pub` because no imported item is public enough
[INFO] [stdout]  --> src/parser/ast/types/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use int::*;
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the most public imported item is `pub(crate)`
[INFO] [stdout]  --> src/parser/ast/types/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use int::*;
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout]   = help: reduce the glob import's visibility or increase visibility of imported items
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lazy_static::lazy_static`
[INFO] [stdout]   --> src/parser/ast/types/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use lazy_static::lazy_static;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/parser/ast/types/struct_type.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/parser/ast/types/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: glob import doesn't reexport anything with visibility `pub` because no imported item is public enough
[INFO] [stdout]  --> src/parser/ast/types/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use array::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the most public imported item is `pub(crate)`
[INFO] [stdout]  --> src/parser/ast/types/mod.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use array::*;
[INFO] [stdout]   |         ^^^^^^^^
[INFO] [stdout]   = help: reduce the glob import's visibility or increase visibility of imported items
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: glob import doesn't reexport anything with visibility `pub` because no imported item is public enough
[INFO] [stdout]  --> src/parser/ast/types/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use int::*;
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: the most public imported item is `pub(crate)`
[INFO] [stdout]  --> src/parser/ast/types/mod.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use int::*;
[INFO] [stdout]   |         ^^^^^^
[INFO] [stdout]   = help: reduce the glob import's visibility or increase visibility of imported items
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `lazy_static::lazy_static`
[INFO] [stdout]   --> src/parser/ast/types/mod.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use lazy_static::lazy_static;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/checker/graph.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let mut debug_struct = f.debug_struct("Graph");
[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: `debug_struct`
[INFO] [stdout]   --> src/checker/graph.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let mut debug_struct = f.debug_struct("Graph");
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_debug_struct`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vertex`
[INFO] [stdout]    --> src/checker/graph.rs:124:17
[INFO] [stdout]     |
[INFO] [stdout] 124 |     fn add_edge(vertex: &mut HashMap<V, Vertex<V, P>>, src: V, dst: V) {
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_vertex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/checker/graph.rs:124:56
[INFO] [stdout]     |
[INFO] [stdout] 124 |     fn add_edge(vertex: &mut HashMap<V, Vertex<V, P>>, src: V, dst: V) {
[INFO] [stdout]     |                                                        ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/checker/graph.rs:124:64
[INFO] [stdout]     |
[INFO] [stdout] 124 |     fn add_edge(vertex: &mut HashMap<V, Vertex<V, P>>, src: V, dst: V) {
[INFO] [stdout]     |                                                                ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/checker/graph.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let mut debug_struct = f.debug_struct("Graph");
[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: `debug_struct`
[INFO] [stdout]   --> src/checker/graph.rs:25:13
[INFO] [stdout]    |
[INFO] [stdout] 25 |         let mut debug_struct = f.debug_struct("Graph");
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_debug_struct`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]   --> src/checker/solver.rs:68:38
[INFO] [stdout]    |
[INFO] [stdout] 68 |                     DType::Unknown { idx, kind } => {
[INFO] [stdout]    |                                      ^^^ help: try ignoring the field: `idx: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vertex`
[INFO] [stdout]    --> src/checker/graph.rs:124:17
[INFO] [stdout]     |
[INFO] [stdout] 124 |     fn add_edge(vertex: &mut HashMap<V, Vertex<V, P>>, src: V, dst: V) {
[INFO] [stdout]     |                 ^^^^^^ help: if this is intentional, prefix it with an underscore: `_vertex`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `src`
[INFO] [stdout]    --> src/checker/graph.rs:124:56
[INFO] [stdout]     |
[INFO] [stdout] 124 |     fn add_edge(vertex: &mut HashMap<V, Vertex<V, P>>, src: V, dst: V) {
[INFO] [stdout]     |                                                        ^^^ help: if this is intentional, prefix it with an underscore: `_src`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dst`
[INFO] [stdout]    --> src/checker/graph.rs:124:64
[INFO] [stdout]     |
[INFO] [stdout] 124 |     fn add_edge(vertex: &mut HashMap<V, Vertex<V, P>>, src: V, dst: V) {
[INFO] [stdout]     |                                                                ^^^ help: if this is intentional, prefix it with an underscore: `_dst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `idx`
[INFO] [stdout]   --> src/checker/solver.rs:68:38
[INFO] [stdout]    |
[INFO] [stdout] 68 |                     DType::Unknown { idx, kind } => {
[INFO] [stdout]    |                                      ^^^ help: try ignoring the field: `idx: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/checker/mod.rs:239:13
[INFO] [stdout]     |
[INFO] [stdout] 239 |             _ => unreachable!(),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/checker/mod.rs:239:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |             Statement::Expression(expression) => {
[INFO] [stdout]     |             --------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 124 |             Statement::Return(Spanned { node, .. }) => match &*node.expression {
[INFO] [stdout]     |             --------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 195 |             Statement::Assign(assign) => {
[INFO] [stdout]     |             ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 219 |             Statement::If(stat) => {
[INFO] [stdout]     |             ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 239 |             _ => unreachable!(),
[INFO] [stdout]     |             ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/checker/mod.rs:125:45
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 Expression::NumberLiteral { value, typ } => {
[INFO] [stdout]     |                                             ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `array`
[INFO] [stdout]    --> src/checker/mod.rs:193:35
[INFO] [stdout]     |
[INFO] [stdout] 193 |                 Expression::Array(array) => {}
[INFO] [stdout]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_array`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/checker/mod.rs:239:13
[INFO] [stdout]     |
[INFO] [stdout] 239 |             _ => unreachable!(),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/checker/mod.rs:239:13
[INFO] [stdout]     |
[INFO] [stdout] 121 |             Statement::Expression(expression) => {
[INFO] [stdout]     |             --------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 124 |             Statement::Return(Spanned { node, .. }) => match &*node.expression {
[INFO] [stdout]     |             --------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 195 |             Statement::Assign(assign) => {
[INFO] [stdout]     |             ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 219 |             Statement::If(stat) => {
[INFO] [stdout]     |             ------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 239 |             _ => unreachable!(),
[INFO] [stdout]     |             ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `array`
[INFO] [stdout]    --> src/checker/mod.rs:330:31
[INFO] [stdout]     |
[INFO] [stdout] 330 |             Expression::Array(array) => todo!(),
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_array`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/checker/mod.rs:125:45
[INFO] [stdout]     |
[INFO] [stdout] 125 |                 Expression::NumberLiteral { value, typ } => {
[INFO] [stdout]     |                                             ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `array`
[INFO] [stdout]    --> src/checker/mod.rs:193:35
[INFO] [stdout]     |
[INFO] [stdout] 193 |                 Expression::Array(array) => {}
[INFO] [stdout]     |                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_array`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/compiler/mod.rs:85:17
[INFO] [stdout]    |
[INFO] [stdout] 85 |             let name = (*function.name).clone();
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `array`
[INFO] [stdout]    --> src/checker/mod.rs:330:31
[INFO] [stdout]     |
[INFO] [stdout] 330 |             Expression::Array(array) => todo!(),
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_array`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/compiler/mod.rs:265:13
[INFO] [stdout]     |
[INFO] [stdout] 265 |             _ => {}
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/compiler/mod.rs:265:13
[INFO] [stdout]     |
[INFO] [stdout] 256 |             Statement::Assign(assign) => self.compile_assign_statement(assign),
[INFO] [stdout]     |             ------------------------- matches some of the same values
[INFO] [stdout] 257 |             Statement::Expression(_) => {}
[INFO] [stdout]     |             ------------------------ matches some of the same values
[INFO] [stdout] 258 |             Statement::Return(return_stat) => self.compile_return_statement(return_stat),
[INFO] [stdout]     |             ------------------------------ matches some of the same values
[INFO] [stdout] 259 |             Statement::Loop(stat) => self.compile_loop_statement(stat),
[INFO] [stdout]     |             --------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 265 |             _ => {}
[INFO] [stdout]     |             ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/compiler/mod.rs:85:17
[INFO] [stdout]    |
[INFO] [stdout] 85 |             let name = (*function.name).clone();
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/compiler/mod.rs:265:13
[INFO] [stdout]     |
[INFO] [stdout] 265 |             _ => {}
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/compiler/mod.rs:265:13
[INFO] [stdout]     |
[INFO] [stdout] 256 |             Statement::Assign(assign) => self.compile_assign_statement(assign),
[INFO] [stdout]     |             ------------------------- matches some of the same values
[INFO] [stdout] 257 |             Statement::Expression(_) => {}
[INFO] [stdout]     |             ------------------------ matches some of the same values
[INFO] [stdout] 258 |             Statement::Return(return_stat) => self.compile_return_statement(return_stat),
[INFO] [stdout]     |             ------------------------------ matches some of the same values
[INFO] [stdout] 259 |             Statement::Loop(stat) => self.compile_loop_statement(stat),
[INFO] [stdout]     |             --------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 265 |             _ => {}
[INFO] [stdout]     |             ^ ...and 2 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `array`
[INFO] [stdout]    --> src/compiler/mod.rs:400:31
[INFO] [stdout]     |
[INFO] [stdout] 400 |             Expression::Array(array) => todo!(),
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_array`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/compiler/mod.rs:426:21
[INFO] [stdout]     |
[INFO] [stdout] 426 |                     _ => todo!(),
[INFO] [stdout]     |                     ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/compiler/mod.rs:426:21
[INFO] [stdout]     |
[INFO] [stdout] 411 |                     BinaryOp::Add => build_int_arithmetic!(self, lhs, rhs, build_int_add),
[INFO] [stdout]     |                     ------------- matches some of the same values
[INFO] [stdout] 412 |                     BinaryOp::Subtract => build_int_arithmetic!(self, lhs, rhs, build_int_sub),
[INFO] [stdout]     |                     ------------------ matches some of the same values
[INFO] [stdout] 413 |                     BinaryOp::Multiply => build_int_arithmetic!(self, lhs, rhs, build_int_mul),
[INFO] [stdout]     |                     ------------------ matches some of the same values
[INFO] [stdout] 414 |                     BinaryOp::Divide => build_int_arithmetic!(self, lhs, rhs, build_int_signed_div),
[INFO] [stdout]     |                     ---------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 426 |                     _ => todo!(),
[INFO] [stdout]     |                     ^ ...and 8 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `array`
[INFO] [stdout]    --> src/compiler/mod.rs:400:31
[INFO] [stdout]     |
[INFO] [stdout] 400 |             Expression::Array(array) => todo!(),
[INFO] [stdout]     |                               ^^^^^ help: if this is intentional, prefix it with an underscore: `_array`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/compiler/mod.rs:426:21
[INFO] [stdout]     |
[INFO] [stdout] 426 |                     _ => todo!(),
[INFO] [stdout]     |                     ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/compiler/mod.rs:426:21
[INFO] [stdout]     |
[INFO] [stdout] 411 |                     BinaryOp::Add => build_int_arithmetic!(self, lhs, rhs, build_int_add),
[INFO] [stdout]     |                     ------------- matches some of the same values
[INFO] [stdout] 412 |                     BinaryOp::Subtract => build_int_arithmetic!(self, lhs, rhs, build_int_sub),
[INFO] [stdout]     |                     ------------------ matches some of the same values
[INFO] [stdout] 413 |                     BinaryOp::Multiply => build_int_arithmetic!(self, lhs, rhs, build_int_mul),
[INFO] [stdout]     |                     ------------------ matches some of the same values
[INFO] [stdout] 414 |                     BinaryOp::Divide => build_int_arithmetic!(self, lhs, rhs, build_int_signed_div),
[INFO] [stdout]     |                     ---------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 426 |                     _ => todo!(),
[INFO] [stdout]     |                     ^ ...and 8 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `src` is never read
[INFO] [stdout]   --> src/error/semantic.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     src: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_span` is never read
[INFO] [stdout]   --> src/error/semantic.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     expected_span: SourceSpan,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `found_span` is never read
[INFO] [stdout]   --> src/error/semantic.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     found_span: SourceSpan,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected` is never read
[INFO] [stdout]   --> src/error/semantic.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     expected: MaybeNull,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `found` is never read
[INFO] [stdout]   --> src/error/semantic.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     found: MaybeNull,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `src` is never read
[INFO] [stdout]   --> src/error/semantic.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     src: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_span` is never read
[INFO] [stdout]   --> src/error/semantic.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     expected_span: SourceSpan,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `found_span` is never read
[INFO] [stdout]   --> src/error/semantic.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     found_span: SourceSpan,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected` is never read
[INFO] [stdout]   --> src/error/semantic.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     expected: usize,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `found` is never read
[INFO] [stdout]   --> src/error/semantic.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     found: usize,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `name` is never read
[INFO] [stdout]   --> src/error/semantic.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `src` is never read
[INFO] [stdout]   --> src/error/semantic.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     src: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `span` is never read
[INFO] [stdout]   --> src/error/semantic.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     span: SourceSpan,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `variable` is never read
[INFO] [stdout]   --> src/error/semantic.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 |     variable: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `src` is never read
[INFO] [stdout]   --> src/error/semantic.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 |     src: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_span` is never read
[INFO] [stdout]    --> src/error/semantic.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 |     expected_span: SourceSpan,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `found_span` is never read
[INFO] [stdout]    --> src/error/semantic.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     found_span: SourceSpan,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected` is never read
[INFO] [stdout]    --> src/error/semantic.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     expected: MaybeNull,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `found` is never read
[INFO] [stdout]    --> src/error/semantic.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     found: MaybeNull,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `src` is never read
[INFO] [stdout]   --> src/error/semantic.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     src: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout]    = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_span` is never read
[INFO] [stdout]   --> src/error/semantic.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     expected_span: SourceSpan,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `found_span` is never read
[INFO] [stdout]   --> src/error/semantic.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     found_span: SourceSpan,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected` is never read
[INFO] [stdout]   --> src/error/semantic.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     expected: MaybeNull,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `found` is never read
[INFO] [stdout]   --> src/error/semantic.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     found: MaybeNull,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `src` is never read
[INFO] [stdout]    --> src/error/semantic.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 113 |     src: String,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `lhs_span` is never read
[INFO] [stdout]    --> src/error/semantic.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 |     lhs_span: SourceSpan,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `rhs_span` is never read
[INFO] [stdout]    --> src/error/semantic.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 |     rhs_span: SourceSpan,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `lhs` is never read
[INFO] [stdout]    --> src/error/semantic.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     lhs: MaybeNull,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `rhs` is never read
[INFO] [stdout]    --> src/error/semantic.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 |     rhs: MaybeNull,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `src` is never read
[INFO] [stdout]   --> src/error/semantic.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     src: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_span` is never read
[INFO] [stdout]   --> src/error/semantic.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     expected_span: SourceSpan,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `found_span` is never read
[INFO] [stdout]   --> src/error/semantic.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     found_span: SourceSpan,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected` is never read
[INFO] [stdout]   --> src/error/semantic.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     expected: usize,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `found` is never read
[INFO] [stdout]   --> src/error/semantic.rs:79:5
[INFO] [stdout]    |
[INFO] [stdout] 79 |     found: usize,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `name` is never read
[INFO] [stdout]   --> src/error/semantic.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     name: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `src` is never read
[INFO] [stdout]   --> src/error/semantic.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     src: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `span` is never read
[INFO] [stdout]   --> src/error/semantic.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     span: SourceSpan,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `variable` is never read
[INFO] [stdout]   --> src/error/semantic.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 |     variable: String,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `src` is never read
[INFO] [stdout]   --> src/error/semantic.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 |     src: String,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected_span` is never read
[INFO] [stdout]    --> src/error/semantic.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 |     expected_span: SourceSpan,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `found_span` is never read
[INFO] [stdout]    --> src/error/semantic.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 104 |     found_span: SourceSpan,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `expected` is never read
[INFO] [stdout]    --> src/error/semantic.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     expected: MaybeNull,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `found` is never read
[INFO] [stdout]    --> src/error/semantic.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |     found: MaybeNull,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `src` is never read
[INFO] [stdout]    --> src/error/semantic.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 113 |     src: String,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `lhs_span` is never read
[INFO] [stdout]    --> src/error/semantic.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 |     lhs_span: SourceSpan,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `rhs_span` is never read
[INFO] [stdout]    --> src/error/semantic.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 118 |     rhs_span: SourceSpan,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `lhs` is never read
[INFO] [stdout]    --> src/error/semantic.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     lhs: MaybeNull,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `rhs` is never read
[INFO] [stdout]    --> src/error/semantic.rs:119:5
[INFO] [stdout]     |
[INFO] [stdout] 119 |     rhs: MaybeNull,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `TypeBound` is more private than the item `solver::BoundSolver::<'a>::new`
[INFO] [stdout]   --> src/checker/solver.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(bounds: &'a Vec<TypeBound>) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `solver::BoundSolver::<'a>::new` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `TypeBound` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/checker/mod.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | enum TypeBound {
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print_bound` is never used
[INFO] [stdout]    --> src/checker/mod.rs:338:19
[INFO] [stdout]     |
[INFO] [stdout]  41 | impl TypeChecker {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub(crate) fn print_bound(&self) {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `vertex_mut` is never used
[INFO] [stdout]   --> src/checker/graph.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub trait GraphBehavior<V, P>: private::Sealed
[INFO] [stdout]    |           ------------- associated function in this trait
[INFO] [stdout] ...
[INFO] [stdout] 78 |     fn vertex_mut<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Directed` is never constructed
[INFO] [stdout]    --> src/checker/graph.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct Directed;
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `vertex_mut` is never used
[INFO] [stdout]    --> src/checker/graph.rs:147:12
[INFO] [stdout]     |
[INFO] [stdout] 129 | / impl<V, P, T> Graph<V, P, T>
[INFO] [stdout] 130 | | where
[INFO] [stdout] 131 | |     V: Eq + Hash + Clone,
[INFO] [stdout] 132 | |     P: Default,
[INFO] [stdout] 133 | |     T: GraphBehavior<V, P>,
[INFO] [stdout]     | |___________________________- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 147 |       pub fn vertex_mut(&mut self, name: &V) -> Option<&mut Vertex<V, P>> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_function` is never read
[INFO] [stdout]   --> src/compiler/mod.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub(crate) struct Compiler<'ctx> {
[INFO] [stdout]    |                   -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 61 |     current_function: Option<FunctionValue<'ctx>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_new_block_scope` is never used
[INFO] [stdout]    --> src/compiler/mod.rs:486:8
[INFO] [stdout]     |
[INFO] [stdout]  66 | impl<'ctx> Compiler<'ctx> {
[INFO] [stdout]     | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 486 |     fn with_new_block_scope<F, R>(&mut self, f: F) -> R
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SemanticContext` is never constructed
[INFO] [stdout]  --> src/compiler/context.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) struct SemanticContext<'ctx> {
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `current_function`, `variable_addr`, and `variable` are never used
[INFO] [stdout]   --> src/compiler/context.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl<'ctx> SemanticContext<'ctx> {
[INFO] [stdout]    | -------------------------------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new(substitution: Substitution) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn current_function(&self) -> Option<FunctionValue<'ctx>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn variable_addr(&self, name: &str) -> PointerValue<'ctx> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn variable(&self, name: &str) -> Variable<'ctx> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LLVMBackend` is never constructed
[INFO] [stdout]  --> src/compiler/llvm.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) struct LLVMBackend<'ctx> {
[INFO] [stdout]   |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `current_basic_block`, and `terminator` are never used
[INFO] [stdout]   --> src/compiler/llvm.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<'ctx> LLVMBackend<'ctx> {
[INFO] [stdout]    | ---------------------------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn new(context: &'ctx inkwell::context::Context) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn current_basic_block(&self) -> BasicBlock<'ctx> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn terminator(&self) -> Option<InstructionValue<'ctx>> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CompilerError` is never used
[INFO] [stdout]   --> src/error/mod.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(crate) enum CompilerError {}
[INFO] [stdout]    |                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/error/semantic.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     UndefinedFunction {
[INFO] [stdout]    |     ----------------- field in this variant
[INFO] [stdout] 17 |         name: Spanned<String>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SemanticError` 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 `typ` is never read
[INFO] [stdout]   --> src/error/semantic.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |     MaybeNullOfPrimitiveType {
[INFO] [stdout]    |     ------------------------ field in this variant
[INFO] [stdout] 50 |         typ: Spanned<MaybeNull>,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SemanticError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `NotAFunction`, `DuplicateDefinition`, `InvalidOperator`, `ReturnValueFromUnitFunction`, and `InvalidMainSignature` are never constructed
[INFO] [stdout]   --> src/error/semantic.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum SemanticError {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 20 |     NotAFunction(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 21 |
[INFO] [stdout] 22 |     DuplicateDefinition(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     InvalidOperator {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     ReturnValueFromUnitFunction,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 46 |
[INFO] [stdout] 47 |     InvalidMainSignature,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SemanticError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into_inner` is never used
[INFO] [stdout]   --> src/parser/ast/mod.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 85 | impl<T> Spanned<T> {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub fn into_inner(self) -> T {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_params` is never used
[INFO] [stdout]   --> src/parser/ast/function.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl Function {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 45 |     pub fn get_params(&self) -> &Vec<Spanned<Param>> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_compare` is never used
[INFO] [stdout]   --> src/parser/ast/op.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl BinaryOp {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn is_compare(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_number` and `is_compositive` are never used
[INFO] [stdout]   --> src/parser/ast/types/mod.rs:66:19
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl DType {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] 66 |     pub(crate) fn is_number(&self) -> bool {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub(crate) fn is_compositive(&self) -> bool {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `type_ref` and `type_ref_by_name` are never used
[INFO] [stdout]   --> src/parser/ast/types/arena.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Arena {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn type_ref(&self, index: u64) -> &CompositeType {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn type_ref_by_name(&self, name: &str) -> Option<&CompositeType> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/parser/ast/array.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 |     List(Spanned<ListExpression>),
[INFO] [stdout]   |     ---- ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Array` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 7 -     List(Spanned<ListExpression>),
[INFO] [stdout] 7 +     List(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/parser/ast/array.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Repeat(Spanned<RepeatExpression>),
[INFO] [stdout]   |     ------ ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Array` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 8 -     Repeat(Spanned<RepeatExpression>),
[INFO] [stdout] 8 +     Repeat(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expressions` is never read
[INFO] [stdout]   --> src/parser/ast/array.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct ListExpression {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 26 |     pub expressions: Vec<Spanned<Expression>>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ListExpression` 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 `expression` and `length` are never read
[INFO] [stdout]   --> src/parser/ast/array.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct RepeatExpression {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 40 |     pub expression: Spanned<Expression>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 41 |     pub length: Spanned<u64>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RepeatExpression` 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 `IRContext` is never constructed
[INFO] [stdout]  --> src/parser/ir.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub(crate) struct IRContext {}
[INFO] [stdout]   |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `TypeBound` is more private than the item `solver::BoundSolver::<'a>::new`
[INFO] [stdout]   --> src/checker/solver.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new(bounds: &'a Vec<TypeBound>) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ associated function `solver::BoundSolver::<'a>::new` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `TypeBound` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/checker/mod.rs:37:1
[INFO] [stdout]    |
[INFO] [stdout] 37 | enum TypeBound {
[INFO] [stdout]    | ^^^^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print_bound` is never used
[INFO] [stdout]    --> src/checker/mod.rs:338:19
[INFO] [stdout]     |
[INFO] [stdout]  41 | impl TypeChecker {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub(crate) fn print_bound(&self) {
[INFO] [stdout]     |                   ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `vertex_mut` is never used
[INFO] [stdout]   --> src/checker/graph.rs:78:8
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub trait GraphBehavior<V, P>: private::Sealed
[INFO] [stdout]    |           ------------- associated function in this trait
[INFO] [stdout] ...
[INFO] [stdout] 78 |     fn vertex_mut<'a>(
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Directed` is never constructed
[INFO] [stdout]    --> src/checker/graph.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct Directed;
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `vertex_mut` is never used
[INFO] [stdout]    --> src/checker/graph.rs:147:12
[INFO] [stdout]     |
[INFO] [stdout] 129 | / impl<V, P, T> Graph<V, P, T>
[INFO] [stdout] 130 | | where
[INFO] [stdout] 131 | |     V: Eq + Hash + Clone,
[INFO] [stdout] 132 | |     P: Default,
[INFO] [stdout] 133 | |     T: GraphBehavior<V, P>,
[INFO] [stdout]     | |___________________________- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 147 |       pub fn vertex_mut(&mut self, name: &V) -> Option<&mut Vertex<V, P>> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_function` is never read
[INFO] [stdout]   --> src/compiler/mod.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub(crate) struct Compiler<'ctx> {
[INFO] [stdout]    |                   -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 61 |     current_function: Option<FunctionValue<'ctx>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_new_block_scope` is never used
[INFO] [stdout]    --> src/compiler/mod.rs:486:8
[INFO] [stdout]     |
[INFO] [stdout]  66 | impl<'ctx> Compiler<'ctx> {
[INFO] [stdout]     | ------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 486 |     fn with_new_block_scope<F, R>(&mut self, f: F) -> R
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SemanticContext` is never constructed
[INFO] [stdout]  --> src/compiler/context.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) struct SemanticContext<'ctx> {
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `current_function`, `variable_addr`, and `variable` are never used
[INFO] [stdout]   --> src/compiler/context.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl<'ctx> SemanticContext<'ctx> {
[INFO] [stdout]    | -------------------------------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new(substitution: Substitution) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn current_function(&self) -> Option<FunctionValue<'ctx>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn variable_addr(&self, name: &str) -> PointerValue<'ctx> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub fn variable(&self, name: &str) -> Variable<'ctx> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LLVMBackend` is never constructed
[INFO] [stdout]  --> src/compiler/llvm.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub(crate) struct LLVMBackend<'ctx> {
[INFO] [stdout]   |                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `current_basic_block`, and `terminator` are never used
[INFO] [stdout]   --> src/compiler/llvm.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl<'ctx> LLVMBackend<'ctx> {
[INFO] [stdout]    | ---------------------------- associated items in this implementation
[INFO] [stdout] 13 |     pub fn new(context: &'ctx inkwell::context::Context) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn current_basic_block(&self) -> BasicBlock<'ctx> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn terminator(&self) -> Option<InstructionValue<'ctx>> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CompilerError` is never used
[INFO] [stdout]   --> src/error/mod.rs:10:17
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(crate) enum CompilerError {}
[INFO] [stdout]    |                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/error/semantic.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 16 |     UndefinedFunction {
[INFO] [stdout]    |     ----------------- field in this variant
[INFO] [stdout] 17 |         name: Spanned<String>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SemanticError` 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 `typ` is never read
[INFO] [stdout]   --> src/error/semantic.rs:50:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |     MaybeNullOfPrimitiveType {
[INFO] [stdout]    |     ------------------------ field in this variant
[INFO] [stdout] 50 |         typ: Spanned<MaybeNull>,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SemanticError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `NotAFunction`, `DuplicateDefinition`, `InvalidOperator`, `ReturnValueFromUnitFunction`, and `InvalidMainSignature` are never constructed
[INFO] [stdout]   --> src/error/semantic.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum SemanticError {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 20 |     NotAFunction(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 21 |
[INFO] [stdout] 22 |     DuplicateDefinition(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     InvalidOperator {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     ReturnValueFromUnitFunction,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 46 |
[INFO] [stdout] 47 |     InvalidMainSignature,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SemanticError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into_inner` is never used
[INFO] [stdout]   --> src/parser/ast/mod.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 85 | impl<T> Spanned<T> {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub fn into_inner(self) -> T {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_params` is never used
[INFO] [stdout]   --> src/parser/ast/function.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 44 | impl Function {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 45 |     pub fn get_params(&self) -> &Vec<Spanned<Param>> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_compare` is never used
[INFO] [stdout]   --> src/parser/ast/op.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl BinaryOp {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn is_compare(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_number` and `is_compositive` are never used
[INFO] [stdout]   --> src/parser/ast/types/mod.rs:66:19
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl DType {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] 66 |     pub(crate) fn is_number(&self) -> bool {
[INFO] [stdout]    |                   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub(crate) fn is_compositive(&self) -> bool {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `type_ref` and `type_ref_by_name` are never used
[INFO] [stdout]   --> src/parser/ast/types/arena.rs:60:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl Arena {
[INFO] [stdout]    | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn type_ref(&self, index: u64) -> &CompositeType {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn type_ref_by_name(&self, name: &str) -> Option<&CompositeType> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/parser/ast/array.rs:7:10
[INFO] [stdout]   |
[INFO] [stdout] 7 |     List(Spanned<ListExpression>),
[INFO] [stdout]   |     ---- ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Array` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 7 -     List(Spanned<ListExpression>),
[INFO] [stdout] 7 +     List(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/parser/ast/array.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Repeat(Spanned<RepeatExpression>),
[INFO] [stdout]   |     ------ ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Array` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 8 -     Repeat(Spanned<RepeatExpression>),
[INFO] [stdout] 8 +     Repeat(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expressions` is never read
[INFO] [stdout]   --> src/parser/ast/array.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct ListExpression {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 26 |     pub expressions: Vec<Spanned<Expression>>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ListExpression` 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 `expression` and `length` are never read
[INFO] [stdout]   --> src/parser/ast/array.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct RepeatExpression {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 40 |     pub expression: Spanned<Expression>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 41 |     pub length: Spanned<u64>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `RepeatExpression` 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 `IRContext` is never constructed
[INFO] [stdout]  --> src/parser/ir.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub(crate) struct IRContext {}
[INFO] [stdout]   |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.55s
[INFO] running `Command { std: "docker" "inspect" "f51e61135bd1609df103268ab07f08622c883cce66a5e7ec38a14ef7290a8c57", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f51e61135bd1609df103268ab07f08622c883cce66a5e7ec38a14ef7290a8c57", kill_on_drop: false }`
[INFO] [stdout] f51e61135bd1609df103268ab07f08622c883cce66a5e7ec38a14ef7290a8c57
