[INFO] cloning repository https://github.com/septemhill/hz
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/septemhill/hz" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseptemhill%2Fhz", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseptemhill%2Fhz'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 36faec046c695e87c893969bf94d987e0270886e
[INFO] checking septemhill/hz against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fseptemhill%2Fhz" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/septemhill/hz
[INFO] finished tweaking git repo https://github.com/septemhill/hz
[INFO] tweaked toml for git repo https://github.com/septemhill/hz written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/septemhill/hz on toolchain a5689b034ad287112f709693384a37f1377eb9cc
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/septemhill/hz 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" "+a5689b034ad287112f709693384a37f1377eb9cc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 411e242e25e82211b4b805eefcc26be5161edb53c47af471641a73d3f144ade1
[INFO] running `Command { std: "docker" "start" "411e242e25e82211b4b805eefcc26be5161edb53c47af471641a73d3f144ade1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "411e242e25e82211b4b805eefcc26be5161edb53c47af471641a73d3f144ade1", 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" "411e242e25e82211b4b805eefcc26be5161edb53c47af471641a73d3f144ade1" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "411e242e25e82211b4b805eefcc26be5161edb53c47af471641a73d3f144ade1", 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" "411e242e25e82211b4b805eefcc26be5161edb53c47af471641a73d3f144ade1" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling regex-lite v0.1.9
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking anstream v1.0.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking clap_lex v1.0.0
[INFO] [stderr]    Compiling inkwell v0.8.0
[INFO] [stderr]     Checking jiff v0.2.23
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking clap_builder v4.6.0
[INFO] [stderr]    Compiling llvm-sys v211.0.0
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking env_filter v1.0.0
[INFO] [stderr]     Checking env_logger v0.11.10
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling inkwell_internals v0.13.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking clap v4.6.0
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking lang v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::ast`
[INFO] [stdout]   --> src/build.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::ast;
[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: `BasicTypeEnum`
[INFO] [stdout]  --> src/builtin/align_of.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | use inkwell::types::{BasicType, BasicTypeEnum};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::hash_map::Entry`
[INFO] [stdout]  --> src/codegen/hir_codegen/expr.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::hash_map::Entry;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]   --> src/sema/treeshaker.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]    |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ast`
[INFO] [stdout]   --> src/build.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::ast;
[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: `BasicTypeEnum`
[INFO] [stdout]  --> src/builtin/align_of.rs:4:33
[INFO] [stdout]   |
[INFO] [stdout] 4 | use inkwell::types::{BasicType, BasicTypeEnum};
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::hash_map::Entry`
[INFO] [stdout]  --> src/codegen/hir_codegen/expr.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::hash_map::Entry;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]   --> src/sema/treeshaker.rs:11:24
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]    |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `inkwell::types::BasicType`
[INFO] [stdout]  --> src/builtin/type_of.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use inkwell::types::BasicType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `inkwell::types::BasicType`
[INFO] [stdout]  --> src/builtin/type_of.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use inkwell::types::BasicType;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ty`
[INFO] [stdout]    --> src/hir.rs:515:17
[INFO] [stdout]     |
[INFO] [stdout] 515 |                 ty,
[INFO] [stdout]     |                 ^^ help: try ignoring the field: `ty: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ty`
[INFO] [stdout]    --> src/hir.rs:555:34
[INFO] [stdout]     |
[INFO] [stdout] 555 |             HirExpr::Try { expr, ty, .. } => {
[INFO] [stdout]     |                                  ^^ help: try ignoring the field: `ty: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ty`
[INFO] [stdout]    --> src/hir.rs:562:17
[INFO] [stdout]     |
[INFO] [stdout] 562 |                 ty,
[INFO] [stdout]     |                 ^^ help: try ignoring the field: `ty: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i64_type`
[INFO] [stdout]    --> src/codegen/tests.rs:406:9
[INFO] [stdout]     |
[INFO] [stdout] 406 |     let i64_type = context.i64_type();
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_i64_type`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ty`
[INFO] [stdout]    --> src/hir.rs:515:17
[INFO] [stdout]     |
[INFO] [stdout] 515 |                 ty,
[INFO] [stdout]     |                 ^^ help: try ignoring the field: `ty: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ty`
[INFO] [stdout]    --> src/hir.rs:555:34
[INFO] [stdout]     |
[INFO] [stdout] 555 |             HirExpr::Try { expr, ty, .. } => {
[INFO] [stdout]     |                                  ^^ help: try ignoring the field: `ty: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ty`
[INFO] [stdout]    --> src/hir.rs:562:17
[INFO] [stdout]     |
[INFO] [stdout] 562 |                 ty,
[INFO] [stdout]     |                 ^^ help: try ignoring the field: `ty: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/lexer/tests.rs:686:9
[INFO] [stdout]     |
[INFO] [stdout] 686 |     let mut iter = LexerIterator::new(source);
[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: `value`
[INFO] [stdout]    --> src/sema/mutability.rs:519:17
[INFO] [stdout]     |
[INFO] [stdout] 519 |                 value,
[INFO] [stdout]     |                 ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `peeked_1`
[INFO] [stdout]    --> src/lexer/tests.rs:978:9
[INFO] [stdout]     |
[INFO] [stdout] 978 |     let peeked_1 = iter.peek(1);
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_peeked_1`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `capture`
[INFO] [stdout]    --> src/lower.rs:282:17
[INFO] [stdout]     |
[INFO] [stdout] 282 |                 capture,
[INFO] [stdout]     |                 ^^^^^^^ help: try ignoring the field: `capture: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `std_path` is never read
[INFO] [stdout]   --> src/sema/mod.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct SemanticAnalyzer {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub std_path: String,
[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 items `with_std_path` and `analyze` are never used
[INFO] [stdout]    --> src/sema/mod.rs:64:12
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl SemanticAnalyzer {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  64 |     pub fn with_std_path(std_path: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 373 |     pub fn analyze(&mut self, program: &mut crate::ast::Program) -> AnalysisResult<()> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `align_to_u64` is never used
[INFO] [stdout]    --> src/sema/infer.rs:313:4
[INFO] [stdout]     |
[INFO] [stdout] 313 | fn align_to_u64(value: u64, align: u64) -> AnalysisResult<u64> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ast_functions` and `ast_structs` are never read
[INFO] [stdout]    --> src/sema/infer.rs:396:9
[INFO] [stdout]     |
[INFO] [stdout] 387 | pub struct TypedProgram {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 396 |     pub ast_functions: Vec<crate::ast::FnDef>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 397 |     /// Original AST-level struct definitions (including monomorphized ones) for the lowering pass
[INFO] [stdout] 398 |     pub ast_structs: Vec<crate::ast::StructDef>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TypedProgram` 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: function `contains_varargs_marker` is never used
[INFO] [stdout]    --> src/sema/infer.rs:454:4
[INFO] [stdout]     |
[INFO] [stdout] 454 | fn contains_varargs_marker(ty: &Type) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `builtin_layout_of`, `type_layout_of`, `aggregate_layout_of`, and `infer_type_args` are never used
[INFO] [stdout]     --> src/sema/infer.rs:530:8
[INFO] [stdout]      |
[INFO] [stdout]  494 | impl TypeInferrer {
[INFO] [stdout]      | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  530 |     fn builtin_layout_of(&mut self, ty: &Type) -> AnalysisResult<(u64, u64)> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  536 |     fn type_layout_of(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  635 |     fn aggregate_layout_of(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1383 |     fn infer_type_args(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_struct` is never read
[INFO] [stdout]   --> src/sema/mutability.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct TypeInfo {
[INFO] [stdout]    |        -------- field in this struct
[INFO] [stdout] 19 |     name: String,
[INFO] [stdout] 20 |     is_struct: bool,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TypeInfo` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `contains` is never used
[INFO] [stdout]   --> src/sema/symbol.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl SymbolTable {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub fn contains(&self, name: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `reachable_errors` is never read
[INFO] [stdout]   --> src/sema/treeshaker.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct TreeShaker {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     reachable_errors: HashSet<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `reachable_generic_instantiations` is never read
[INFO] [stdout]    --> src/sema/treeshaker.rs:474:9
[INFO] [stdout]     |
[INFO] [stdout] 470 | pub struct TreeShakerStats {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 474 |     pub reachable_generic_instantiations: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TreeShakerStats` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_all_types` and `len` are never used
[INFO] [stdout]   --> src/sema/typelist.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl TypeRegistry {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn get_all_types(&self) -> Vec<(u32, Type)> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collect_types_from_program` is never used
[INFO] [stdout]    --> src/sema/typelist.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn collect_types_from_program(program: &crate::ast::Program) -> Vec<Type> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collect_fn_types` is never used
[INFO] [stdout]    --> src/sema/typelist.rs:179:4
[INFO] [stdout]     |
[INFO] [stdout] 179 | fn collect_fn_types(fn_def: &crate::ast::FnDef, types: &mut Vec<Type>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collect_types_from_stmt` is never used
[INFO] [stdout]    --> src/sema/typelist.rs:195:4
[INFO] [stdout]     |
[INFO] [stdout] 195 | fn collect_types_from_stmt(stmt: &crate::ast::Stmt, types: &mut Vec<Type>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collect_types_from_expr` is never used
[INFO] [stdout]    --> src/sema/typelist.rs:255:4
[INFO] [stdout]     |
[INFO] [stdout] 255 | fn collect_types_from_expr(expr: &crate::ast::Expr, types: &mut Vec<Type>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collect_types_from_type` is never used
[INFO] [stdout]    --> src/sema/typelist.rs:342:8
[INFO] [stdout]     |
[INFO] [stdout] 342 | pub fn collect_types_from_type(ty: &Type, types: &mut Vec<Type>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `keys` is never used
[INFO] [stdout]   --> src/cmd/env.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl CompilerEnv {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn keys(&self) -> impl Iterator<Item = &String> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `location` is never read
[INFO] [stdout]   --> src/cmd/symbol.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct SymbolInfo {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub location: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_debug` is never used
[INFO] [stdout]  --> src/debug.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn set_debug(_enabled: bool) {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `AggregateValueEnum<'_>`
[INFO] [stdout]    --> src/codegen/ast_codegen.rs:659:34
[INFO] [stdout]     |
[INFO] [stdout] 659 |                       struct_val = self
[INFO] [stdout]     |  __________________________________^
[INFO] [stdout] 660 | |                         .builder
[INFO] [stdout] 661 | |                         .build_insert_value(
[INFO] [stdout] 662 | |                             struct_val.into_struct_value(),
[INFO] [stdout] ...   |
[INFO] [stdout] 666 | |                         )?
[INFO] [stdout] 667 | |                         .into();
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 666 -                         )?
[INFO] [stdout] 667 -                         .into();
[INFO] [stdout] 666 +                         )?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 659 ~                     struct_val = <AggregateValueEnum<'_> as Into<_>>::into(self
[INFO] [stdout] 660 |                         .builder
[INFO] [stdout] ...
[INFO] [stdout] 665 |                             "tuple_elem",
[INFO] [stdout] 666 ~                         )?);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]    --> src/codegen/ast_codegen.rs:684:28
[INFO] [stdout]     |
[INFO] [stdout] 684 |                         Ok(elem.into())
[INFO] [stdout]     |                            ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 684 -                         Ok(elem.into())
[INFO] [stdout] 684 +                         Ok(elem)
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 684 -                         Ok(elem.into())
[INFO] [stdout] 684 +                         Ok(<inkwell::values::BasicValueEnum<'_> as Into<_>>::into(elem))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]    --> src/codegen/ast_codegen.rs:706:43
[INFO] [stdout]     |
[INFO] [stdout] 706 | ...                   return Ok(elem.into());
[INFO] [stdout]     |                                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 706 -                                 return Ok(elem.into());
[INFO] [stdout] 706 +                                 return Ok(elem);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 706 -                                 return Ok(elem.into());
[INFO] [stdout] 706 +                                 return Ok(<inkwell::values::BasicValueEnum<'_> as Into<_>>::into(elem));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]    --> src/codegen/ast_codegen.rs:713:28
[INFO] [stdout]     |
[INFO] [stdout] 713 |                         Ok(loaded.into())
[INFO] [stdout]     |                            ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 713 -                         Ok(loaded.into())
[INFO] [stdout] 713 +                         Ok(loaded)
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 713 -                         Ok(loaded.into())
[INFO] [stdout] 713 +                         Ok(<inkwell::values::BasicValueEnum<'_> as Into<_>>::into(loaded))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]    --> src/codegen/ast_codegen.rs:731:20
[INFO] [stdout]     |
[INFO] [stdout] 731 |                 Ok(load.into())
[INFO] [stdout]     |                    ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 731 -                 Ok(load.into())
[INFO] [stdout] 731 +                 Ok(load)
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 731 -                 Ok(load.into())
[INFO] [stdout] 731 +                 Ok(<inkwell::values::BasicValueEnum<'_> as Into<_>>::into(load))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]    --> src/codegen/ast_codegen.rs:921:21
[INFO] [stdout]     |
[INFO] [stdout] 921 | /                     self.builder
[INFO] [stdout] 922 | |                         .build_select(lhs_nonzero, rhs_nonzero, zero, "and_result")?
[INFO] [stdout] 923 | |                         .into()
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 922 -                         .build_select(lhs_nonzero, rhs_nonzero, zero, "and_result")?
[INFO] [stdout] 923 -                         .into()
[INFO] [stdout] 922 +                         .build_select(lhs_nonzero, rhs_nonzero, zero, "and_result")?
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 921 ~                     <inkwell::values::BasicValueEnum<'_> as Into<_>>::into(self.builder
[INFO] [stdout] 922 ~                         .build_select(lhs_nonzero, rhs_nonzero, zero, "and_result")?)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]    --> src/codegen/ast_codegen.rs:925:21
[INFO] [stdout]     |
[INFO] [stdout] 925 | /                     self.builder
[INFO] [stdout] 926 | |                         .build_select(
[INFO] [stdout] 927 | |                             lhs_nonzero,
[INFO] [stdout] 928 | |                             i64_type.const_int(1, false),
[INFO] [stdout] ...   |
[INFO] [stdout] 931 | |                         )?
[INFO] [stdout] 932 | |                         .into()
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 931 -                         )?
[INFO] [stdout] 932 -                         .into()
[INFO] [stdout] 931 +                         )?
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 925 ~                     <inkwell::values::BasicValueEnum<'_> as Into<_>>::into(self.builder
[INFO] [stdout] 926 |                         .build_select(
[INFO] [stdout] ...
[INFO] [stdout] 930 |                             "or_result",
[INFO] [stdout] 931 ~                         )?)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::types::BasicTypeEnum<'_>`
[INFO] [stdout]     --> src/codegen/ast_codegen.rs:1573:36
[INFO] [stdout]      |
[INFO] [stdout] 1573 |                     .struct_type(&[value_type.into(), bool_type.into()], false)
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1573 -                     .struct_type(&[value_type.into(), bool_type.into()], false)
[INFO] [stdout] 1573 +                     .struct_type(&[value_type, bool_type.into()], false)
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1573 -                     .struct_type(&[value_type.into(), bool_type.into()], false)
[INFO] [stdout] 1573 +                     .struct_type(&[<inkwell::types::BasicTypeEnum<'_> as Into<_>>::into(value_type), bool_type.into()], false)
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::types::BasicTypeEnum<'_>`
[INFO] [stdout]     --> src/codegen/ast_codegen.rs:1581:36
[INFO] [stdout]      |
[INFO] [stdout] 1581 |                     .struct_type(&[value_type.into(), bool_type.into()], false)
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1581 -                     .struct_type(&[value_type.into(), bool_type.into()], false)
[INFO] [stdout] 1581 +                     .struct_type(&[value_type, bool_type.into()], false)
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1581 -                     .struct_type(&[value_type.into(), bool_type.into()], false)
[INFO] [stdout] 1581 +                     .struct_type(&[<inkwell::types::BasicTypeEnum<'_> as Into<_>>::into(value_type), bool_type.into()], false)
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `AggregateValueEnum<'_>`
[INFO] [stdout]    --> src/codegen/hir_codegen/control_flow.rs:435:26
[INFO] [stdout]     |
[INFO] [stdout] 435 |               new_struct = self
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 436 | |                 .builder
[INFO] [stdout] 437 | |                 .build_insert_value(
[INFO] [stdout] 438 | |                     new_struct.into_struct_value(),
[INFO] [stdout] ...   |
[INFO] [stdout] 442 | |                 )?
[INFO] [stdout] 443 | |                 .into();
[INFO] [stdout]     | |_______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 442 -                 )?
[INFO] [stdout] 443 -                 .into();
[INFO] [stdout] 442 +                 )?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 435 ~             new_struct = <AggregateValueEnum<'_> as Into<_>>::into(self
[INFO] [stdout] 436 |                 .builder
[INFO] [stdout] ...
[INFO] [stdout] 441 |                     "new_iter",
[INFO] [stdout] 442 ~                 )?);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `AggregateValueEnum<'_>`
[INFO] [stdout]    --> src/codegen/hir_codegen/control_flow.rs:444:26
[INFO] [stdout]     |
[INFO] [stdout] 444 |               new_struct = self
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 445 | |                 .builder
[INFO] [stdout] 446 | |                 .build_insert_value(new_struct.into_struct_value(), end, 1, "new_iter_final")?
[INFO] [stdout] 447 | |                 .into();
[INFO] [stdout]     | |_______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 446 -                 .build_insert_value(new_struct.into_struct_value(), end, 1, "new_iter_final")?
[INFO] [stdout] 447 -                 .into();
[INFO] [stdout] 446 +                 .build_insert_value(new_struct.into_struct_value(), end, 1, "new_iter_final")?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 444 ~             new_struct = <AggregateValueEnum<'_> as Into<_>>::into(self
[INFO] [stdout] 445 |                 .builder
[INFO] [stdout] 446 ~                 .build_insert_value(new_struct.into_struct_value(), end, 1, "new_iter_final")?);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]    --> src/codegen/hir_codegen/control_flow.rs:736:16
[INFO] [stdout]     |
[INFO] [stdout] 736 |             Ok(value.into())
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 736 -             Ok(value.into())
[INFO] [stdout] 736 +             Ok(value)
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 736 -             Ok(value.into())
[INFO] [stdout] 736 +             Ok(<inkwell::values::BasicValueEnum<'_> as Into<_>>::into(value))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::types::BasicTypeEnum<'_>`
[INFO] [stdout]    --> src/codegen/hir_codegen/expr.rs:192:36
[INFO] [stdout]     |
[INFO] [stdout] 192 |                     .struct_type(&[val_type.into(), is_valid_type.into()], false);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 192 -                     .struct_type(&[val_type.into(), is_valid_type.into()], false);
[INFO] [stdout] 192 +                     .struct_type(&[val_type, is_valid_type.into()], false);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 192 -                     .struct_type(&[val_type.into(), is_valid_type.into()], false);
[INFO] [stdout] 192 +                     .struct_type(&[<inkwell::types::BasicTypeEnum<'_> as Into<_>>::into(val_type), is_valid_type.into()], false);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]    --> src/codegen/hir_codegen/expr.rs:207:20
[INFO] [stdout]     |
[INFO] [stdout] 207 |                   Ok(self
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 208 | |                     .builder
[INFO] [stdout] 209 | |                     .build_load(struct_type, alloca, "tuple_load")?
[INFO] [stdout] 210 | |                     .into())
[INFO] [stdout]     | |___________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 209 -                     .build_load(struct_type, alloca, "tuple_load")?
[INFO] [stdout] 210 -                     .into())
[INFO] [stdout] 209 +                     .build_load(struct_type, alloca, "tuple_load")?)
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 207 ~                 Ok(<inkwell::values::BasicValueEnum<'_> as Into<_>>::into(self
[INFO] [stdout] 208 |                     .builder
[INFO] [stdout] 209 ~                     .build_load(struct_type, alloca, "tuple_load")?))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]    --> src/codegen/hir_codegen/expr.rs:222:28
[INFO] [stdout]     |
[INFO] [stdout] 222 |                         Ok(extracted.into())
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 222 -                         Ok(extracted.into())
[INFO] [stdout] 222 +                         Ok(extracted)
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 222 -                         Ok(extracted.into())
[INFO] [stdout] 222 +                         Ok(<inkwell::values::BasicValueEnum<'_> as Into<_>>::into(extracted))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]    --> src/codegen/hir_codegen/expr.rs:309:20
[INFO] [stdout]     |
[INFO] [stdout] 309 |                 Ok(val.into())
[INFO] [stdout]     |                    ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 309 -                 Ok(val.into())
[INFO] [stdout] 309 +                 Ok(val)
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 309 -                 Ok(val.into())
[INFO] [stdout] 309 +                 Ok(<inkwell::values::BasicValueEnum<'_> as Into<_>>::into(val))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]    --> src/codegen/hir_codegen/expr.rs:350:20
[INFO] [stdout]     |
[INFO] [stdout] 350 |                   Ok(self
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 351 | |                     .builder
[INFO] [stdout] 352 | |                     .build_load(llvm_type, alloca, "array_load")?
[INFO] [stdout] 353 | |                     .into())
[INFO] [stdout]     | |___________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 352 -                     .build_load(llvm_type, alloca, "array_load")?
[INFO] [stdout] 353 -                     .into())
[INFO] [stdout] 352 +                     .build_load(llvm_type, alloca, "array_load")?)
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 350 ~                 Ok(<inkwell::values::BasicValueEnum<'_> as Into<_>>::into(self
[INFO] [stdout] 351 |                     .builder
[INFO] [stdout] 352 ~                     .build_load(llvm_type, alloca, "array_load")?))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]    --> src/codegen/hir_codegen/expr.rs:389:20
[INFO] [stdout]     |
[INFO] [stdout] 389 |                 Ok(self.builder.build_load(llvm_type, *ptr, name)?.into())
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 389 -                 Ok(self.builder.build_load(llvm_type, *ptr, name)?.into())
[INFO] [stdout] 389 +                 Ok(self.builder.build_load(llvm_type, *ptr, name)?)
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 389 -                 Ok(self.builder.build_load(llvm_type, *ptr, name)?.into())
[INFO] [stdout] 389 +                 Ok(<inkwell::values::BasicValueEnum<'_> as Into<_>>::into(self.builder.build_load(llvm_type, *ptr, name)?))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]    --> src/codegen/hir_codegen/expr.rs:685:25
[INFO] [stdout]     |
[INFO] [stdout] 685 | /                         self.builder
[INFO] [stdout] 686 | |                             .build_load(tuple_type, alloca, "range_load")?
[INFO] [stdout] 687 | |                             .into()
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 686 -                             .build_load(tuple_type, alloca, "range_load")?
[INFO] [stdout] 687 -                             .into()
[INFO] [stdout] 686 +                             .build_load(tuple_type, alloca, "range_load")?
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 685 ~                         <inkwell::values::BasicValueEnum<'_> as Into<_>>::into(self.builder
[INFO] [stdout] 686 ~                             .build_load(tuple_type, alloca, "range_load")?)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]     --> src/codegen/hir_codegen/expr.rs:1090:31
[INFO] [stdout]      |
[INFO] [stdout] 1090 |                       return Ok(self
[INFO] [stdout]      |  _______________________________^
[INFO] [stdout] 1091 | |                         .context
[INFO] [stdout] 1092 | |                         .i64_type()
[INFO] [stdout] 1093 | |                         .const_int(1, false)
[INFO] [stdout] 1094 | |                         .as_basic_value_enum()
[INFO] [stdout] 1095 | |                         .into());
[INFO] [stdout]      | |_______________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1094 -                         .as_basic_value_enum()
[INFO] [stdout] 1095 -                         .into());
[INFO] [stdout] 1094 +                         .as_basic_value_enum());
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1090 ~                     return Ok(<inkwell::values::BasicValueEnum<'_> as Into<_>>::into(self
[INFO] [stdout] 1091 |                         .context
[INFO] [stdout] 1092 |                         .i64_type()
[INFO] [stdout] 1093 |                         .const_int(1, false)
[INFO] [stdout] 1094 ~                         .as_basic_value_enum()));
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]     --> src/codegen/hir_codegen/expr.rs:1193:37
[INFO] [stdout]      |
[INFO] [stdout] 1193 | / ...                   self.context
[INFO] [stdout] 1194 | | ...                       .i64_type()
[INFO] [stdout] 1195 | | ...                       .const_int(0, false)
[INFO] [stdout] 1196 | | ...                       .as_basic_value_enum()
[INFO] [stdout] 1197 | | ...                       .into()
[INFO] [stdout]      | |_________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1196 -                                         .as_basic_value_enum()
[INFO] [stdout] 1197 -                                         .into()
[INFO] [stdout] 1196 +                                         .as_basic_value_enum()
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1193 ~                                     <inkwell::values::BasicValueEnum<'_> as Into<_>>::into(self.context
[INFO] [stdout] 1194 |                                         .i64_type()
[INFO] [stdout] 1195 |                                         .const_int(0, false)
[INFO] [stdout] 1196 ~                                         .as_basic_value_enum())
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]     --> src/codegen/hir_codegen/expr.rs:1253:29
[INFO] [stdout]      |
[INFO] [stdout] 1253 | / ...                   self.context
[INFO] [stdout] 1254 | | ...                       .i64_type()
[INFO] [stdout] 1255 | | ...                       .const_int(0, false)
[INFO] [stdout] 1256 | | ...                       .as_basic_value_enum()
[INFO] [stdout] 1257 | | ...                       .into()
[INFO] [stdout]      | |_________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1256 -                                 .as_basic_value_enum()
[INFO] [stdout] 1257 -                                 .into()
[INFO] [stdout] 1256 +                                 .as_basic_value_enum()
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1253 ~                             <inkwell::values::BasicValueEnum<'_> as Into<_>>::into(self.context
[INFO] [stdout] 1254 |                                 .i64_type()
[INFO] [stdout] 1255 |                                 .const_int(0, false)
[INFO] [stdout] 1256 ~                                 .as_basic_value_enum())
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]     --> src/codegen/hir_codegen/expr.rs:1262:20
[INFO] [stdout]      |
[INFO] [stdout] 1262 |                 Ok(extracted.into())
[INFO] [stdout]      |                    ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1262 -                 Ok(extracted.into())
[INFO] [stdout] 1262 +                 Ok(extracted)
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1262 -                 Ok(extracted.into())
[INFO] [stdout] 1262 +                 Ok(<inkwell::values::BasicValueEnum<'_> as Into<_>>::into(extracted))
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]     --> src/codegen/hir_codegen/expr.rs:1350:20
[INFO] [stdout]      |
[INFO] [stdout] 1350 |                 Ok(loaded.into())
[INFO] [stdout]      |                    ^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1350 -                 Ok(loaded.into())
[INFO] [stdout] 1350 +                 Ok(loaded)
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1350 -                 Ok(loaded.into())
[INFO] [stdout] 1350 +                 Ok(<inkwell::values::BasicValueEnum<'_> as Into<_>>::into(loaded))
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lang` (bin "lang") due to 24 previous errors; 28 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/sema/mutability.rs:519:17
[INFO] [stdout]     |
[INFO] [stdout] 519 |                 value,
[INFO] [stdout]     |                 ^^^^^ help: try ignoring the field: `value: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `std_path` is never read
[INFO] [stdout]   --> src/sema/mod.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct SemanticAnalyzer {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub std_path: String,
[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 `with_std_path` is never used
[INFO] [stdout]   --> src/sema/mod.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl SemanticAnalyzer {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn with_std_path(std_path: String) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `align_to_u64` is never used
[INFO] [stdout]    --> src/sema/infer.rs:313:4
[INFO] [stdout]     |
[INFO] [stdout] 313 | fn align_to_u64(value: u64, align: u64) -> AnalysisResult<u64> {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ast_functions` and `ast_structs` are never read
[INFO] [stdout]    --> src/sema/infer.rs:396:9
[INFO] [stdout]     |
[INFO] [stdout] 387 | pub struct TypedProgram {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 396 |     pub ast_functions: Vec<crate::ast::FnDef>,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 397 |     /// Original AST-level struct definitions (including monomorphized ones) for the lowering pass
[INFO] [stdout] 398 |     pub ast_structs: Vec<crate::ast::StructDef>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TypedProgram` 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: function `contains_varargs_marker` is never used
[INFO] [stdout]    --> src/sema/infer.rs:454:4
[INFO] [stdout]     |
[INFO] [stdout] 454 | fn contains_varargs_marker(ty: &Type) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `builtin_layout_of`, `type_layout_of`, `aggregate_layout_of`, and `infer_type_args` are never used
[INFO] [stdout]     --> src/sema/infer.rs:530:8
[INFO] [stdout]      |
[INFO] [stdout]  494 | impl TypeInferrer {
[INFO] [stdout]      | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  530 |     fn builtin_layout_of(&mut self, ty: &Type) -> AnalysisResult<(u64, u64)> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  536 |     fn type_layout_of(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  635 |     fn aggregate_layout_of(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1383 |     fn infer_type_args(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_struct` is never read
[INFO] [stdout]   --> src/sema/mutability.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct TypeInfo {
[INFO] [stdout]    |        -------- field in this struct
[INFO] [stdout] 19 |     name: String,
[INFO] [stdout] 20 |     is_struct: bool,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TypeInfo` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `contains` is never used
[INFO] [stdout]   --> src/sema/symbol.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl SymbolTable {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub fn contains(&self, name: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `reachable_errors` is never read
[INFO] [stdout]   --> src/sema/treeshaker.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct TreeShaker {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     reachable_errors: HashSet<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `reachable_generic_instantiations` is never read
[INFO] [stdout]    --> src/sema/treeshaker.rs:474:9
[INFO] [stdout]     |
[INFO] [stdout] 470 | pub struct TreeShakerStats {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 474 |     pub reachable_generic_instantiations: usize,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TreeShakerStats` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_all_types` and `len` are never used
[INFO] [stdout]   --> src/sema/typelist.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl TypeRegistry {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn get_all_types(&self) -> Vec<(u32, Type)> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 88 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collect_types_from_program` is never used
[INFO] [stdout]    --> src/sema/typelist.rs:100:8
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub fn collect_types_from_program(program: &crate::ast::Program) -> Vec<Type> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collect_fn_types` is never used
[INFO] [stdout]    --> src/sema/typelist.rs:179:4
[INFO] [stdout]     |
[INFO] [stdout] 179 | fn collect_fn_types(fn_def: &crate::ast::FnDef, types: &mut Vec<Type>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collect_types_from_stmt` is never used
[INFO] [stdout]    --> src/sema/typelist.rs:195:4
[INFO] [stdout]     |
[INFO] [stdout] 195 | fn collect_types_from_stmt(stmt: &crate::ast::Stmt, types: &mut Vec<Type>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collect_types_from_expr` is never used
[INFO] [stdout]    --> src/sema/typelist.rs:255:4
[INFO] [stdout]     |
[INFO] [stdout] 255 | fn collect_types_from_expr(expr: &crate::ast::Expr, types: &mut Vec<Type>) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collect_types_from_type` is never used
[INFO] [stdout]    --> src/sema/typelist.rs:342:8
[INFO] [stdout]     |
[INFO] [stdout] 342 | pub fn collect_types_from_type(ty: &Type, types: &mut Vec<Type>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `keys` is never used
[INFO] [stdout]   --> src/cmd/env.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl CompilerEnv {
[INFO] [stdout]    | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn keys(&self) -> impl Iterator<Item = &String> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `location` is never read
[INFO] [stdout]   --> src/cmd/symbol.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct SymbolInfo {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 55 |     pub location: String,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_debug` is never used
[INFO] [stdout]  --> src/debug.rs:3:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn set_debug(_enabled: bool) {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `AggregateValueEnum<'_>`
[INFO] [stdout]    --> src/codegen/ast_codegen.rs:659:34
[INFO] [stdout]     |
[INFO] [stdout] 659 |                       struct_val = self
[INFO] [stdout]     |  __________________________________^
[INFO] [stdout] 660 | |                         .builder
[INFO] [stdout] 661 | |                         .build_insert_value(
[INFO] [stdout] 662 | |                             struct_val.into_struct_value(),
[INFO] [stdout] ...   |
[INFO] [stdout] 666 | |                         )?
[INFO] [stdout] 667 | |                         .into();
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout]     = note: `#[deny(self_type_conversion)]` on by default
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 666 -                         )?
[INFO] [stdout] 667 -                         .into();
[INFO] [stdout] 666 +                         )?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 659 ~                     struct_val = <AggregateValueEnum<'_> as Into<_>>::into(self
[INFO] [stdout] 660 |                         .builder
[INFO] [stdout] ...
[INFO] [stdout] 665 |                             "tuple_elem",
[INFO] [stdout] 666 ~                         )?);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]    --> src/codegen/ast_codegen.rs:684:28
[INFO] [stdout]     |
[INFO] [stdout] 684 |                         Ok(elem.into())
[INFO] [stdout]     |                            ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 684 -                         Ok(elem.into())
[INFO] [stdout] 684 +                         Ok(elem)
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 684 -                         Ok(elem.into())
[INFO] [stdout] 684 +                         Ok(<inkwell::values::BasicValueEnum<'_> as Into<_>>::into(elem))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]    --> src/codegen/ast_codegen.rs:706:43
[INFO] [stdout]     |
[INFO] [stdout] 706 | ...                   return Ok(elem.into());
[INFO] [stdout]     |                                 ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 706 -                                 return Ok(elem.into());
[INFO] [stdout] 706 +                                 return Ok(elem);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 706 -                                 return Ok(elem.into());
[INFO] [stdout] 706 +                                 return Ok(<inkwell::values::BasicValueEnum<'_> as Into<_>>::into(elem));
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]    --> src/codegen/ast_codegen.rs:713:28
[INFO] [stdout]     |
[INFO] [stdout] 713 |                         Ok(loaded.into())
[INFO] [stdout]     |                            ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 713 -                         Ok(loaded.into())
[INFO] [stdout] 713 +                         Ok(loaded)
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 713 -                         Ok(loaded.into())
[INFO] [stdout] 713 +                         Ok(<inkwell::values::BasicValueEnum<'_> as Into<_>>::into(loaded))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]    --> src/codegen/ast_codegen.rs:731:20
[INFO] [stdout]     |
[INFO] [stdout] 731 |                 Ok(load.into())
[INFO] [stdout]     |                    ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 731 -                 Ok(load.into())
[INFO] [stdout] 731 +                 Ok(load)
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 731 -                 Ok(load.into())
[INFO] [stdout] 731 +                 Ok(<inkwell::values::BasicValueEnum<'_> as Into<_>>::into(load))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]    --> src/codegen/ast_codegen.rs:921:21
[INFO] [stdout]     |
[INFO] [stdout] 921 | /                     self.builder
[INFO] [stdout] 922 | |                         .build_select(lhs_nonzero, rhs_nonzero, zero, "and_result")?
[INFO] [stdout] 923 | |                         .into()
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 922 -                         .build_select(lhs_nonzero, rhs_nonzero, zero, "and_result")?
[INFO] [stdout] 923 -                         .into()
[INFO] [stdout] 922 +                         .build_select(lhs_nonzero, rhs_nonzero, zero, "and_result")?
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 921 ~                     <inkwell::values::BasicValueEnum<'_> as Into<_>>::into(self.builder
[INFO] [stdout] 922 ~                         .build_select(lhs_nonzero, rhs_nonzero, zero, "and_result")?)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]    --> src/codegen/ast_codegen.rs:925:21
[INFO] [stdout]     |
[INFO] [stdout] 925 | /                     self.builder
[INFO] [stdout] 926 | |                         .build_select(
[INFO] [stdout] 927 | |                             lhs_nonzero,
[INFO] [stdout] 928 | |                             i64_type.const_int(1, false),
[INFO] [stdout] ...   |
[INFO] [stdout] 931 | |                         )?
[INFO] [stdout] 932 | |                         .into()
[INFO] [stdout]     | |_______________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 931 -                         )?
[INFO] [stdout] 932 -                         .into()
[INFO] [stdout] 931 +                         )?
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 925 ~                     <inkwell::values::BasicValueEnum<'_> as Into<_>>::into(self.builder
[INFO] [stdout] 926 |                         .build_select(
[INFO] [stdout] ...
[INFO] [stdout] 930 |                             "or_result",
[INFO] [stdout] 931 ~                         )?)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::types::BasicTypeEnum<'_>`
[INFO] [stdout]     --> src/codegen/ast_codegen.rs:1573:36
[INFO] [stdout]      |
[INFO] [stdout] 1573 |                     .struct_type(&[value_type.into(), bool_type.into()], false)
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1573 -                     .struct_type(&[value_type.into(), bool_type.into()], false)
[INFO] [stdout] 1573 +                     .struct_type(&[value_type, bool_type.into()], false)
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1573 -                     .struct_type(&[value_type.into(), bool_type.into()], false)
[INFO] [stdout] 1573 +                     .struct_type(&[<inkwell::types::BasicTypeEnum<'_> as Into<_>>::into(value_type), bool_type.into()], false)
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::types::BasicTypeEnum<'_>`
[INFO] [stdout]     --> src/codegen/ast_codegen.rs:1581:36
[INFO] [stdout]      |
[INFO] [stdout] 1581 |                     .struct_type(&[value_type.into(), bool_type.into()], false)
[INFO] [stdout]      |                                    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1581 -                     .struct_type(&[value_type.into(), bool_type.into()], false)
[INFO] [stdout] 1581 +                     .struct_type(&[value_type, bool_type.into()], false)
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1581 -                     .struct_type(&[value_type.into(), bool_type.into()], false)
[INFO] [stdout] 1581 +                     .struct_type(&[<inkwell::types::BasicTypeEnum<'_> as Into<_>>::into(value_type), bool_type.into()], false)
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `AggregateValueEnum<'_>`
[INFO] [stdout]    --> src/codegen/hir_codegen/control_flow.rs:435:26
[INFO] [stdout]     |
[INFO] [stdout] 435 |               new_struct = self
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 436 | |                 .builder
[INFO] [stdout] 437 | |                 .build_insert_value(
[INFO] [stdout] 438 | |                     new_struct.into_struct_value(),
[INFO] [stdout] ...   |
[INFO] [stdout] 442 | |                 )?
[INFO] [stdout] 443 | |                 .into();
[INFO] [stdout]     | |_______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 442 -                 )?
[INFO] [stdout] 443 -                 .into();
[INFO] [stdout] 442 +                 )?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 435 ~             new_struct = <AggregateValueEnum<'_> as Into<_>>::into(self
[INFO] [stdout] 436 |                 .builder
[INFO] [stdout] ...
[INFO] [stdout] 441 |                     "new_iter",
[INFO] [stdout] 442 ~                 )?);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `AggregateValueEnum<'_>`
[INFO] [stdout]    --> src/codegen/hir_codegen/control_flow.rs:444:26
[INFO] [stdout]     |
[INFO] [stdout] 444 |               new_struct = self
[INFO] [stdout]     |  __________________________^
[INFO] [stdout] 445 | |                 .builder
[INFO] [stdout] 446 | |                 .build_insert_value(new_struct.into_struct_value(), end, 1, "new_iter_final")?
[INFO] [stdout] 447 | |                 .into();
[INFO] [stdout]     | |_______________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 446 -                 .build_insert_value(new_struct.into_struct_value(), end, 1, "new_iter_final")?
[INFO] [stdout] 447 -                 .into();
[INFO] [stdout] 446 +                 .build_insert_value(new_struct.into_struct_value(), end, 1, "new_iter_final")?;
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 444 ~             new_struct = <AggregateValueEnum<'_> as Into<_>>::into(self
[INFO] [stdout] 445 |                 .builder
[INFO] [stdout] 446 ~                 .build_insert_value(new_struct.into_struct_value(), end, 1, "new_iter_final")?);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]    --> src/codegen/hir_codegen/control_flow.rs:736:16
[INFO] [stdout]     |
[INFO] [stdout] 736 |             Ok(value.into())
[INFO] [stdout]     |                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 736 -             Ok(value.into())
[INFO] [stdout] 736 +             Ok(value)
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 736 -             Ok(value.into())
[INFO] [stdout] 736 +             Ok(<inkwell::values::BasicValueEnum<'_> as Into<_>>::into(value))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::types::BasicTypeEnum<'_>`
[INFO] [stdout]    --> src/codegen/hir_codegen/expr.rs:192:36
[INFO] [stdout]     |
[INFO] [stdout] 192 |                     .struct_type(&[val_type.into(), is_valid_type.into()], false);
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 192 -                     .struct_type(&[val_type.into(), is_valid_type.into()], false);
[INFO] [stdout] 192 +                     .struct_type(&[val_type, is_valid_type.into()], false);
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 192 -                     .struct_type(&[val_type.into(), is_valid_type.into()], false);
[INFO] [stdout] 192 +                     .struct_type(&[<inkwell::types::BasicTypeEnum<'_> as Into<_>>::into(val_type), is_valid_type.into()], false);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]    --> src/codegen/hir_codegen/expr.rs:207:20
[INFO] [stdout]     |
[INFO] [stdout] 207 |                   Ok(self
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 208 | |                     .builder
[INFO] [stdout] 209 | |                     .build_load(struct_type, alloca, "tuple_load")?
[INFO] [stdout] 210 | |                     .into())
[INFO] [stdout]     | |___________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 209 -                     .build_load(struct_type, alloca, "tuple_load")?
[INFO] [stdout] 210 -                     .into())
[INFO] [stdout] 209 +                     .build_load(struct_type, alloca, "tuple_load")?)
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 207 ~                 Ok(<inkwell::values::BasicValueEnum<'_> as Into<_>>::into(self
[INFO] [stdout] 208 |                     .builder
[INFO] [stdout] 209 ~                     .build_load(struct_type, alloca, "tuple_load")?))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]    --> src/codegen/hir_codegen/expr.rs:222:28
[INFO] [stdout]     |
[INFO] [stdout] 222 |                         Ok(extracted.into())
[INFO] [stdout]     |                            ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 222 -                         Ok(extracted.into())
[INFO] [stdout] 222 +                         Ok(extracted)
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 222 -                         Ok(extracted.into())
[INFO] [stdout] 222 +                         Ok(<inkwell::values::BasicValueEnum<'_> as Into<_>>::into(extracted))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]    --> src/codegen/hir_codegen/expr.rs:309:20
[INFO] [stdout]     |
[INFO] [stdout] 309 |                 Ok(val.into())
[INFO] [stdout]     |                    ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 309 -                 Ok(val.into())
[INFO] [stdout] 309 +                 Ok(val)
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 309 -                 Ok(val.into())
[INFO] [stdout] 309 +                 Ok(<inkwell::values::BasicValueEnum<'_> as Into<_>>::into(val))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]    --> src/codegen/hir_codegen/expr.rs:350:20
[INFO] [stdout]     |
[INFO] [stdout] 350 |                   Ok(self
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 351 | |                     .builder
[INFO] [stdout] 352 | |                     .build_load(llvm_type, alloca, "array_load")?
[INFO] [stdout] 353 | |                     .into())
[INFO] [stdout]     | |___________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 352 -                     .build_load(llvm_type, alloca, "array_load")?
[INFO] [stdout] 353 -                     .into())
[INFO] [stdout] 352 +                     .build_load(llvm_type, alloca, "array_load")?)
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 350 ~                 Ok(<inkwell::values::BasicValueEnum<'_> as Into<_>>::into(self
[INFO] [stdout] 351 |                     .builder
[INFO] [stdout] 352 ~                     .build_load(llvm_type, alloca, "array_load")?))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]    --> src/codegen/hir_codegen/expr.rs:389:20
[INFO] [stdout]     |
[INFO] [stdout] 389 |                 Ok(self.builder.build_load(llvm_type, *ptr, name)?.into())
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 389 -                 Ok(self.builder.build_load(llvm_type, *ptr, name)?.into())
[INFO] [stdout] 389 +                 Ok(self.builder.build_load(llvm_type, *ptr, name)?)
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 389 -                 Ok(self.builder.build_load(llvm_type, *ptr, name)?.into())
[INFO] [stdout] 389 +                 Ok(<inkwell::values::BasicValueEnum<'_> as Into<_>>::into(self.builder.build_load(llvm_type, *ptr, name)?))
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]    --> src/codegen/hir_codegen/expr.rs:685:25
[INFO] [stdout]     |
[INFO] [stdout] 685 | /                         self.builder
[INFO] [stdout] 686 | |                             .build_load(tuple_type, alloca, "range_load")?
[INFO] [stdout] 687 | |                             .into()
[INFO] [stdout]     | |___________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]     |
[INFO] [stdout] 686 -                             .build_load(tuple_type, alloca, "range_load")?
[INFO] [stdout] 687 -                             .into()
[INFO] [stdout] 686 +                             .build_load(tuple_type, alloca, "range_load")?
[INFO] [stdout]     |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]     |
[INFO] [stdout] 685 ~                         <inkwell::values::BasicValueEnum<'_> as Into<_>>::into(self.builder
[INFO] [stdout] 686 ~                             .build_load(tuple_type, alloca, "range_load")?)
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]     --> src/codegen/hir_codegen/expr.rs:1090:31
[INFO] [stdout]      |
[INFO] [stdout] 1090 |                       return Ok(self
[INFO] [stdout]      |  _______________________________^
[INFO] [stdout] 1091 | |                         .context
[INFO] [stdout] 1092 | |                         .i64_type()
[INFO] [stdout] 1093 | |                         .const_int(1, false)
[INFO] [stdout] 1094 | |                         .as_basic_value_enum()
[INFO] [stdout] 1095 | |                         .into());
[INFO] [stdout]      | |_______________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1094 -                         .as_basic_value_enum()
[INFO] [stdout] 1095 -                         .into());
[INFO] [stdout] 1094 +                         .as_basic_value_enum());
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1090 ~                     return Ok(<inkwell::values::BasicValueEnum<'_> as Into<_>>::into(self
[INFO] [stdout] 1091 |                         .context
[INFO] [stdout] 1092 |                         .i64_type()
[INFO] [stdout] 1093 |                         .const_int(1, false)
[INFO] [stdout] 1094 ~                         .as_basic_value_enum()));
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]     --> src/codegen/hir_codegen/expr.rs:1193:37
[INFO] [stdout]      |
[INFO] [stdout] 1193 | / ...                   self.context
[INFO] [stdout] 1194 | | ...                       .i64_type()
[INFO] [stdout] 1195 | | ...                       .const_int(0, false)
[INFO] [stdout] 1196 | | ...                       .as_basic_value_enum()
[INFO] [stdout] 1197 | | ...                       .into()
[INFO] [stdout]      | |_________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1196 -                                         .as_basic_value_enum()
[INFO] [stdout] 1197 -                                         .into()
[INFO] [stdout] 1196 +                                         .as_basic_value_enum()
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1193 ~                                     <inkwell::values::BasicValueEnum<'_> as Into<_>>::into(self.context
[INFO] [stdout] 1194 |                                         .i64_type()
[INFO] [stdout] 1195 |                                         .const_int(0, false)
[INFO] [stdout] 1196 ~                                         .as_basic_value_enum())
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]     --> src/codegen/hir_codegen/expr.rs:1253:29
[INFO] [stdout]      |
[INFO] [stdout] 1253 | / ...                   self.context
[INFO] [stdout] 1254 | | ...                       .i64_type()
[INFO] [stdout] 1255 | | ...                       .const_int(0, false)
[INFO] [stdout] 1256 | | ...                       .as_basic_value_enum()
[INFO] [stdout] 1257 | | ...                       .into()
[INFO] [stdout]      | |_________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1256 -                                 .as_basic_value_enum()
[INFO] [stdout] 1257 -                                 .into()
[INFO] [stdout] 1256 +                                 .as_basic_value_enum()
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1253 ~                             <inkwell::values::BasicValueEnum<'_> as Into<_>>::into(self.context
[INFO] [stdout] 1254 |                                 .i64_type()
[INFO] [stdout] 1255 |                                 .const_int(0, false)
[INFO] [stdout] 1256 ~                                 .as_basic_value_enum())
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]     --> src/codegen/hir_codegen/expr.rs:1262:20
[INFO] [stdout]      |
[INFO] [stdout] 1262 |                 Ok(extracted.into())
[INFO] [stdout]      |                    ^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1262 -                 Ok(extracted.into())
[INFO] [stdout] 1262 +                 Ok(extracted)
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1262 -                 Ok(extracted.into())
[INFO] [stdout] 1262 +                 Ok(<inkwell::values::BasicValueEnum<'_> as Into<_>>::into(extracted))
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: useless conversion to the same type: `inkwell::values::BasicValueEnum<'_>`
[INFO] [stdout]     --> src/codegen/hir_codegen/expr.rs:1350:20
[INFO] [stdout]      |
[INFO] [stdout] 1350 |                 Ok(loaded.into())
[INFO] [stdout]      |                    ^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this method call relies on the `impl<T> Into<T> for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors
[INFO] [stdout] help: consider removing the conversion call
[INFO] [stdout]      |
[INFO] [stdout] 1350 -                 Ok(loaded.into())
[INFO] [stdout] 1350 +                 Ok(loaded)
[INFO] [stdout]      |
[INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint
[INFO] [stdout]      |
[INFO] [stdout] 1350 -                 Ok(loaded.into())
[INFO] [stdout] 1350 +                 Ok(<inkwell::values::BasicValueEnum<'_> as Into<_>>::into(loaded))
[INFO] [stdout]      |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/lexer/tests.rs:678:13
[INFO] [stdout]     |
[INFO] [stdout] 678 |     assert!(fn_token.span.start >= 0);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `lang` (bin "lang" test) due to 24 previous errors; 33 warnings emitted
[INFO] [stderr] warning: unused dependency `env_logger`
[INFO] [stderr]  --> Cargo.toml:2:1
[INFO] [stderr]   |
[INFO] [stderr] 2 | env_logger = "0.11.10"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `env_logger`
[INFO] [stderr] warning: unused dependency `parking_lot`
[INFO] [stderr]  --> Cargo.toml:4:1
[INFO] [stderr]   |
[INFO] [stderr] 4 | parking_lot = "0.12"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `parking_lot`
[INFO] [stderr] warning: unused dependency `serde`
[INFO] [stderr]   --> Cargo.toml:21:15
[INFO] [stderr]    |
[INFO] [stderr] 21 | [dependencies.serde]
[INFO] [stderr]    |               ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `serde`
[INFO] [stderr] warning: unused dependency `serde_json`
[INFO] [stderr]  --> Cargo.toml:5:1
[INFO] [stderr]   |
[INFO] [stderr] 5 | serde_json = "1.0"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `serde_json`
[INFO] [stderr] warning: unused dependency `url`
[INFO] [stderr]  --> Cargo.toml:7:1
[INFO] [stderr]   |
[INFO] [stderr] 7 | url = "2.0"
[INFO] [stderr]   | ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `url`
[INFO] [stderr] warning: `lang` (manifest) generated 5 warnings
[INFO] running `Command { std: "docker" "inspect" "411e242e25e82211b4b805eefcc26be5161edb53c47af471641a73d3f144ade1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "411e242e25e82211b4b805eefcc26be5161edb53c47af471641a73d3f144ade1", kill_on_drop: false }`
[INFO] [stdout] 411e242e25e82211b4b805eefcc26be5161edb53c47af471641a73d3f144ade1
