[INFO] cloning repository https://github.com/YmClash/pyrust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/YmClash/pyrust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FYmClash%2Fpyrust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FYmClash%2Fpyrust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ff6ef44c1274a0fffe93aaac4d20cdaa0b690e6c
[INFO] checking YmClash/pyrust against eca445e5ae4a6679cc27d3a09106ce245e13a5a6 for pr-162478
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FYmClash%2Fpyrust" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/YmClash/pyrust
[INFO] removed 0 missing tests
[INFO] finished tweaking git repo https://github.com/YmClash/pyrust
[INFO] tweaked toml for git repo https://github.com/YmClash/pyrust written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/YmClash/pyrust on toolchain eca445e5ae4a6679cc27d3a09106ce245e13a5a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/YmClash/pyrust 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" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Updating git repository `https://github.com/Ymclash/ymcrust.git`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde v1.0.217
[INFO] [stderr]   Downloaded float-derive-macros v0.1.0
[INFO] [stderr]   Downloaded chacha20 v0.8.2
[INFO] [stderr]   Downloaded serde_derive v1.0.217
[INFO] [stderr]   Downloaded fd-lock v4.0.4
[INFO] [stderr]   Downloaded float-derive v0.1.0
[INFO] [stderr]   Downloaded ordered-float v3.9.2
[INFO] [stderr]   Downloaded rustyline v17.0.2
[INFO] [stderr]   Downloaded jiff-static v0.2.15
[INFO] [stderr]   Downloaded cc v1.2.10
[INFO] [stderr]   Downloaded jiff v0.2.15
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] ba994e3a1c3441678bfbab6cfff9aeb05e612da1f8f93629d32d2a0658935ce5
[INFO] running `Command { std: "docker" "start" "ba994e3a1c3441678bfbab6cfff9aeb05e612da1f8f93629d32d2a0658935ce5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ba994e3a1c3441678bfbab6cfff9aeb05e612da1f8f93629d32d2a0658935ce5", 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" "ba994e3a1c3441678bfbab6cfff9aeb05e612da1f8f93629d32d2a0658935ce5" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ba994e3a1c3441678bfbab6cfff9aeb05e612da1f8f93629d32d2a0658935ce5", 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" "ba994e3a1c3441678bfbab6cfff9aeb05e612da1f8f93629d32d2a0658935ce5" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]    Compiling libc v0.2.176
[INFO] [stderr]    Compiling typenum v1.17.0
[INFO] [stderr]     Checking bitflags v2.9.4
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling serde v1.0.217
[INFO] [stderr]     Checking regex-syntax v0.8.6
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling nix v0.30.1
[INFO] [stderr]     Checking linux-raw-sys v0.11.0
[INFO] [stderr]     Checking log v0.4.25
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking anstyle-parse v0.2.7
[INFO] [stderr]     Checking csv-core v0.1.11
[INFO] [stderr]     Checking iana-time-zone v0.1.61
[INFO] [stderr]     Checking anstyle v1.0.11
[INFO] [stderr]     Checking colorchoice v1.0.4
[INFO] [stderr]     Checking nibble_vec v0.1.0
[INFO] [stderr]     Checking ryu v1.0.18
[INFO] [stderr]     Checking anstyle-query v1.1.4
[INFO] [stderr]     Checking jiff v0.2.15
[INFO] [stderr]     Checking unicode-segmentation v1.12.0
[INFO] [stderr]     Checking radix_trie v0.2.1
[INFO] [stderr]     Checking unicode-width v0.2.2
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking colored v3.0.0
[INFO] [stderr]     Checking anstream v0.6.20
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]     Checking getrandom v0.2.15
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking chrono v0.4.39
[INFO] [stderr]     Checking ordered-float v3.9.2
[INFO] [stderr]     Checking num-complex v0.4.6
[INFO] [stderr]     Checking regex-automata v0.4.10
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking cipher v0.3.0
[INFO] [stderr]     Checking chacha20 v0.8.2
[INFO] [stderr]     Checking fd-lock v4.0.4
[INFO] [stderr]    Compiling zerocopy-derive v0.7.35
[INFO] [stderr]     Checking csv v1.3.1
[INFO] [stderr]    Compiling float-derive-macros v0.1.0
[INFO] [stderr]     Checking rustyline v17.0.2
[INFO] [stderr]     Checking regex v1.11.2
[INFO] [stderr]     Checking float-derive v0.1.0
[INFO] [stderr]     Checking zerocopy v0.7.35
[INFO] [stderr]     Checking env_filter v0.1.3
[INFO] [stderr]     Checking env_logger v0.11.8
[INFO] [stderr]     Checking ppv-lite86 v0.2.20
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking ymcrust v0.1.0 (https://github.com/Ymclash/ymcrust.git#aca668ff)
[INFO] [stderr]     Checking punk v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `ExpectIdentifier` and `UnexpectedEOF`
[INFO] [stdout]  --> src/parser/parser.rs:7:53
[INFO] [stdout]   |
[INFO] [stdout] 7 | ...rror::ParserErrorType::{ ExpectIdentifier, ExpectedTypeAnnotation,  InvalidTypeAnnotation,  UnexpectedEOF, UnexpectedEndOfInput,  ...
[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: `FunctionDeclaration`
[INFO] [stdout]  --> src/parser/inference.rs:2:38
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::parser::ast::{Expression, FunctionDeclaration, Literal, Operator, Type, VariableDeclaration, BinaryOperation, UnaryOperati...
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ParserErrorType`
[INFO] [stdout]  --> src/parser/declarations/variables.rs:9:48
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::parser::parser_error::{ParserError, ParserErrorType};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Parameter`
[INFO] [stdout]  --> src/parser/declarations/functions.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Visibility, Type, Parameter
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ParserErrorType`
[INFO] [stdout]  --> src/parser/declarations/functions.rs:9:48
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::parser::parser_error::{ParserError, ParserErrorType};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Type`
[INFO] [stdout]  --> src/parser/declarations/structs.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Visibility, Type
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Operators`
[INFO] [stdout]   --> src/parser/declarations/structs.rs:10:51
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::tok::{TokenType, Keywords, Delimiters, Operators};
[INFO] [stdout]    |                                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mutability` and `Type`
[INFO] [stdout]  --> src/parser/declarations/classes.rs:6:48
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Attribute, MethodeDeclaration, Visibility, Mutability, Type
[INFO] [stdout]   |                                                ^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Operators`
[INFO] [stdout]   --> src/parser/declarations/classes.rs:10:51
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::tok::{TokenType, Keywords, Delimiters, Operators};
[INFO] [stdout]    |                                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AssociatedType` and `Type`
[INFO] [stdout]  --> src/parser/declarations/traits.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     AssociatedType, WhereClause, Visibility, Type
[INFO] [stdout]   |     ^^^^^^^^^^^^^^                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GenericParameter`, `Parameter`, and `WhereClause`
[INFO] [stdout]  --> src/parser/declarations/impl_blocks.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Visibility, Type, GenericParameter, WhereClause, Parameter
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::variables::*`
[INFO] [stdout]   --> src/parser/declarations/mod.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use self::variables::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::functions::*`
[INFO] [stdout]   --> src/parser/declarations/mod.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use self::functions::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::structs::*`
[INFO] [stdout]   --> src/parser/declarations/mod.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use self::structs::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::classes::*`
[INFO] [stdout]   --> src/parser/declarations/mod.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use self::classes::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::traits::*`
[INFO] [stdout]   --> src/parser/declarations/mod.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use self::traits::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::enums::*`
[INFO] [stdout]   --> src/parser/declarations/mod.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub use self::enums::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::impl_blocks::*`
[INFO] [stdout]   --> src/parser/declarations/mod.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub use self::impl_blocks::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Delimiters`
[INFO] [stdout]    --> src/parser/utils.rs:165:32
[INFO] [stdout]     |
[INFO] [stdout] 165 |     use crate::tok::{Keywords, Delimiters};
[INFO] [stdout]     |                                ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ScopeKind`
[INFO] [stdout]    --> src/semantic/borrow_checker.rs:765:48
[INFO] [stdout]     |
[INFO] [stdout] 765 |     use crate::semantic::symbols::{SymbolKind, ScopeKind};
[INFO] [stdout]     |                                                ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `marker::Sized`
[INFO] [stdout]  --> src/semantic/types/type_system.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{fmt,marker::Sized};
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashSet` and `VecDeque`
[INFO] [stdout]  --> src/semantic/types/inference.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::{HashMap, HashSet, VecDeque};
[INFO] [stdout]   |                                 ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ASTNode`, `Declaration`, `Expression`, and `Statement`
[INFO] [stdout]  --> src/semantic/types/inference.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::parser::ast::{Expression, Statement, Declaration, ASTNode};
[INFO] [stdout]   |                          ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ASTNode`, `Declaration`, and `Statement`
[INFO] [stdout]  --> src/semantic/lifetimes/inference.rs:6:38
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::parser::ast::{Expression, Statement, Declaration, ASTNode};
[INFO] [stdout]   |                                      ^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TypeId` and `TypeKind`
[INFO] [stdout]   --> src/semantic/lifetimes/inference.rs:10:43
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::semantic::types::type_system::{TypeId, TypeKind};
[INFO] [stdout]    |                                           ^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ASTNode`, `Declaration`, `Expression`, and `Statement`
[INFO] [stdout]  --> src/semantic/ssa/ssa_form.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::parser::ast::{Expression, Statement, Declaration, ASTNode};
[INFO] [stdout]   |                          ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BasicBlock`
[INFO] [stdout]  --> src/semantic/ssa/ssa_form.rs:9:56
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::semantic::flow::{ControlFlowGraph, BlockId, BasicBlock};
[INFO] [stdout]   |                                                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ASTNode`
[INFO] [stdout]   --> src/semantic/error_recovery.rs:10:62
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::parser::ast::{Expression, Statement, Declaration, ASTNode};
[INFO] [stdout]    |                                                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::semantic::types::type_system::TypeId`
[INFO] [stdout]  --> src/semantic/optimizations/constant_folding.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::semantic::types::type_system::TypeId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_bigint::BigInt`
[INFO] [stdout]    --> src/semantic/optimizations/constant_folding.rs:329:25
[INFO] [stdout]     |
[INFO] [stdout] 329 |                     use num_bigint::BigInt;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_bigint::BigInt`
[INFO] [stdout]    --> src/semantic/optimizations/constant_folding.rs:435:13
[INFO] [stdout]     |
[INFO] [stdout] 435 |         use num_bigint::BigInt;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToPrimitive`
[INFO] [stdout]    --> src/semantic/optimizations/constant_folding.rs:436:26
[INFO] [stdout]     |
[INFO] [stdout] 436 |         use num_traits::{ToPrimitive, Zero};
[INFO] [stdout]     |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/semantic/optimizations/dead_code_elimination.rs:5:33
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::{HashSet, HashMap};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BreakStatement`, `ContinueStatement`, and `ReturnStatement`
[INFO] [stdout]  --> src/semantic/optimizations/dead_code_elimination.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 |                          ReturnStatement, BreakStatement, ContinueStatement};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::semantic::symbols::SymbolId`
[INFO] [stdout]   --> src/semantic/optimizations/dead_code_elimination.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::semantic::symbols::SymbolId;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::semantic::symbols::SymbolId`
[INFO] [stdout]  --> src/semantic/optimizations/alias_analysis.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::semantic::symbols::SymbolId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/interpreter/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ExpectIdentifier` and `UnexpectedEOF`
[INFO] [stdout]  --> src/parser/parser.rs:7:53
[INFO] [stdout]   |
[INFO] [stdout] 7 | ...rror::ParserErrorType::{ ExpectIdentifier, ExpectedTypeAnnotation,  InvalidTypeAnnotation,  UnexpectedEOF, UnexpectedEndOfInput,  ...
[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: `FunctionDeclaration`
[INFO] [stdout]  --> src/parser/inference.rs:2:38
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::parser::ast::{Expression, FunctionDeclaration, Literal, Operator, Type, VariableDeclaration, BinaryOperation, UnaryOperati...
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutability`
[INFO] [stdout]  --> src/parser/declarations/variables.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Visibility, Mutability, Type
[INFO] [stdout]   |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ParserErrorType`
[INFO] [stdout]  --> src/parser/declarations/variables.rs:9:48
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::parser::parser_error::{ParserError, ParserErrorType};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Parameter`
[INFO] [stdout]  --> src/parser/declarations/functions.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Visibility, Type, Parameter
[INFO] [stdout]   |                       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ParserErrorType`
[INFO] [stdout]  --> src/parser/declarations/functions.rs:9:48
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::parser::parser_error::{ParserError, ParserErrorType};
[INFO] [stdout]   |                                                ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Type`
[INFO] [stdout]  --> src/parser/declarations/structs.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Visibility, Type
[INFO] [stdout]   |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Operators`
[INFO] [stdout]   --> src/parser/declarations/structs.rs:10:51
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::tok::{TokenType, Keywords, Delimiters, Operators};
[INFO] [stdout]    |                                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mutability` and `Type`
[INFO] [stdout]  --> src/parser/declarations/classes.rs:6:48
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Attribute, MethodeDeclaration, Visibility, Mutability, Type
[INFO] [stdout]   |                                                ^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Operators`
[INFO] [stdout]   --> src/parser/declarations/classes.rs:10:51
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::tok::{TokenType, Keywords, Delimiters, Operators};
[INFO] [stdout]    |                                                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AssociatedType` and `Type`
[INFO] [stdout]  --> src/parser/declarations/traits.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     AssociatedType, WhereClause, Visibility, Type
[INFO] [stdout]   |     ^^^^^^^^^^^^^^                           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GenericParameter`, `Parameter`, and `WhereClause`
[INFO] [stdout]  --> src/parser/declarations/impl_blocks.rs:6:23
[INFO] [stdout]   |
[INFO] [stdout] 6 |     Visibility, Type, GenericParameter, WhereClause, Parameter
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::variables::*`
[INFO] [stdout]   --> src/parser/declarations/mod.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub use self::variables::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::functions::*`
[INFO] [stdout]   --> src/parser/declarations/mod.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use self::functions::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::structs::*`
[INFO] [stdout]   --> src/parser/declarations/mod.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub use self::structs::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::classes::*`
[INFO] [stdout]   --> src/parser/declarations/mod.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub use self::classes::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::traits::*`
[INFO] [stdout]   --> src/parser/declarations/mod.rs:17:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub use self::traits::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::enums::*`
[INFO] [stdout]   --> src/parser/declarations/mod.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub use self::enums::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self::impl_blocks::*`
[INFO] [stdout]   --> src/parser/declarations/mod.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub use self::impl_blocks::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `marker::Sized`
[INFO] [stdout]  --> src/semantic/types/type_system.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{fmt,marker::Sized};
[INFO] [stdout]   |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashSet` and `VecDeque`
[INFO] [stdout]  --> src/semantic/types/inference.rs:3:33
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::{HashMap, HashSet, VecDeque};
[INFO] [stdout]   |                                 ^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ASTNode`, `Declaration`, `Expression`, and `Statement`
[INFO] [stdout]  --> src/semantic/types/inference.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::parser::ast::{Expression, Statement, Declaration, ASTNode};
[INFO] [stdout]   |                          ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ASTNode`, `Declaration`, and `Statement`
[INFO] [stdout]  --> src/semantic/lifetimes/inference.rs:6:38
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::parser::ast::{Expression, Statement, Declaration, ASTNode};
[INFO] [stdout]   |                                      ^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TypeId` and `TypeKind`
[INFO] [stdout]   --> src/semantic/lifetimes/inference.rs:10:43
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::semantic::types::type_system::{TypeId, TypeKind};
[INFO] [stdout]    |                                           ^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ASTNode`, `Declaration`, `Expression`, and `Statement`
[INFO] [stdout]  --> src/semantic/ssa/ssa_form.rs:6:26
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::parser::ast::{Expression, Statement, Declaration, ASTNode};
[INFO] [stdout]   |                          ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BasicBlock`
[INFO] [stdout]  --> src/semantic/ssa/ssa_form.rs:9:56
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::semantic::flow::{ControlFlowGraph, BlockId, BasicBlock};
[INFO] [stdout]   |                                                        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ASTNode`
[INFO] [stdout]   --> src/semantic/error_recovery.rs:10:62
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::parser::ast::{Expression, Statement, Declaration, ASTNode};
[INFO] [stdout]    |                                                              ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::semantic::types::type_system::TypeId`
[INFO] [stdout]  --> src/semantic/optimizations/constant_folding.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::semantic::types::type_system::TypeId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_bigint::BigInt`
[INFO] [stdout]    --> src/semantic/optimizations/constant_folding.rs:329:25
[INFO] [stdout]     |
[INFO] [stdout] 329 |                     use num_bigint::BigInt;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `num_bigint::BigInt`
[INFO] [stdout]    --> src/semantic/optimizations/constant_folding.rs:435:13
[INFO] [stdout]     |
[INFO] [stdout] 435 |         use num_bigint::BigInt;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToPrimitive`
[INFO] [stdout]    --> src/semantic/optimizations/constant_folding.rs:436:26
[INFO] [stdout]     |
[INFO] [stdout] 436 |         use num_traits::{ToPrimitive, Zero};
[INFO] [stdout]     |                          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/semantic/optimizations/dead_code_elimination.rs:5:33
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::{HashSet, HashMap};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BreakStatement`, `ContinueStatement`, and `ReturnStatement`
[INFO] [stdout]  --> src/semantic/optimizations/dead_code_elimination.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 |                          ReturnStatement, BreakStatement, ContinueStatement};
[INFO] [stdout]   |                          ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::semantic::symbols::SymbolId`
[INFO] [stdout]   --> src/semantic/optimizations/dead_code_elimination.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::semantic::symbols::SymbolId;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::semantic::symbols::SymbolId`
[INFO] [stdout]  --> src/semantic/optimizations/alias_analysis.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::semantic::symbols::SymbolId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/interpreter/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `label_name`
[INFO] [stdout]    --> src/parser/parser.rs:126:21
[INFO] [stdout]     |
[INFO] [stdout] 126 |         if let Some(label_name) = self.check_for_label()? {
[INFO] [stdout]     |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_label_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `label_name`
[INFO] [stdout]    --> src/parser/parser.rs:126:21
[INFO] [stdout]     |
[INFO] [stdout] 126 |         if let Some(label_name) = self.check_for_label()? {
[INFO] [stdout]     |                     ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_label_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parser/declarations/impl_blocks.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let mut target_type_str;
[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: `generic_params`
[INFO] [stdout]    --> src/parser/declarations/impl_blocks.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let generic_params = if self.check(&[TokenType::OPERATOR(Operators::LESS)]) {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generic_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `found`
[INFO] [stdout]   --> src/parser/utils.rs:65:17
[INFO] [stdout]    |
[INFO] [stdout] 65 |             let found = self.current_token()
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_found`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parser/declarations/impl_blocks.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |         let mut target_type_str;
[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: `generic_params`
[INFO] [stdout]    --> src/parser/declarations/impl_blocks.rs:169:13
[INFO] [stdout]     |
[INFO] [stdout] 169 |         let generic_params = if self.check(&[TokenType::OPERATOR(Operators::LESS)]) {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generic_params`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> src/semantic/semantic_error.rs:150:42
[INFO] [stdout]     |
[INFO] [stdout] 150 |     pub fn new(error: SemanticErrorType, message:String, position: Position) -> Self{
[INFO] [stdout]     |                                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `object_type_id`
[INFO] [stdout]    --> src/semantic/type_checker.rs:621:13
[INFO] [stdout]     |
[INFO] [stdout] 621 |         let object_type_id = self.check_expression(object)?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_object_type_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `var_type_id`
[INFO] [stdout]    --> src/semantic/type_checker.rs:754:21
[INFO] [stdout]     |
[INFO] [stdout] 754 |                 let var_type_id = self.check_variable_declaration(var_decl)?;
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_var_type_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func_type_id`
[INFO] [stdout]    --> src/semantic/type_checker.rs:763:21
[INFO] [stdout]     |
[INFO] [stdout] 763 |                 let func_type_id = self.check_function_declaration(func_decl)?;
[INFO] [stdout]     |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_func_type_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `found`
[INFO] [stdout]   --> src/parser/utils.rs:65:17
[INFO] [stdout]    |
[INFO] [stdout] 65 |             let found = self.current_token()
[INFO] [stdout]    |                 ^^^^^ help: if this is intentional, prefix it with an underscore: `_found`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> src/semantic/semantic_error.rs:150:42
[INFO] [stdout]     |
[INFO] [stdout] 150 |     pub fn new(error: SemanticErrorType, message:String, position: Position) -> Self{
[INFO] [stdout]     |                                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `object_type_id`
[INFO] [stdout]    --> src/semantic/type_checker.rs:621:13
[INFO] [stdout]     |
[INFO] [stdout] 621 |         let object_type_id = self.check_expression(object)?;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_object_type_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `var_type_id`
[INFO] [stdout]    --> src/semantic/type_checker.rs:754:21
[INFO] [stdout]     |
[INFO] [stdout] 754 |                 let var_type_id = self.check_variable_declaration(var_decl)?;
[INFO] [stdout]     |                     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_var_type_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func_type_id`
[INFO] [stdout]    --> src/semantic/type_checker.rs:763:21
[INFO] [stdout]     |
[INFO] [stdout] 763 |                 let func_type_id = self.check_function_declaration(func_decl)?;
[INFO] [stdout]     |                     ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_func_type_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `object_type`
[INFO] [stdout]    --> src/semantic/types/inference.rs:265:42
[INFO] [stdout]     |
[INFO] [stdout] 265 |                 TypeConstraint::HasField(object_type, field_name, field_type) => {
[INFO] [stdout]     |                                          ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_object_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `field_name`
[INFO] [stdout]    --> src/semantic/types/inference.rs:265:55
[INFO] [stdout]     |
[INFO] [stdout] 265 |                 TypeConstraint::HasField(object_type, field_name, field_type) => {
[INFO] [stdout]     |                                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_field_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `field_type`
[INFO] [stdout]    --> src/semantic/types/inference.rs:265:67
[INFO] [stdout]     |
[INFO] [stdout] 265 |                 TypeConstraint::HasField(object_type, field_name, field_type) => {
[INFO] [stdout]     |                                                                   ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_field_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block_scope`
[INFO] [stdout]    --> src/semantic/symbol_table.rs:926:15
[INFO] [stdout]     |
[INFO] [stdout] 926 |           let block_scope = table.enter_scope(ScopeKind::Block);
[INFO] [stdout]     |               ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block_scope`
[INFO] [stdout]    --> src/semantic/symbol_table.rs:976:15
[INFO] [stdout]     |
[INFO] [stdout] 976 |           let block_scope = table.enter_scope(ScopeKind::Block);
[INFO] [stdout]     |               ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `module_scope`
[INFO] [stdout]    --> src/semantic/symbol_table.rs:994:15
[INFO] [stdout]     |
[INFO] [stdout] 994 |           let module_scope = table.enter_scope(ScopeKind::Module);
[INFO] [stdout]     |               ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_module_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_scope`
[INFO] [stdout]    --> src/semantic/symbol_table.rs:999:15
[INFO] [stdout]     |
[INFO] [stdout] 999 |           let function_scope = table.enter_scope(ScopeKind::Function);
[INFO] [stdout]     |               ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block_scope`
[INFO] [stdout]     --> src/semantic/symbol_table.rs:1004:15
[INFO] [stdout]      |
[INFO] [stdout] 1004 |           let block_scope = table.enter_scope(ScopeKind::Block);
[INFO] [stdout]      |               ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `object_type`
[INFO] [stdout]    --> src/semantic/types/inference.rs:265:42
[INFO] [stdout]     |
[INFO] [stdout] 265 |                 TypeConstraint::HasField(object_type, field_name, field_type) => {
[INFO] [stdout]     |                                          ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_object_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `field_name`
[INFO] [stdout]    --> src/semantic/types/inference.rs:265:55
[INFO] [stdout]     |
[INFO] [stdout] 265 |                 TypeConstraint::HasField(object_type, field_name, field_type) => {
[INFO] [stdout]     |                                                       ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_field_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `field_type`
[INFO] [stdout]    --> src/semantic/types/inference.rs:265:67
[INFO] [stdout]     |
[INFO] [stdout] 265 |                 TypeConstraint::HasField(object_type, field_name, field_type) => {
[INFO] [stdout]     |                                                                   ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_field_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func_decl`
[INFO] [stdout]    --> src/semantic/flow/control_flow_graph.rs:892:35
[INFO] [stdout]     |
[INFO] [stdout] 892 |             Declaration::Function(func_decl) => {
[INFO] [stdout]     |                                   ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_func_decl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `symbol_id`
[INFO] [stdout]    --> src/semantic/analyser.rs:281:13
[INFO] [stdout]     |
[INFO] [stdout] 281 |         let symbol_id = if let Some(type_id) = type_id {
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_symbol_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_scope_id`
[INFO] [stdout]    --> src/semantic/analyser.rs:489:13
[INFO] [stdout]     |
[INFO] [stdout] 489 |         let function_scope_id = self.symbol_table.enter_scope(crate::semantic::symbols::ScopeKind::Function);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_scope_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `borrow_errors`
[INFO] [stdout]    --> src/semantic/analyser.rs:577:20
[INFO] [stdout]     |
[INFO] [stdout] 577 |         if let Err(borrow_errors) = self.symbol_table.borrow_checker.validate_all_borrows() {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_borrow_errors`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/semantic/ssa/ssa_form.rs:210:45
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub fn from_cfg(cfg: &ControlFlowGraph, context: Rc<RefCell<CompilationContext>>) -> Self {
[INFO] [stdout]     |                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/semantic/ssa/ssa_form.rs:353:13
[INFO] [stdout]     |
[INFO] [stdout] 353 |         let mut defined_vars: HashMap<String, HashSet<BlockId>> = HashMap::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block_id`
[INFO] [stdout]    --> src/semantic/ssa/ssa_form.rs:356:14
[INFO] [stdout]     |
[INFO] [stdout] 356 |         for (block_id, block) in &cfg.blocks {
[INFO] [stdout]     |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/semantic/ssa/ssa_form.rs:356:24
[INFO] [stdout]     |
[INFO] [stdout] 356 |         for (block_id, block) in &cfg.blocks {
[INFO] [stdout]     |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/semantic/ssa/ssa_form.rs:404:14
[INFO] [stdout]     |
[INFO] [stdout] 404 |         for (i, instruction) in instructions.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dest`
[INFO] [stdout]    --> src/semantic/ssa/ssa_form.rs:405:42
[INFO] [stdout]     |
[INFO] [stdout] 405 |             if let SSAInstruction::Phi { dest, .. } = instruction {
[INFO] [stdout]     |                                          ^^^^ help: try ignoring the field: `dest: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `func_decl`
[INFO] [stdout]    --> src/semantic/flow/control_flow_graph.rs:892:35
[INFO] [stdout]     |
[INFO] [stdout] 892 |             Declaration::Function(func_decl) => {
[INFO] [stdout]     |                                   ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_func_decl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/semantic/error_recovery.rs:177:13
[INFO] [stdout]     |
[INFO] [stdout] 177 |             _ => Ok(())
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/semantic/error_recovery.rs:177:13
[INFO] [stdout]     |
[INFO] [stdout] 154 |             SemanticErrorType::TypeError(_) => {
[INFO] [stdout]     |             ------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 173 |             SemanticErrorType::SymbolError(_) => {
[INFO] [stdout]     |             --------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 177 |             _ => Ok(())
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expr`
[INFO] [stdout]    --> src/semantic/error_recovery.rs:247:9
[INFO] [stdout]     |
[INFO] [stdout] 247 |         expr: &Expression,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `symbol_id`
[INFO] [stdout]    --> src/semantic/analyser.rs:281:13
[INFO] [stdout]     |
[INFO] [stdout] 281 |         let symbol_id = if let Some(type_id) = type_id {
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_symbol_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `function_scope_id`
[INFO] [stdout]    --> src/semantic/analyser.rs:489:13
[INFO] [stdout]     |
[INFO] [stdout] 489 |         let function_scope_id = self.symbol_table.enter_scope(crate::semantic::symbols::ScopeKind::Function);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_function_scope_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `borrow_errors`
[INFO] [stdout]    --> src/semantic/analyser.rs:577:20
[INFO] [stdout]     |
[INFO] [stdout] 577 |         if let Err(borrow_errors) = self.symbol_table.borrow_checker.validate_all_borrows() {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_borrow_errors`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `borrow`
[INFO] [stdout]    --> src/semantic/optimizations/alias_analysis.rs:192:32
[INFO] [stdout]     |
[INFO] [stdout] 192 |             Expression::Borrow(borrow) => {
[INFO] [stdout]     |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_borrow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/semantic/diagnostics/diagnostic_engine.rs:257:13
[INFO] [stdout]     |
[INFO] [stdout] 257 |             _ => "E0000",
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/semantic/diagnostics/diagnostic_engine.rs:257:13
[INFO] [stdout]     |
[INFO] [stdout] 255 |             TypeError(_) => "E0001",
[INFO] [stdout]     |             ------------ matches some of the same values
[INFO] [stdout] 256 |             SymbolError(_) => "E0002",
[INFO] [stdout]     |             -------------- matches some of the same values
[INFO] [stdout] 257 |             _ => "E0000",
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/semantic/diagnostics/diagnostic_engine.rs:294:13
[INFO] [stdout]     |
[INFO] [stdout] 294 |             _ => {}
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/semantic/diagnostics/diagnostic_engine.rs:294:13
[INFO] [stdout]     |
[INFO] [stdout] 275 |             TypeError(type_error) => {
[INFO] [stdout]     |             --------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 284 |             SymbolError(symbol_error) => {
[INFO] [stdout]     |             ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 294 |             _ => {}
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/semantic/diagnostics/diagnostic_engine.rs:318:13
[INFO] [stdout]     |
[INFO] [stdout] 318 |             _ => {}
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/semantic/diagnostics/diagnostic_engine.rs:318:13
[INFO] [stdout]     |
[INFO] [stdout] 312 |             TypeError(_) => {
[INFO] [stdout]     |             ------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 315 |             SymbolError(_) => {
[INFO] [stdout]     |             -------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 318 |             _ => {}
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/semantic/ssa/ssa_form.rs:210:45
[INFO] [stdout]     |
[INFO] [stdout] 210 |     pub fn from_cfg(cfg: &ControlFlowGraph, context: Rc<RefCell<CompilationContext>>) -> Self {
[INFO] [stdout]     |                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/semantic/ssa/ssa_form.rs:353:13
[INFO] [stdout]     |
[INFO] [stdout] 353 |         let mut defined_vars: HashMap<String, HashSet<BlockId>> = HashMap::new();
[INFO] [stdout]     |             ----^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block_id`
[INFO] [stdout]    --> src/semantic/ssa/ssa_form.rs:356:14
[INFO] [stdout]     |
[INFO] [stdout] 356 |         for (block_id, block) in &cfg.blocks {
[INFO] [stdout]     |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_id`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block`
[INFO] [stdout]    --> src/semantic/ssa/ssa_form.rs:356:24
[INFO] [stdout]     |
[INFO] [stdout] 356 |         for (block_id, block) in &cfg.blocks {
[INFO] [stdout]     |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_block`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/semantic/ssa/ssa_form.rs:404:14
[INFO] [stdout]     |
[INFO] [stdout] 404 |         for (i, instruction) in instructions.iter().enumerate() {
[INFO] [stdout]     |              ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dest`
[INFO] [stdout]    --> src/semantic/ssa/ssa_form.rs:405:42
[INFO] [stdout]     |
[INFO] [stdout] 405 |             if let SSAInstruction::Phi { dest, .. } = instruction {
[INFO] [stdout]     |                                          ^^^^ help: try ignoring the field: `dest: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parse_labeled_statement` is never used
[INFO] [stdout]    --> src/parser/parser.rs:125:8
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl Parser {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 125 |     fn parse_labeled_statement(&mut self) -> Result<Option<ASTNode>, ParserError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `infer_variable_declaration` and `infer_function_declaration` are never used
[INFO] [stdout]    --> src/parser/inference.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout]  22 | impl TypeContext {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 104 |     fn infer_variable_declaration(&mut self, decl: &VariableDeclaration)
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     fn infer_function_declaration(&mut self, parameters: &[(String, Type)],
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `advance`, and `move_left` are never used
[INFO] [stdout]   --> src/semantic/semantic_error.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl Position {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 70 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     fn advance(&mut self, ch:char) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     fn move_left(&mut self){
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `context` is never read
[INFO] [stdout]   --> src/semantic/type_checker.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct TypeChecker {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 14 |     context: Rc<RefCell<CompilationContext>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `borrow_error_to_semantic` is never used
[INFO] [stdout]   --> src/semantic/borrow_checker.rs:94:4
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn borrow_error_to_semantic(error: BorrowErrorKind, position: Position) -> SemanticError {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `exit_scope_and_release_borrows` is never used
[INFO] [stdout]    --> src/semantic/borrow_checker.rs:742:8
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl SymbolTable {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 742 |     fn exit_scope_and_release_borrows(&mut self) -> Result<ScopeId, SemanticError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cache_generation` is never read
[INFO] [stdout]   --> src/semantic/symbol_table.rs:19:6
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct SymbolTable {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |      cache_generation: u32,
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SymbolTable` 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: method `check_unsed_symbols` is never used
[INFO] [stdout]    --> src/semantic/symbol_table.rs:805:9
[INFO] [stdout]     |
[INFO] [stdout] 796 | impl SymbolTable {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 805 |      fn check_unsed_symbols(&self) -> Vec<SymbolId> {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `type_constraints` is never read
[INFO] [stdout]    --> src/semantic/types/type_system.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 274 | pub struct TypeSystem {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 295 |     type_constraints: Vec<TypeConstraint>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TypeSystem` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `paths_with_return` is never read
[INFO] [stdout]    --> src/semantic/flow/analyser.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub struct ReturnPathAnalyzer {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] 151 |     cfg: ControlFlowGraph,
[INFO] [stdout] 152 |     paths_with_return: HashSet<BlockId>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `position` and `errors_count` are never read
[INFO] [stdout]    --> src/semantic/error_recovery.rs:389:5
[INFO] [stdout]     |
[INFO] [stdout] 388 | struct AnalysisCheckpoint {
[INFO] [stdout]     |        ------------------ fields in this struct
[INFO] [stdout] 389 |     position: Position,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 390 |     context_state: Rc<RefCell<CompilationContext>>,
[INFO] [stdout] 391 |     errors_count: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalysisCheckpoint` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `context` is never read
[INFO] [stdout]   --> src/semantic/optimizations/constant_folding.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub struct ConstantFolder {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 53 |     context: Rc<RefCell<CompilationContext>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `context` is never read
[INFO] [stdout]   --> src/semantic/optimizations/dead_code_elimination.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct DeadCodeEliminator {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] 14 |     context: Rc<RefCell<CompilationContext>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `context` is never read
[INFO] [stdout]   --> src/semantic/optimizations/alias_analysis.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct AliasAnalyzer {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 47 |     context: Rc<RefCell<CompilationContext>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `context` is never read
[INFO] [stdout]   --> src/semantic/diagnostics/diagnostic_engine.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct DiagnosticEngine {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 60 |     context: Rc<RefCell<CompilationContext>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `context`, `suggestion_cache`, and `max_edit_distance` are never read
[INFO] [stdout]   --> src/semantic/diagnostics/suggestion_engine.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct SuggestionEngine {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 42 |     context: Rc<RefCell<CompilationContext>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 43 |     /// Cache des suggestions par type d'erreur
[INFO] [stdout] 44 |     suggestion_cache: HashMap<String, Vec<Suggestion>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 45 |     /// Distance de Levenshtein maximale pour les suggestions
[INFO] [stdout] 46 |     max_edit_distance: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `find_similar_types`, `find_similar_symbols`, and `levenshtein_distance` are never used
[INFO] [stdout]    --> src/semantic/diagnostics/suggestion_engine.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout]  49 | impl SuggestionEngine {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 147 |     fn find_similar_types(&self, type_name: &str) -> Vec<(String, usize)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     fn find_similar_symbols(&self, symbol_name: &str) -> Vec<(String, usize)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     fn levenshtein_distance(&self, s1: &str, s2: &str) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/semantic/error_recovery.rs:177:13
[INFO] [stdout]     |
[INFO] [stdout] 177 |             _ => Ok(())
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/semantic/error_recovery.rs:177:13
[INFO] [stdout]     |
[INFO] [stdout] 154 |             SemanticErrorType::TypeError(_) => {
[INFO] [stdout]     |             ------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 173 |             SemanticErrorType::SymbolError(_) => {
[INFO] [stdout]     |             --------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 177 |             _ => Ok(())
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expr`
[INFO] [stdout]    --> src/semantic/error_recovery.rs:247:9
[INFO] [stdout]     |
[INFO] [stdout] 247 |         expr: &Expression,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_expr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/semantic/error_recovery.rs:164:46
[INFO] [stdout]     |
[INFO] [stdout] 164 |                         name: format!("T{}", TYPE_VAR_COUNTER),
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/semantic/error_recovery.rs:262:38
[INFO] [stdout]     |
[INFO] [stdout] 262 |                 name: format!("T{}", TYPE_VAR_COUNTER_2),
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `borrow`
[INFO] [stdout]    --> src/semantic/optimizations/alias_analysis.rs:192:32
[INFO] [stdout]     |
[INFO] [stdout] 192 |             Expression::Borrow(borrow) => {
[INFO] [stdout]     |                                ^^^^^^ help: if this is intentional, prefix it with an underscore: `_borrow`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/semantic/diagnostics/diagnostic_engine.rs:257:13
[INFO] [stdout]     |
[INFO] [stdout] 257 |             _ => "E0000",
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/semantic/diagnostics/diagnostic_engine.rs:257:13
[INFO] [stdout]     |
[INFO] [stdout] 255 |             TypeError(_) => "E0001",
[INFO] [stdout]     |             ------------ matches some of the same values
[INFO] [stdout] 256 |             SymbolError(_) => "E0002",
[INFO] [stdout]     |             -------------- matches some of the same values
[INFO] [stdout] 257 |             _ => "E0000",
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/semantic/diagnostics/diagnostic_engine.rs:294:13
[INFO] [stdout]     |
[INFO] [stdout] 294 |             _ => {}
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/semantic/diagnostics/diagnostic_engine.rs:294:13
[INFO] [stdout]     |
[INFO] [stdout] 275 |             TypeError(type_error) => {
[INFO] [stdout]     |             --------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 284 |             SymbolError(symbol_error) => {
[INFO] [stdout]     |             ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 294 |             _ => {}
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/semantic/diagnostics/diagnostic_engine.rs:318:13
[INFO] [stdout]     |
[INFO] [stdout] 318 |             _ => {}
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/semantic/diagnostics/diagnostic_engine.rs:318:13
[INFO] [stdout]     |
[INFO] [stdout] 312 |             TypeError(_) => {
[INFO] [stdout]     |             ------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 315 |             SymbolError(_) => {
[INFO] [stdout]     |             -------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 318 |             _ => {}
[INFO] [stdout]     |             ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parse_labeled_statement` is never used
[INFO] [stdout]    --> src/parser/parser.rs:125:8
[INFO] [stdout]     |
[INFO] [stdout]  19 | impl Parser {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 125 |     fn parse_labeled_statement(&mut self) -> Result<Option<ASTNode>, ParserError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `infer_variable_declaration` and `infer_function_declaration` are never used
[INFO] [stdout]    --> src/parser/inference.rs:104:8
[INFO] [stdout]     |
[INFO] [stdout]  22 | impl TypeContext {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 104 |     fn infer_variable_declaration(&mut self, decl: &VariableDeclaration)
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     fn infer_function_declaration(&mut self, parameters: &[(String, Type)],
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `advance`, and `move_left` are never used
[INFO] [stdout]   --> src/semantic/semantic_error.rs:70:8
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl Position {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] 70 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 73 |     fn advance(&mut self, ch:char) {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     fn move_left(&mut self){
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `context` is never read
[INFO] [stdout]   --> src/semantic/type_checker.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct TypeChecker {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 14 |     context: Rc<RefCell<CompilationContext>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `borrow_error_to_semantic` is never used
[INFO] [stdout]   --> src/semantic/borrow_checker.rs:94:4
[INFO] [stdout]    |
[INFO] [stdout] 94 | fn borrow_error_to_semantic(error: BorrowErrorKind, position: Position) -> SemanticError {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `exit_scope_and_release_borrows` is never used
[INFO] [stdout]    --> src/semantic/borrow_checker.rs:742:8
[INFO] [stdout]     |
[INFO] [stdout] 731 | impl SymbolTable {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 742 |     fn exit_scope_and_release_borrows(&mut self) -> Result<ScopeId, SemanticError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `cache_generation` is never read
[INFO] [stdout]   --> src/semantic/symbol_table.rs:19:6
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct SymbolTable {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |      cache_generation: u32,
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SymbolTable` 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: method `check_unsed_symbols` is never used
[INFO] [stdout]    --> src/semantic/symbol_table.rs:805:9
[INFO] [stdout]     |
[INFO] [stdout] 796 | impl SymbolTable {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 805 |      fn check_unsed_symbols(&self) -> Vec<SymbolId> {
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `type_constraints` is never read
[INFO] [stdout]    --> src/semantic/types/type_system.rs:295:5
[INFO] [stdout]     |
[INFO] [stdout] 274 | pub struct TypeSystem {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 295 |     type_constraints: Vec<TypeConstraint>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TypeSystem` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `paths_with_return` is never read
[INFO] [stdout]    --> src/semantic/flow/analyser.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub struct ReturnPathAnalyzer {
[INFO] [stdout]     |            ------------------ field in this struct
[INFO] [stdout] 151 |     cfg: ControlFlowGraph,
[INFO] [stdout] 152 |     paths_with_return: HashSet<BlockId>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `position` and `errors_count` are never read
[INFO] [stdout]    --> src/semantic/error_recovery.rs:389:5
[INFO] [stdout]     |
[INFO] [stdout] 388 | struct AnalysisCheckpoint {
[INFO] [stdout]     |        ------------------ fields in this struct
[INFO] [stdout] 389 |     position: Position,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 390 |     context_state: Rc<RefCell<CompilationContext>>,
[INFO] [stdout] 391 |     errors_count: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalysisCheckpoint` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `context` is never read
[INFO] [stdout]   --> src/semantic/optimizations/constant_folding.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub struct ConstantFolder {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 53 |     context: Rc<RefCell<CompilationContext>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `context` is never read
[INFO] [stdout]   --> src/semantic/optimizations/dead_code_elimination.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct DeadCodeEliminator {
[INFO] [stdout]    |            ------------------ field in this struct
[INFO] [stdout] 14 |     context: Rc<RefCell<CompilationContext>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `context` is never read
[INFO] [stdout]   --> src/semantic/optimizations/alias_analysis.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct AliasAnalyzer {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 47 |     context: Rc<RefCell<CompilationContext>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `context` is never read
[INFO] [stdout]   --> src/semantic/diagnostics/diagnostic_engine.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct DiagnosticEngine {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 60 |     context: Rc<RefCell<CompilationContext>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `context`, `suggestion_cache`, and `max_edit_distance` are never read
[INFO] [stdout]   --> src/semantic/diagnostics/suggestion_engine.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct SuggestionEngine {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 42 |     context: Rc<RefCell<CompilationContext>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 43 |     /// Cache des suggestions par type d'erreur
[INFO] [stdout] 44 |     suggestion_cache: HashMap<String, Vec<Suggestion>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 45 |     /// Distance de Levenshtein maximale pour les suggestions
[INFO] [stdout] 46 |     max_edit_distance: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `find_similar_types`, `find_similar_symbols`, and `levenshtein_distance` are never used
[INFO] [stdout]    --> src/semantic/diagnostics/suggestion_engine.rs:147:8
[INFO] [stdout]     |
[INFO] [stdout]  49 | impl SuggestionEngine {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 147 |     fn find_similar_types(&self, type_name: &str) -> Vec<(String, usize)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 167 |     fn find_similar_symbols(&self, symbol_name: &str) -> Vec<(String, usize)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     fn levenshtein_distance(&self, s1: &str, s2: &str) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `punk::parser::ast::ASTNode`
[INFO] [stdout]  --> tests/dual_mode_tests.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use punk::parser::ast::ASTNode;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/semantic/error_recovery.rs:164:46
[INFO] [stdout]     |
[INFO] [stdout] 164 |                         name: format!("T{}", TYPE_VAR_COUNTER),
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/semantic/error_recovery.rs:262:38
[INFO] [stdout]     |
[INFO] [stdout] 262 |                 name: format!("T{}", TYPE_VAR_COUNTER_2),
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]     = help: use a type that relies on "interior mutability" instead; to read more on this, visit <https://doc.rust-lang.org/reference/interior-mutability.html>
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ReturnStatement`
[INFO] [stdout]   --> tests/semantic_test.rs:18:46
[INFO] [stdout]    |
[INFO] [stdout] 18 | use punk::parser::ast::{ASTNode, Expression, ReturnStatement};
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `TypeId` and `Type`
[INFO] [stdout]  --> tests/semantic_extended_test.rs:4:54
[INFO] [stdout]   |
[INFO] [stdout] 4 | use punk::semantic::types::type_system::{TypeSystem, Type, TypeId, TypeKind, Mutability as TypeMutability};
[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: `ScopeId`
[INFO] [stdout]  --> tests/semantic_lifetime_test.rs:5:56
[INFO] [stdout]   |
[INFO] [stdout] 5 |     LifetimeInference, LifetimeId, LifetimeConstraint, ScopeId
[INFO] [stdout]   |                                                        ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BasicBlock`, `BlockId`, and `InstructionId`
[INFO] [stdout]  --> tests/semantic_cfg_test.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 |     ControlFlowGraph, BlockId, BasicBlock, Instruction, 
[INFO] [stdout]   |                       ^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 6 |     Terminator, InstructionId, CFGInstruction
[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: `std::collections::HashSet`
[INFO] [stdout]   --> tests/semantic_cfg_test.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::collections::HashSet;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `punk::parser::ast::Expression`
[INFO] [stdout]  --> tests/parser_test.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use punk::parser::ast::Expression;
[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 variable: `read`
[INFO] [stdout]    --> tests/semantic_cfg_test.rs:294:13
[INFO] [stdout]     |
[INFO] [stdout] 294 |         let read = CFGInstruction::Read(symbol1);
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_read`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `write`
[INFO] [stdout]    --> tests/semantic_cfg_test.rs:295:13
[INFO] [stdout]     |
[INFO] [stdout] 295 |         let write = CFGInstruction::Write(symbol1);
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_write`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `move_instr`
[INFO] [stdout]    --> tests/semantic_cfg_test.rs:303:13
[INFO] [stdout]     |
[INFO] [stdout] 303 |         let move_instr = CFGInstruction::Move {
[INFO] [stdout]     |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_move_instr`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `colored`
[INFO] [stderr]  --> Cargo.toml:2:1
[INFO] [stderr]   |
[INFO] [stderr] 2 | colored = "3.0.0"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `colored`
[INFO] [stderr] warning: unused dependency `float-derive`
[INFO] [stderr]  --> Cargo.toml:4:1
[INFO] [stderr]   |
[INFO] [stderr] 4 | float-derive = "0.1.0"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `float-derive`
[INFO] [stderr] warning: unused dependency `nom`
[INFO] [stderr]  --> Cargo.toml:6:1
[INFO] [stderr]   |
[INFO] [stderr] 6 | nom = "7.0"
[INFO] [stderr]   | ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `nom`
[INFO] [stderr] warning: unused dependency `num-complex`
[INFO] [stderr]  --> Cargo.toml:8:1
[INFO] [stderr]   |
[INFO] [stderr] 8 | num-complex = "0.4.6"
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr] help: consider removing the dependency on `num-complex`
[INFO] [stderr] warning: unused dependency `rustyline`
[INFO] [stderr]   --> Cargo.toml:10:1
[INFO] [stderr]    |
[INFO] [stderr] 10 | rustyline = "17.0.1"
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `rustyline`
[INFO] [stderr] warning: unused dependency `ymcrust`
[INFO] [stderr]   --> Cargo.toml:12:15
[INFO] [stderr]    |
[INFO] [stderr] 12 | [dependencies.ymcrust]
[INFO] [stderr]    |               ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `ymcrust`
[INFO] [stderr] warning: `punk` (manifest) generated 6 warnings
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.06s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nix v0.30.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 7`
[INFO] running `Command { std: "docker" "inspect" "ba994e3a1c3441678bfbab6cfff9aeb05e612da1f8f93629d32d2a0658935ce5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ba994e3a1c3441678bfbab6cfff9aeb05e612da1f8f93629d32d2a0658935ce5", kill_on_drop: false }`
[INFO] [stdout] ba994e3a1c3441678bfbab6cfff9aeb05e612da1f8f93629d32d2a0658935ce5
