[INFO] cloning repository https://github.com/coolio986/nova
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/coolio986/nova" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcoolio986%2Fnova", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcoolio986%2Fnova'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a5c6e8c733e5933017622b1c1e8ea718c90b1f51
[INFO] checking coolio986/nova against 8006091eb71ae7d9e9bccb66c6122c9d68af4466 for pr-129249-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcoolio986%2Fnova" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/coolio986/nova
[INFO] finished tweaking git repo https://github.com/coolio986/nova
[INFO] tweaked toml for git repo https://github.com/coolio986/nova written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/coolio986/nova on toolchain 8006091eb71ae7d9e9bccb66c6122c9d68af4466
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8006091eb71ae7d9e9bccb66c6122c9d68af4466" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/coolio986/nova 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" "+8006091eb71ae7d9e9bccb66c6122c9d68af4466" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded inkwell_internals v0.13.0
[INFO] [stderr]   Downloaded inkwell v0.8.0
[INFO] [stderr]   Downloaded llvm-sys v211.0.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 2c062f5e0dce0c4fd02143bd94bb3425b0408c95b5ee6e2eb21ff396f93e48d9
[INFO] running `Command { std: "docker" "start" "2c062f5e0dce0c4fd02143bd94bb3425b0408c95b5ee6e2eb21ff396f93e48d9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2c062f5e0dce0c4fd02143bd94bb3425b0408c95b5ee6e2eb21ff396f93e48d9", 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" "2c062f5e0dce0c4fd02143bd94bb3425b0408c95b5ee6e2eb21ff396f93e48d9" "/opt/rustwide/cargo-home/bin/cargo" "+8006091eb71ae7d9e9bccb66c6122c9d68af4466" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2c062f5e0dce0c4fd02143bd94bb3425b0408c95b5ee6e2eb21ff396f93e48d9", 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" "2c062f5e0dce0c4fd02143bd94bb3425b0408c95b5ee6e2eb21ff396f93e48d9" "/opt/rustwide/cargo-home/bin/cargo" "+8006091eb71ae7d9e9bccb66c6122c9d68af4466" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling regex-lite v0.1.9
[INFO] [stderr]    Compiling libc v0.2.184
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling inkwell v0.8.0
[INFO] [stderr]    Compiling nova-compiler v0.2.0 (/opt/rustwide/workdir/nova-compiler)
[INFO] [stderr]     Checking nova-runtime v0.2.0 (/opt/rustwide/workdir/nova-runtime)
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr] warning: nova-compiler@0.2.0: LLVM 21.1.8 detected
[INFO] [stderr]    Compiling llvm-sys v211.0.1
[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]     Checking thiserror v2.0.18
[INFO] [stderr]     Checking clap v4.6.0
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> nova-compiler/src/codegen.rs:626:45
[INFO] [stdout]     |
[INFO] [stdout] 626 |                     .insert(p.name.clone(), (*expr.clone()));
[INFO] [stdout]     |                                             ^             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 626 -                     .insert(p.name.clone(), (*expr.clone()));
[INFO] [stdout] 626 +                     .insert(p.name.clone(), *expr.clone());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> nova-compiler/src/codegen.rs:626:45
[INFO] [stdout]     |
[INFO] [stdout] 626 |                     .insert(p.name.clone(), (*expr.clone()));
[INFO] [stdout]     |                                             ^             ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 626 -                     .insert(p.name.clone(), (*expr.clone()));
[INFO] [stdout] 626 +                     .insert(p.name.clone(), *expr.clone());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `base` is never read
[INFO] [stdout]    --> nova-compiler/src/parser.rs:154:13
[INFO] [stdout]     |
[INFO] [stdout] 154 |             base = Some(first);   // refine: first entry is base if it's a class name
[INFO] [stdout]     |             ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `base` is never read
[INFO] [stdout]    --> nova-compiler/src/parser.rs:154:13
[INFO] [stdout]     |
[INFO] [stdout] 154 |             base = Some(first);   // refine: first entry is base if it's a class name
[INFO] [stdout]     |             ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> nova-compiler/src/main.rs:300:13
[INFO] [stdout]     |
[INFO] [stdout] 300 |         let mut fallback: Vec<String> = args.iter().filter(|a| *a != "-fuse-ld=lld").cloned().collect();
[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: variant `Bool` is never constructed
[INFO] [stdout]  --> nova-compiler/src/lexer.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum TokenKind {
[INFO] [stdout]   |          --------- variant in this enum
[INFO] [stdout] 5 |     // Literals
[INFO] [stdout] 6 |     Int(i64), Float(f64), Bool(bool), Str(String), InterpStr(Vec<InterpPart>),
[INFO] [stdout]   |                           ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `TokenKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TypeParam` is never constructed
[INFO] [stdout]   --> nova-compiler/src/ast.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum Type {
[INFO] [stdout]    |          ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 22 |     TypeParam(String),             // T  inside a generic decl
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Type` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `type_args` is never read
[INFO] [stdout]   --> nova-compiler/src/ast.rs:79:54
[INFO] [stdout]    |
[INFO] [stdout] 79 |     Call       { callee: Box<Expr>, args: Vec<Expr>, type_args: Vec<Type> },
[INFO] [stdout]    |     ---- field in this variant                       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExprKind` 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 `type_args` is never read
[INFO] [stdout]   --> nova-compiler/src/ast.rs:80:67
[INFO] [stdout]    |
[INFO] [stdout] 80 |     MethodCall { obj: Box<Expr>, method: String, args: Vec<Expr>, type_args: Vec<Type> },
[INFO] [stdout]    |     ---------- field in this variant                              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExprKind` 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 `params` is never read
[INFO] [stdout]   --> nova-compiler/src/ast.rs:87:14
[INFO] [stdout]    |
[INFO] [stdout] 87 |     Lambda { params: Vec<LambdaParam>, body: LambdaBody },
[INFO] [stdout]    |     ------   ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExprKind` 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 `ty` is never read
[INFO] [stdout]   --> nova-compiler/src/ast.rs:91:28
[INFO] [stdout]    |
[INFO] [stdout] 91 |     Is  { expr: Box<Expr>, ty: Type },
[INFO] [stdout]    |     --                     ^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExprKind` 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 `ty` is never read
[INFO] [stdout]   --> nova-compiler/src/ast.rs:92:28
[INFO] [stdout]    |
[INFO] [stdout] 92 |     As  { expr: Box<Expr>, ty: Type },
[INFO] [stdout]    |     --                     ^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExprKind` 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: variants `ArrayLit` and `Cast` are never constructed
[INFO] [stdout]   --> nova-compiler/src/ast.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub enum ExprKind {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 84 |     ArrayLit { elements: Vec<Expr> },
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     Cast{ ty: Type, expr: Box<Expr> },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExprKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `ty` are never read
[INFO] [stdout]   --> nova-compiler/src/ast.rs:99:30
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub struct LambdaParam { pub name: String, pub ty: Option<Type> }
[INFO] [stdout]    |            -----------       ^^^^              ^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            fields in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LambdaParam` 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 `is_const` is never read
[INFO] [stdout]    --> nova-compiler/src/ast.rs:124:67
[INFO] [stdout]     |
[INFO] [stdout] 124 |     VarDecl { name: String, ty: Option<Type>, init: Option<Expr>, is_const: bool },
[INFO] [stdout]     |     ------- field in this variant                                 ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StmtKind` 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 `var_ty` is never read
[INFO] [stdout]    --> nova-compiler/src/ast.rs:134:28
[INFO] [stdout]     |
[INFO] [stdout] 134 |     Foreach { var: String, var_ty: Option<Type>, iter: Expr, body: Vec<Stmt> },
[INFO] [stdout]     |     -------                ^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StmtKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `param` and `bounds` are never read
[INFO] [stdout]    --> nova-compiler/src/ast.rs:150:33
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub struct TypeConstraint { pub param: String, pub bounds: Vec<Type> }
[INFO] [stdout]     |            --------------       ^^^^^              ^^^^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            fields in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TypeConstraint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `is_ref`, `is_out`, `is_params`, and `span` are never read
[INFO] [stdout]    --> nova-compiler/src/ast.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct Param {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub is_ref:    bool,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 158 |     pub is_out:    bool,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 159 |     pub is_params: bool,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 160 |     pub span:      Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Param` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Full` is never constructed
[INFO] [stdout]    --> nova-compiler/src/ast.rs:171:5
[INFO] [stdout]     |
[INFO] [stdout] 165 | pub enum PropertyBody {
[INFO] [stdout]     |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 171 |     Full { get: Option<Vec<Stmt>>, set: Option<Vec<Stmt>> },
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PropertyBody` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `access`, `is_static`, and `span` are never read
[INFO] [stdout]    --> nova-compiler/src/ast.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub struct PropertyDecl {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 176 |     pub access:    Access,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 177 |     pub is_static: bool,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub span:      Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PropertyDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `access`, `is_static`, `is_readonly`, `is_const`, and `span` are never read
[INFO] [stdout]    --> nova-compiler/src/ast.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub struct FieldDecl {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 187 |     pub access:     Access,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 188 |     pub is_static:  bool,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 189 |     pub is_readonly:bool,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 190 |     pub is_const:   bool,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub span:       Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FieldDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> nova-compiler/src/ast.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub struct MethodDecl {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 202 |     pub access:      Access,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 203 |     pub is_static:   bool,
[INFO] [stdout] 204 |     pub is_virtual:  bool,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 205 |     pub is_override: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 206 |     pub is_abstract: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 207 |     pub is_async:    bool,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     pub type_params: Vec<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 212 |     pub params:      Vec<Param>,
[INFO] [stdout] 213 |     pub constraints: Vec<TypeConstraint>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MethodDecl` 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 `access` is never read
[INFO] [stdout]    --> nova-compiler/src/ast.rs:220:9
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub struct ConstructorDecl {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] 220 |     pub access:    Access,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConstructorDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `type_params`, `constraints`, and `span` are never read
[INFO] [stdout]    --> nova-compiler/src/ast.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub struct ClassDecl {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 234 |     pub type_params:  Vec<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub constraints:  Vec<TypeConstraint>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub span:         Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ClassDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `type_params`, `bases`, and `span` are never read
[INFO] [stdout]    --> nova-compiler/src/ast.rs:250:9
[INFO] [stdout]     |
[INFO] [stdout] 247 | pub struct InterfaceDecl {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 250 |     pub type_params: Vec<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 251 |     pub bases:       Vec<Type>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub span:        Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InterfaceDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> nova-compiler/src/ast.rs:263:9
[INFO] [stdout]     |
[INFO] [stdout] 258 | pub struct NamespaceDecl {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 263 |     pub span:       Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NamespaceDecl` 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 `usings` is never read
[INFO] [stdout]    --> nova-compiler/src/ast.rs:268:9
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub struct Program {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 268 |     pub usings:         Vec<String>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Program` 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 `write_ir_to_file` is never used
[INFO] [stdout]     --> nova-compiler/src/codegen.rs:3018:12
[INFO] [stdout]      |
[INFO] [stdout]  141 | impl<'ctx> Codegen<'ctx> {
[INFO] [stdout]      | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 3018 |     pub fn write_ir_to_file(&self, path: &str) -> Result<(), String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> nova-compiler/src/main.rs:300:13
[INFO] [stdout]     |
[INFO] [stdout] 300 |         let mut fallback: Vec<String> = args.iter().filter(|a| *a != "-fuse-ld=lld").cloned().collect();
[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: variant `Bool` is never constructed
[INFO] [stdout]  --> nova-compiler/src/lexer.rs:6:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub enum TokenKind {
[INFO] [stdout]   |          --------- variant in this enum
[INFO] [stdout] 5 |     // Literals
[INFO] [stdout] 6 |     Int(i64), Float(f64), Bool(bool), Str(String), InterpStr(Vec<InterpPart>),
[INFO] [stdout]   |                           ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `TokenKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TypeParam` is never constructed
[INFO] [stdout]   --> nova-compiler/src/ast.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub enum Type {
[INFO] [stdout]    |          ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 22 |     TypeParam(String),             // T  inside a generic decl
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Type` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `type_args` is never read
[INFO] [stdout]   --> nova-compiler/src/ast.rs:79:54
[INFO] [stdout]    |
[INFO] [stdout] 79 |     Call       { callee: Box<Expr>, args: Vec<Expr>, type_args: Vec<Type> },
[INFO] [stdout]    |     ---- field in this variant                       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExprKind` 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 `type_args` is never read
[INFO] [stdout]   --> nova-compiler/src/ast.rs:80:67
[INFO] [stdout]    |
[INFO] [stdout] 80 |     MethodCall { obj: Box<Expr>, method: String, args: Vec<Expr>, type_args: Vec<Type> },
[INFO] [stdout]    |     ---------- field in this variant                              ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExprKind` 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 `params` is never read
[INFO] [stdout]   --> nova-compiler/src/ast.rs:87:14
[INFO] [stdout]    |
[INFO] [stdout] 87 |     Lambda { params: Vec<LambdaParam>, body: LambdaBody },
[INFO] [stdout]    |     ------   ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExprKind` 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 `ty` is never read
[INFO] [stdout]   --> nova-compiler/src/ast.rs:91:28
[INFO] [stdout]    |
[INFO] [stdout] 91 |     Is  { expr: Box<Expr>, ty: Type },
[INFO] [stdout]    |     --                     ^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExprKind` 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 `ty` is never read
[INFO] [stdout]   --> nova-compiler/src/ast.rs:92:28
[INFO] [stdout]    |
[INFO] [stdout] 92 |     As  { expr: Box<Expr>, ty: Type },
[INFO] [stdout]    |     --                     ^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExprKind` 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: variants `ArrayLit` and `Cast` are never constructed
[INFO] [stdout]   --> nova-compiler/src/ast.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub enum ExprKind {
[INFO] [stdout]    |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 84 |     ArrayLit { elements: Vec<Expr> },
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 93 |     Cast{ ty: Type, expr: Box<Expr> },
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExprKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `ty` are never read
[INFO] [stdout]   --> nova-compiler/src/ast.rs:99:30
[INFO] [stdout]    |
[INFO] [stdout] 99 | pub struct LambdaParam { pub name: String, pub ty: Option<Type> }
[INFO] [stdout]    |            -----------       ^^^^              ^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            fields in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LambdaParam` 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 `is_const` is never read
[INFO] [stdout]    --> nova-compiler/src/ast.rs:124:67
[INFO] [stdout]     |
[INFO] [stdout] 124 |     VarDecl { name: String, ty: Option<Type>, init: Option<Expr>, is_const: bool },
[INFO] [stdout]     |     ------- field in this variant                                 ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StmtKind` 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 `var_ty` is never read
[INFO] [stdout]    --> nova-compiler/src/ast.rs:134:28
[INFO] [stdout]     |
[INFO] [stdout] 134 |     Foreach { var: String, var_ty: Option<Type>, iter: Expr, body: Vec<Stmt> },
[INFO] [stdout]     |     -------                ^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StmtKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `param` and `bounds` are never read
[INFO] [stdout]    --> nova-compiler/src/ast.rs:150:33
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub struct TypeConstraint { pub param: String, pub bounds: Vec<Type> }
[INFO] [stdout]     |            --------------       ^^^^^              ^^^^^^
[INFO] [stdout]     |            |
[INFO] [stdout]     |            fields in this struct
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TypeConstraint` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `is_ref`, `is_out`, `is_params`, and `span` are never read
[INFO] [stdout]    --> nova-compiler/src/ast.rs:157:9
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub struct Param {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub is_ref:    bool,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 158 |     pub is_out:    bool,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 159 |     pub is_params: bool,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 160 |     pub span:      Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Param` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Full` is never constructed
[INFO] [stdout]    --> nova-compiler/src/ast.rs:171:5
[INFO] [stdout]     |
[INFO] [stdout] 165 | pub enum PropertyBody {
[INFO] [stdout]     |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 171 |     Full { get: Option<Vec<Stmt>>, set: Option<Vec<Stmt>> },
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PropertyBody` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `access`, `is_static`, and `span` are never read
[INFO] [stdout]    --> nova-compiler/src/ast.rs:176:9
[INFO] [stdout]     |
[INFO] [stdout] 175 | pub struct PropertyDecl {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 176 |     pub access:    Access,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 177 |     pub is_static: bool,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub span:      Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PropertyDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `access`, `is_static`, `is_readonly`, `is_const`, and `span` are never read
[INFO] [stdout]    --> nova-compiler/src/ast.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub struct FieldDecl {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 187 |     pub access:     Access,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 188 |     pub is_static:  bool,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 189 |     pub is_readonly:bool,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 190 |     pub is_const:   bool,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 194 |     pub span:       Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FieldDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> nova-compiler/src/ast.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout] 201 | pub struct MethodDecl {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 202 |     pub access:      Access,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 203 |     pub is_static:   bool,
[INFO] [stdout] 204 |     pub is_virtual:  bool,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 205 |     pub is_override: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 206 |     pub is_abstract: bool,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 207 |     pub is_async:    bool,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     pub type_params: Vec<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 212 |     pub params:      Vec<Param>,
[INFO] [stdout] 213 |     pub constraints: Vec<TypeConstraint>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MethodDecl` 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 `access` is never read
[INFO] [stdout]    --> nova-compiler/src/ast.rs:220:9
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub struct ConstructorDecl {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] 220 |     pub access:    Access,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConstructorDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `type_params`, `constraints`, and `span` are never read
[INFO] [stdout]    --> nova-compiler/src/ast.rs:234:9
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub struct ClassDecl {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 234 |     pub type_params:  Vec<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 237 |     pub constraints:  Vec<TypeConstraint>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub span:         Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ClassDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `type_params`, `bases`, and `span` are never read
[INFO] [stdout]    --> nova-compiler/src/ast.rs:250:9
[INFO] [stdout]     |
[INFO] [stdout] 247 | pub struct InterfaceDecl {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 250 |     pub type_params: Vec<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 251 |     pub bases:       Vec<Type>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub span:        Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `InterfaceDecl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `span` is never read
[INFO] [stdout]    --> nova-compiler/src/ast.rs:263:9
[INFO] [stdout]     |
[INFO] [stdout] 258 | pub struct NamespaceDecl {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 263 |     pub span:       Span,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NamespaceDecl` 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 `usings` is never read
[INFO] [stdout]    --> nova-compiler/src/ast.rs:268:9
[INFO] [stdout]     |
[INFO] [stdout] 267 | pub struct Program {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 268 |     pub usings:         Vec<String>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Program` 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 `write_ir_to_file` is never used
[INFO] [stdout]     --> nova-compiler/src/codegen.rs:3018:12
[INFO] [stdout]      |
[INFO] [stdout]  141 | impl<'ctx> Codegen<'ctx> {
[INFO] [stdout]      | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 3018 |     pub fn write_ir_to_file(&self, path: &str) -> Result<(), String> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: unused dependency `clap`
[INFO] [stderr]   --> nova-compiler/Cargo.toml:29:1
[INFO] [stderr]    |
[INFO] [stderr] 29 | clap    = { version = "4",   features = ["derive"] }
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `clap`
[INFO] [stderr] warning: `nova-compiler` (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.38s
[INFO] running `Command { std: "docker" "inspect" "2c062f5e0dce0c4fd02143bd94bb3425b0408c95b5ee6e2eb21ff396f93e48d9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2c062f5e0dce0c4fd02143bd94bb3425b0408c95b5ee6e2eb21ff396f93e48d9", kill_on_drop: false }`
[INFO] [stdout] 2c062f5e0dce0c4fd02143bd94bb3425b0408c95b5ee6e2eb21ff396f93e48d9
