[INFO] cloning repository https://github.com/wesuRage/narval-compiler
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wesuRage/narval-compiler" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FwesuRage%2Fnarval-compiler", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FwesuRage%2Fnarval-compiler'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] af50623fbdfe0a41dd090e39fe8ef5f33185afa2
[INFO] checking wesuRage/narval-compiler against master#eeb94be79adc9df7a09ad0b2421f16e60e6d932c for pr-152971
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FwesuRage%2Fnarval-compiler" "/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/wesuRage/narval-compiler
[INFO] finished tweaking git repo https://github.com/wesuRage/narval-compiler
[INFO] tweaked toml for git repo https://github.com/wesuRage/narval-compiler written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/wesuRage/narval-compiler on toolchain eeb94be79adc9df7a09ad0b2421f16e60e6d932c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eeb94be79adc9df7a09ad0b2421f16e60e6d932c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/wesuRage/narval-compiler 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" "+eeb94be79adc9df7a09ad0b2421f16e60e6d932c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded thiserror-impl v1.0.61
[INFO] [stderr]   Downloaded dirs v5.0.1
[INFO] [stderr]   Downloaded libredox v0.1.3
[INFO] [stderr]   Downloaded shellexpand v3.1.0
[INFO] [stderr]   Downloaded redox_users v0.4.5
[INFO] [stderr]   Downloaded dirs-sys v0.4.1
[INFO] [stderr]   Downloaded is_terminal_polyfill v1.70.0
[INFO] [stderr]   Downloaded clap_lex v0.7.1
[INFO] [stderr]   Downloaded anstyle-query v1.1.0
[INFO] [stderr]   Downloaded thiserror v1.0.61
[INFO] [stderr]   Downloaded colorchoice v1.0.1
[INFO] [stderr]   Downloaded anstyle-parse v0.2.4
[INFO] [stderr]   Downloaded proc-macro2 v1.0.86
[INFO] [stderr]   Downloaded bitflags v2.6.0
[INFO] [stderr]   Downloaded clap v4.5.9
[INFO] [stderr]   Downloaded anstream v0.6.14
[INFO] [stderr]   Downloaded clap_derive v4.5.8
[INFO] [stderr]   Downloaded anstyle v1.0.7
[INFO] [stderr]   Downloaded option-ext v0.2.0
[INFO] [stderr]   Downloaded anstyle-wincon v3.0.3
[INFO] [stderr]   Downloaded syn v2.0.70
[INFO] [stderr]   Downloaded clap_builder v4.5.9
[INFO] [stderr]   Downloaded libc v0.2.155
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+eeb94be79adc9df7a09ad0b2421f16e60e6d932c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 14f59b3953757e0d591dbed0147a437e4a2d209fe60df1e6ff0daa5e366b8168
[INFO] running `Command { std: "docker" "start" "-a" "14f59b3953757e0d591dbed0147a437e4a2d209fe60df1e6ff0daa5e366b8168", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "14f59b3953757e0d591dbed0147a437e4a2d209fe60df1e6ff0daa5e366b8168", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "14f59b3953757e0d591dbed0147a437e4a2d209fe60df1e6ff0daa5e366b8168", kill_on_drop: false }`
[INFO] [stdout] 14f59b3953757e0d591dbed0147a437e4a2d209fe60df1e6ff0daa5e366b8168
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+eeb94be79adc9df7a09ad0b2421f16e60e6d932c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0bdcb8f10aadef2c16f0fd0e8a573645acf4c691812d722b76250717c8b28748
[INFO] running `Command { std: "docker" "start" "-a" "0bdcb8f10aadef2c16f0fd0e8a573645acf4c691812d722b76250717c8b28748", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.86
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking anstyle-query v1.1.0
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.0
[INFO] [stderr]     Checking anstyle v1.0.7
[INFO] [stderr]     Checking colorchoice v1.0.1
[INFO] [stderr]     Checking option-ext v0.2.0
[INFO] [stderr]     Checking strsim v0.11.1
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]     Checking anstyle-parse v0.2.4
[INFO] [stderr]     Checking clap_lex v0.7.1
[INFO] [stderr]     Checking anstream v0.6.14
[INFO] [stderr]     Checking clap_builder v4.5.9
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]     Checking shellexpand v3.1.0
[INFO] [stderr]    Compiling syn v2.0.70
[INFO] [stderr]    Compiling clap_derive v4.5.8
[INFO] [stderr]     Checking clap v4.5.9
[INFO] [stderr]     Checking narval v1.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `compiler::Compiler`
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use compiler::Compiler;
[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: `compiler::Compiler`
[INFO] [stdout]   --> src/main.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | use compiler::Compiler;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `column_val` is never read
[INFO] [stdout]    --> src/parser.rs:834:13
[INFO] [stdout]     |
[INFO] [stdout] 834 |             column_val.1 = self.at().column.1 - 1;
[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 `position_val` is never read
[INFO] [stdout]    --> src/parser.rs:835:13
[INFO] [stdout]     |
[INFO] [stdout] 835 |             position_val.1 = self.at().position.1 - 1;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `for_iterators` is never read
[INFO] [stdout]   --> src/code_generator/x86_64.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct X8664Generator<'a> {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub for_iterators: HashMap<String, String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `X8664Generator` has a derived impl for the trait `Clone`, but this is 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: method `generate_bitwisenot_expr` is never used
[INFO] [stdout]    --> src/code_generator/x86_64.rs:838:8
[INFO] [stdout]     |
[INFO] [stdout]  59 | impl<'a> X8664Generator<'a> {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 838 |     fn generate_bitwisenot_expr(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast.rs:101:10
[INFO] [stdout]     |
[INFO] [stdout] 101 |     _EOL(_EOL),
[INFO] [stdout]     |     ---- ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 101 -     _EOL(_EOL),
[INFO] [stdout] 101 +     _EOL(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `kind` is never read
[INFO] [stdout]    --> src/ast.rs:241:9
[INFO] [stdout]     |
[INFO] [stdout] 240 | pub struct Program {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 241 |     pub kind: NodeType,
[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: field `kind` is never read
[INFO] [stdout]    --> src/ast.rs:247:9
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub struct _EOL {
[INFO] [stdout]     |            ---- field in this struct
[INFO] [stdout] 247 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `_EOL` 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 `kind`, `operand`, and `typ` are never read
[INFO] [stdout]    --> src/ast.rs:252:9
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub struct UnaryBitwiseNotExpr {
[INFO] [stdout]     |            ------------------- fields in this struct
[INFO] [stdout] 252 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 253 |     pub operand: Box<Expr>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 254 |     pub typ: Option<Datatype>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UnaryBitwiseNotExpr` 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 `kind` is never read
[INFO] [stdout]    --> src/ast.rs:262:9
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub struct RangeExpr {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 262 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RangeExpr` 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 `kind`, `name`, `super_class`, and `body` are never read
[INFO] [stdout]    --> src/ast.rs:273:9
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub struct ClassDeclaration {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 273 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 274 |     pub name: String,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 275 |     pub super_class: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 276 |     pub body: Vec<Stmt>,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ClassDeclaration` 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 `kind`, `access_modifier`, and `function` are never read
[INFO] [stdout]    --> src/ast.rs:284:9
[INFO] [stdout]     |
[INFO] [stdout] 283 | pub struct ClassFunctionDeclaration {
[INFO] [stdout]     |            ------------------------ fields in this struct
[INFO] [stdout] 284 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 285 |     pub access_modifier: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 286 |     pub function: Expr,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ClassFunctionDeclaration` 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 `kind`, `access_modifier`, and `var` are never read
[INFO] [stdout]    --> src/ast.rs:294:9
[INFO] [stdout]     |
[INFO] [stdout] 293 | pub struct ClassVarDeclaration {
[INFO] [stdout]     |            ------------------- fields in this struct
[INFO] [stdout] 294 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 295 |     pub access_modifier: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 296 |     pub var: Stmt,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ClassVarDeclaration` 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 `kind` is never read
[INFO] [stdout]    --> src/ast.rs:304:9
[INFO] [stdout]     |
[INFO] [stdout] 303 | pub struct Enum {
[INFO] [stdout]     |            ---- field in this struct
[INFO] [stdout] 304 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Enum` 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 `kind` and `values` are never read
[INFO] [stdout]    --> src/ast.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout] 313 | pub struct MovStmt {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 314 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 315 |     pub values: Vec<(String, String)>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MovStmt` 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 `kind` and `typ` are never read
[INFO] [stdout]    --> src/ast.rs:323:9
[INFO] [stdout]     |
[INFO] [stdout] 322 | pub struct BooleanLiteral {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 323 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 324 |     pub value: String,
[INFO] [stdout] 325 |     pub typ: Option<Datatype>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BooleanLiteral` 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 `kind` and `operand` are never read
[INFO] [stdout]    --> src/ast.rs:333:9
[INFO] [stdout]     |
[INFO] [stdout] 332 | pub struct PreIncrementExpr {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 333 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 334 |     pub operand: Box<Expr>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PreIncrementExpr` 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 `kind` and `operand` are never read
[INFO] [stdout]    --> src/ast.rs:342:9
[INFO] [stdout]     |
[INFO] [stdout] 341 | pub struct PreDecrementExpr {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 342 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 343 |     pub operand: Box<Expr>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PreDecrementExpr` 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 `kind` and `operand` are never read
[INFO] [stdout]    --> src/ast.rs:351:9
[INFO] [stdout]     |
[INFO] [stdout] 350 | pub struct PostIncrementExpr {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 351 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 352 |     pub operand: Box<Expr>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PostIncrementExpr` 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 `kind` and `operand` are never read
[INFO] [stdout]    --> src/ast.rs:360:9
[INFO] [stdout]     |
[INFO] [stdout] 359 | pub struct PostDecrementExpr {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 360 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 361 |     pub operand: Box<Expr>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PostDecrementExpr` 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 `kind` and `typ` are never read
[INFO] [stdout]    --> src/ast.rs:369:9
[INFO] [stdout]     |
[INFO] [stdout] 368 | pub struct UnaryMinusExpr {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 369 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 370 |     pub operand: Box<Expr>,
[INFO] [stdout] 371 |     pub typ: RefCell<Option<Datatype>>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UnaryMinusExpr` 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 `kind`, `operand`, and `typ` are never read
[INFO] [stdout]    --> src/ast.rs:379:9
[INFO] [stdout]     |
[INFO] [stdout] 378 | pub struct LogicalNotExpr {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 379 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 380 |     pub operand: Box<Expr>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 381 |     pub typ: Option<Datatype>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LogicalNotExpr` 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 `kind` is never read
[INFO] [stdout]    --> src/ast.rs:389:9
[INFO] [stdout]     |
[INFO] [stdout] 388 | pub struct ForStmt {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 389 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ForStmt` 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 `kind` is never read
[INFO] [stdout]    --> src/ast.rs:400:9
[INFO] [stdout]     |
[INFO] [stdout] 399 | pub struct LoopStmt {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 400 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LoopStmt` 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 `kind` is never read
[INFO] [stdout]    --> src/ast.rs:409:9
[INFO] [stdout]     |
[INFO] [stdout] 408 | pub struct BreakExpr {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 409 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BreakExpr` 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 `kind` is never read
[INFO] [stdout]    --> src/ast.rs:417:9
[INFO] [stdout]     |
[INFO] [stdout] 416 | pub struct ContinueExpr {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] 417 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ContinueExpr` 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 `kind`, `column`, `position`, and `lineno` are never read
[INFO] [stdout]    --> src/ast.rs:425:9
[INFO] [stdout]     |
[INFO] [stdout] 424 | pub struct Stmt {
[INFO] [stdout]     |            ---- fields in this struct
[INFO] [stdout] 425 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 428 |     pub column: (usize, usize),
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 429 |     pub position: (usize, usize),
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 430 |     pub lineno: usize,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Stmt` 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 `kind` is never read
[INFO] [stdout]    --> src/ast.rs:435:9
[INFO] [stdout]     |
[INFO] [stdout] 434 | pub struct ReturnStmt {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] 435 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ReturnStmt` 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 `kind` and `typ` are never read
[INFO] [stdout]    --> src/ast.rs:444:9
[INFO] [stdout]     |
[INFO] [stdout] 443 | pub struct Identifier {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 444 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 445 |     pub symbol: String,
[INFO] [stdout] 446 |     pub typ: RefCell<Option<Datatype>>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Identifier` 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 `kind` and `typ` are never read
[INFO] [stdout]    --> src/ast.rs:474:9
[INFO] [stdout]     |
[INFO] [stdout] 473 | pub struct StringLiteral {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] 474 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 475 |     pub value: String,
[INFO] [stdout] 476 |     pub typ: Option<Datatype>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StringLiteral` 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 `kind`, `value`, and `typ` are never read
[INFO] [stdout]    --> src/ast.rs:504:9
[INFO] [stdout]     |
[INFO] [stdout] 503 | pub struct VoidLiteral {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 504 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 505 |     pub value: &'static str,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 506 |     pub typ: Option<Datatype>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VoidLiteral` 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 `kind` and `typ` are never read
[INFO] [stdout]    --> src/ast.rs:514:9
[INFO] [stdout]     |
[INFO] [stdout] 513 | pub struct NumericLiteral {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 514 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 515 |     pub value: String,
[INFO] [stdout] 516 |     pub typ: Option<Datatype>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NumericLiteral` 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 `kind` and `typ` are never read
[INFO] [stdout]    --> src/ast.rs:524:9
[INFO] [stdout]     |
[INFO] [stdout] 523 | pub struct TupleLiteral {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 524 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 525 |     pub value: Vec<Expr>,
[INFO] [stdout] 526 |     pub typ: RefCell<Option<Datatype>>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TupleLiteral` 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 `kind`, `column`, `position`, and `lineno` are never read
[INFO] [stdout]    --> src/ast.rs:534:9
[INFO] [stdout]     |
[INFO] [stdout] 533 | pub struct Property {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] 534 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 537 |     pub column: (usize, usize),
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 538 |     pub position: (usize, usize),
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 539 |     pub lineno: usize,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Property` 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 `kind` is never read
[INFO] [stdout]    --> src/ast.rs:544:9
[INFO] [stdout]     |
[INFO] [stdout] 543 | pub struct ObjectLiteral {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] 544 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ObjectLiteral` 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 `kind` is never read
[INFO] [stdout]    --> src/ast.rs:554:9
[INFO] [stdout]     |
[INFO] [stdout] 553 | pub struct WhileStmt {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 554 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `WhileStmt` 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 `kind` and `constant` are never read
[INFO] [stdout]    --> src/ast.rs:564:9
[INFO] [stdout]     |
[INFO] [stdout] 563 | pub struct VarDeclaration {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 564 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 565 |     pub constant: bool,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VarDeclaration` 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 `kind` is never read
[INFO] [stdout]    --> src/ast.rs:578:9
[INFO] [stdout]     |
[INFO] [stdout] 577 | pub struct FunctionDeclaration {
[INFO] [stdout]     |            ------------------- field in this struct
[INFO] [stdout] 578 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FunctionDeclaration` 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 `kind` is never read
[INFO] [stdout]    --> src/ast.rs:591:9
[INFO] [stdout]     |
[INFO] [stdout] 590 | pub struct AssignmentExpr {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 591 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AssignmentExpr` 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 `kind` is never read
[INFO] [stdout]    --> src/ast.rs:601:9
[INFO] [stdout]     |
[INFO] [stdout] 600 | pub struct BinaryExpr {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] 601 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BinaryExpr` 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 `kind`, `object`, `property`, and `typ` are never read
[INFO] [stdout]    --> src/ast.rs:613:9
[INFO] [stdout]     |
[INFO] [stdout] 612 | pub struct MemberExpr {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 613 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 614 |     pub object: Box<Expr>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 615 |     pub property: Box<Expr>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 616 |     pub typ: RefCell<Option<Datatype>>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MemberExpr` 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 `kind` and `typ` are never read
[INFO] [stdout]    --> src/ast.rs:624:9
[INFO] [stdout]     |
[INFO] [stdout] 623 | pub struct CallExpr {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] 624 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 627 |     pub typ: RefCell<Option<Datatype>>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CallExpr` 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 `kind` and `paths` are never read
[INFO] [stdout]    --> src/ast.rs:635:9
[INFO] [stdout]     |
[INFO] [stdout] 634 | pub struct ImportStmt {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 635 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 636 |     pub paths: HashMap<StringLiteral, Option<Identifier>>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ImportStmt` 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 `kind` and `statement` are never read
[INFO] [stdout]    --> src/ast.rs:644:9
[INFO] [stdout]     |
[INFO] [stdout] 643 | pub struct ExportStmt {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 644 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 645 |     pub statement: Box<Stmt>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ExportStmt` 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 `kind` is never read
[INFO] [stdout]    --> src/ast.rs:653:9
[INFO] [stdout]     |
[INFO] [stdout] 652 | pub struct IfStmt {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] 653 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `IfStmt` 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 `kind`, `condition`, `consequent`, `alternate`, and `typ` are never read
[INFO] [stdout]    --> src/ast.rs:664:9
[INFO] [stdout]     |
[INFO] [stdout] 663 | pub struct TernaryExpr {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 664 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 665 |     pub condition: Box<Expr>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 666 |     pub consequent: Box<Expr>,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 667 |     pub alternate: Box<Expr>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 668 |     pub typ: RefCell<Option<Datatype>>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TernaryExpr` 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 `kind` and `statements` are never read
[INFO] [stdout]    --> src/ast.rs:676:9
[INFO] [stdout]     |
[INFO] [stdout] 675 | pub struct BlockExpr {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 676 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 677 |     pub statements: Vec<Stmt>,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BlockExpr` 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 `kind` is never read
[INFO] [stdout]    --> src/ast.rs:685:9
[INFO] [stdout]     |
[INFO] [stdout] 684 | pub struct AsmStmt {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 685 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AsmStmt` 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 `kind` and `typ` are never read
[INFO] [stdout]    --> src/ast.rs:694:9
[INFO] [stdout]     |
[INFO] [stdout] 693 | pub struct ArrayExpr {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 694 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 695 |     pub elements: Vec<Expr>,
[INFO] [stdout] 696 |     pub typ: RefCell<Option<Datatype>>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ArrayExpr` 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 `kind`, `array`, `index`, and `typ` are never read
[INFO] [stdout]    --> src/ast.rs:704:9
[INFO] [stdout]     |
[INFO] [stdout] 703 | pub struct ArrayAccess {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 704 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 705 |     pub array: Box<Expr>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 706 |     pub index: Box<Expr>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 707 |     pub typ: RefCell<Option<Datatype>>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ArrayAccess` 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 `program` is never read
[INFO] [stdout]   --> src/checker.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct Checker<'a> {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 74 |     pub program: &'a Program,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `current_namespace` and `current_namespace_mut` are never used
[INFO] [stdout]    --> src/checker.rs:584:12
[INFO] [stdout]     |
[INFO] [stdout]  89 | impl<'a> Checker<'a> {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 584 |     pub fn current_namespace(&self) -> &Namespace {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 588 |     pub fn current_namespace_mut(&mut self) -> &mut Namespace {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Compiler` is never constructed
[INFO] [stdout]  --> src/compiler.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Compiler<'a> {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `compile` are never used
[INFO] [stdout]   --> src/compiler.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl<'a> Compiler<'a> {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new(filename: &'a String, output_file: Option<String>) -> Compiler {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn compile(&mut self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `EnumMember` is never constructed
[INFO] [stdout]   --> src/datatype.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Datatype {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 15 |     EnumMember(Box<Datatype>, String),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Datatype` 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: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]  --> src/compiler.rs:9:70
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn new(filename: &'a String, output_file: Option<String>) -> Compiler {
[INFO] [stdout]   |                           -- the lifetime is named here              ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn new(filename: &'a String, output_file: Option<String>) -> Compiler<'a> {
[INFO] [stdout]   |                                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lexer.rs:241:26
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn new(filename: &String) -> Lexer {
[INFO] [stdout]     |                          ^^^^^^^     ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn new(filename: &String) -> Lexer<'_> {
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `column_val` is never read
[INFO] [stdout]    --> src/parser.rs:834:13
[INFO] [stdout]     |
[INFO] [stdout] 834 |             column_val.1 = self.at().column.1 - 1;
[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 `position_val` is never read
[INFO] [stdout]    --> src/parser.rs:835:13
[INFO] [stdout]     |
[INFO] [stdout] 835 |             position_val.1 = self.at().position.1 - 1;
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `for_iterators` is never read
[INFO] [stdout]   --> src/code_generator/x86_64.rs:32:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct X8664Generator<'a> {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub for_iterators: HashMap<String, String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `X8664Generator` has a derived impl for the trait `Clone`, but this is 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: method `generate_bitwisenot_expr` is never used
[INFO] [stdout]    --> src/code_generator/x86_64.rs:838:8
[INFO] [stdout]     |
[INFO] [stdout]  59 | impl<'a> X8664Generator<'a> {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 838 |     fn generate_bitwisenot_expr(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast.rs:101:10
[INFO] [stdout]     |
[INFO] [stdout] 101 |     _EOL(_EOL),
[INFO] [stdout]     |     ---- ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 101 -     _EOL(_EOL),
[INFO] [stdout] 101 +     _EOL(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `kind` is never read
[INFO] [stdout]    --> src/ast.rs:241:9
[INFO] [stdout]     |
[INFO] [stdout] 240 | pub struct Program {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 241 |     pub kind: NodeType,
[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: field `kind` is never read
[INFO] [stdout]    --> src/ast.rs:247:9
[INFO] [stdout]     |
[INFO] [stdout] 246 | pub struct _EOL {
[INFO] [stdout]     |            ---- field in this struct
[INFO] [stdout] 247 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `_EOL` 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 `kind`, `operand`, and `typ` are never read
[INFO] [stdout]    --> src/ast.rs:252:9
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub struct UnaryBitwiseNotExpr {
[INFO] [stdout]     |            ------------------- fields in this struct
[INFO] [stdout] 252 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 253 |     pub operand: Box<Expr>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 254 |     pub typ: Option<Datatype>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UnaryBitwiseNotExpr` 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 `kind` is never read
[INFO] [stdout]    --> src/ast.rs:262:9
[INFO] [stdout]     |
[INFO] [stdout] 261 | pub struct RangeExpr {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 262 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `RangeExpr` 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 `kind`, `name`, `super_class`, and `body` are never read
[INFO] [stdout]    --> src/ast.rs:273:9
[INFO] [stdout]     |
[INFO] [stdout] 272 | pub struct ClassDeclaration {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 273 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 274 |     pub name: String,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 275 |     pub super_class: Option<String>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 276 |     pub body: Vec<Stmt>,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ClassDeclaration` 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 `kind`, `access_modifier`, and `function` are never read
[INFO] [stdout]    --> src/ast.rs:284:9
[INFO] [stdout]     |
[INFO] [stdout] 283 | pub struct ClassFunctionDeclaration {
[INFO] [stdout]     |            ------------------------ fields in this struct
[INFO] [stdout] 284 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 285 |     pub access_modifier: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 286 |     pub function: Expr,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ClassFunctionDeclaration` 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 `kind`, `access_modifier`, and `var` are never read
[INFO] [stdout]    --> src/ast.rs:294:9
[INFO] [stdout]     |
[INFO] [stdout] 293 | pub struct ClassVarDeclaration {
[INFO] [stdout]     |            ------------------- fields in this struct
[INFO] [stdout] 294 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 295 |     pub access_modifier: String,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 296 |     pub var: Stmt,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ClassVarDeclaration` 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 `kind` is never read
[INFO] [stdout]    --> src/ast.rs:304:9
[INFO] [stdout]     |
[INFO] [stdout] 303 | pub struct Enum {
[INFO] [stdout]     |            ---- field in this struct
[INFO] [stdout] 304 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Enum` 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 `kind` and `values` are never read
[INFO] [stdout]    --> src/ast.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout] 313 | pub struct MovStmt {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 314 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 315 |     pub values: Vec<(String, String)>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MovStmt` 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 `kind` and `typ` are never read
[INFO] [stdout]    --> src/ast.rs:323:9
[INFO] [stdout]     |
[INFO] [stdout] 322 | pub struct BooleanLiteral {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 323 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 324 |     pub value: String,
[INFO] [stdout] 325 |     pub typ: Option<Datatype>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BooleanLiteral` 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 `kind` and `operand` are never read
[INFO] [stdout]    --> src/ast.rs:333:9
[INFO] [stdout]     |
[INFO] [stdout] 332 | pub struct PreIncrementExpr {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 333 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 334 |     pub operand: Box<Expr>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PreIncrementExpr` 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 `kind` and `operand` are never read
[INFO] [stdout]    --> src/ast.rs:342:9
[INFO] [stdout]     |
[INFO] [stdout] 341 | pub struct PreDecrementExpr {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 342 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 343 |     pub operand: Box<Expr>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PreDecrementExpr` 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 `kind` and `operand` are never read
[INFO] [stdout]    --> src/ast.rs:351:9
[INFO] [stdout]     |
[INFO] [stdout] 350 | pub struct PostIncrementExpr {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 351 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 352 |     pub operand: Box<Expr>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PostIncrementExpr` 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 `kind` and `operand` are never read
[INFO] [stdout]    --> src/ast.rs:360:9
[INFO] [stdout]     |
[INFO] [stdout] 359 | pub struct PostDecrementExpr {
[INFO] [stdout]     |            ----------------- fields in this struct
[INFO] [stdout] 360 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 361 |     pub operand: Box<Expr>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PostDecrementExpr` 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 `kind` and `typ` are never read
[INFO] [stdout]    --> src/ast.rs:369:9
[INFO] [stdout]     |
[INFO] [stdout] 368 | pub struct UnaryMinusExpr {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 369 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 370 |     pub operand: Box<Expr>,
[INFO] [stdout] 371 |     pub typ: RefCell<Option<Datatype>>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `UnaryMinusExpr` 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 `kind`, `operand`, and `typ` are never read
[INFO] [stdout]    --> src/ast.rs:379:9
[INFO] [stdout]     |
[INFO] [stdout] 378 | pub struct LogicalNotExpr {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 379 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 380 |     pub operand: Box<Expr>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 381 |     pub typ: Option<Datatype>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LogicalNotExpr` 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 `kind` is never read
[INFO] [stdout]    --> src/ast.rs:389:9
[INFO] [stdout]     |
[INFO] [stdout] 388 | pub struct ForStmt {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 389 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ForStmt` 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 `kind` is never read
[INFO] [stdout]    --> src/ast.rs:400:9
[INFO] [stdout]     |
[INFO] [stdout] 399 | pub struct LoopStmt {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 400 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `LoopStmt` 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 `kind` is never read
[INFO] [stdout]    --> src/ast.rs:409:9
[INFO] [stdout]     |
[INFO] [stdout] 408 | pub struct BreakExpr {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 409 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BreakExpr` 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 `kind` is never read
[INFO] [stdout]    --> src/ast.rs:417:9
[INFO] [stdout]     |
[INFO] [stdout] 416 | pub struct ContinueExpr {
[INFO] [stdout]     |            ------------ field in this struct
[INFO] [stdout] 417 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ContinueExpr` 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 `kind`, `column`, `position`, and `lineno` are never read
[INFO] [stdout]    --> src/ast.rs:425:9
[INFO] [stdout]     |
[INFO] [stdout] 424 | pub struct Stmt {
[INFO] [stdout]     |            ---- fields in this struct
[INFO] [stdout] 425 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 428 |     pub column: (usize, usize),
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 429 |     pub position: (usize, usize),
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 430 |     pub lineno: usize,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Stmt` 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 `kind` is never read
[INFO] [stdout]    --> src/ast.rs:435:9
[INFO] [stdout]     |
[INFO] [stdout] 434 | pub struct ReturnStmt {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] 435 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ReturnStmt` 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 `kind` and `typ` are never read
[INFO] [stdout]    --> src/ast.rs:444:9
[INFO] [stdout]     |
[INFO] [stdout] 443 | pub struct Identifier {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 444 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 445 |     pub symbol: String,
[INFO] [stdout] 446 |     pub typ: RefCell<Option<Datatype>>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Identifier` 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 `kind` and `typ` are never read
[INFO] [stdout]    --> src/ast.rs:474:9
[INFO] [stdout]     |
[INFO] [stdout] 473 | pub struct StringLiteral {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] 474 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 475 |     pub value: String,
[INFO] [stdout] 476 |     pub typ: Option<Datatype>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StringLiteral` 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 `kind`, `value`, and `typ` are never read
[INFO] [stdout]    --> src/ast.rs:504:9
[INFO] [stdout]     |
[INFO] [stdout] 503 | pub struct VoidLiteral {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 504 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 505 |     pub value: &'static str,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 506 |     pub typ: Option<Datatype>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VoidLiteral` 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 `kind` and `typ` are never read
[INFO] [stdout]    --> src/ast.rs:514:9
[INFO] [stdout]     |
[INFO] [stdout] 513 | pub struct NumericLiteral {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 514 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 515 |     pub value: String,
[INFO] [stdout] 516 |     pub typ: Option<Datatype>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `NumericLiteral` 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 `kind` and `typ` are never read
[INFO] [stdout]    --> src/ast.rs:524:9
[INFO] [stdout]     |
[INFO] [stdout] 523 | pub struct TupleLiteral {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 524 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 525 |     pub value: Vec<Expr>,
[INFO] [stdout] 526 |     pub typ: RefCell<Option<Datatype>>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TupleLiteral` 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 `kind`, `column`, `position`, and `lineno` are never read
[INFO] [stdout]    --> src/ast.rs:534:9
[INFO] [stdout]     |
[INFO] [stdout] 533 | pub struct Property {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] 534 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 537 |     pub column: (usize, usize),
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 538 |     pub position: (usize, usize),
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 539 |     pub lineno: usize,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Property` 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 `kind` is never read
[INFO] [stdout]    --> src/ast.rs:544:9
[INFO] [stdout]     |
[INFO] [stdout] 543 | pub struct ObjectLiteral {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] 544 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ObjectLiteral` 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 `kind` is never read
[INFO] [stdout]    --> src/ast.rs:554:9
[INFO] [stdout]     |
[INFO] [stdout] 553 | pub struct WhileStmt {
[INFO] [stdout]     |            --------- field in this struct
[INFO] [stdout] 554 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `WhileStmt` 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 `kind` and `constant` are never read
[INFO] [stdout]    --> src/ast.rs:564:9
[INFO] [stdout]     |
[INFO] [stdout] 563 | pub struct VarDeclaration {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 564 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 565 |     pub constant: bool,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VarDeclaration` 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 `kind` is never read
[INFO] [stdout]    --> src/ast.rs:578:9
[INFO] [stdout]     |
[INFO] [stdout] 577 | pub struct FunctionDeclaration {
[INFO] [stdout]     |            ------------------- field in this struct
[INFO] [stdout] 578 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FunctionDeclaration` 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 `kind` is never read
[INFO] [stdout]    --> src/ast.rs:591:9
[INFO] [stdout]     |
[INFO] [stdout] 590 | pub struct AssignmentExpr {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 591 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AssignmentExpr` 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 `kind` is never read
[INFO] [stdout]    --> src/ast.rs:601:9
[INFO] [stdout]     |
[INFO] [stdout] 600 | pub struct BinaryExpr {
[INFO] [stdout]     |            ---------- field in this struct
[INFO] [stdout] 601 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BinaryExpr` 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 `kind`, `object`, `property`, and `typ` are never read
[INFO] [stdout]    --> src/ast.rs:613:9
[INFO] [stdout]     |
[INFO] [stdout] 612 | pub struct MemberExpr {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 613 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 614 |     pub object: Box<Expr>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 615 |     pub property: Box<Expr>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 616 |     pub typ: RefCell<Option<Datatype>>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MemberExpr` 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 `kind` and `typ` are never read
[INFO] [stdout]    --> src/ast.rs:624:9
[INFO] [stdout]     |
[INFO] [stdout] 623 | pub struct CallExpr {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] 624 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 627 |     pub typ: RefCell<Option<Datatype>>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `CallExpr` 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 `kind` and `paths` are never read
[INFO] [stdout]    --> src/ast.rs:635:9
[INFO] [stdout]     |
[INFO] [stdout] 634 | pub struct ImportStmt {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 635 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 636 |     pub paths: HashMap<StringLiteral, Option<Identifier>>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ImportStmt` 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 `kind` and `statement` are never read
[INFO] [stdout]    --> src/ast.rs:644:9
[INFO] [stdout]     |
[INFO] [stdout] 643 | pub struct ExportStmt {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 644 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 645 |     pub statement: Box<Stmt>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ExportStmt` 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 `kind` is never read
[INFO] [stdout]    --> src/ast.rs:653:9
[INFO] [stdout]     |
[INFO] [stdout] 652 | pub struct IfStmt {
[INFO] [stdout]     |            ------ field in this struct
[INFO] [stdout] 653 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `IfStmt` 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 `kind`, `condition`, `consequent`, `alternate`, and `typ` are never read
[INFO] [stdout]    --> src/ast.rs:664:9
[INFO] [stdout]     |
[INFO] [stdout] 663 | pub struct TernaryExpr {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 664 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 665 |     pub condition: Box<Expr>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 666 |     pub consequent: Box<Expr>,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 667 |     pub alternate: Box<Expr>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 668 |     pub typ: RefCell<Option<Datatype>>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TernaryExpr` 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 `kind` and `statements` are never read
[INFO] [stdout]    --> src/ast.rs:676:9
[INFO] [stdout]     |
[INFO] [stdout] 675 | pub struct BlockExpr {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 676 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 677 |     pub statements: Vec<Stmt>,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BlockExpr` 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 `kind` is never read
[INFO] [stdout]    --> src/ast.rs:685:9
[INFO] [stdout]     |
[INFO] [stdout] 684 | pub struct AsmStmt {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] 685 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AsmStmt` 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 `kind` and `typ` are never read
[INFO] [stdout]    --> src/ast.rs:694:9
[INFO] [stdout]     |
[INFO] [stdout] 693 | pub struct ArrayExpr {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 694 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 695 |     pub elements: Vec<Expr>,
[INFO] [stdout] 696 |     pub typ: RefCell<Option<Datatype>>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ArrayExpr` 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 `kind`, `array`, `index`, and `typ` are never read
[INFO] [stdout]    --> src/ast.rs:704:9
[INFO] [stdout]     |
[INFO] [stdout] 703 | pub struct ArrayAccess {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 704 |     pub kind: NodeType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 705 |     pub array: Box<Expr>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 706 |     pub index: Box<Expr>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 707 |     pub typ: RefCell<Option<Datatype>>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ArrayAccess` 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 `program` is never read
[INFO] [stdout]   --> src/checker.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct Checker<'a> {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 74 |     pub program: &'a Program,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `current_namespace` and `current_namespace_mut` are never used
[INFO] [stdout]    --> src/checker.rs:584:12
[INFO] [stdout]     |
[INFO] [stdout]  89 | impl<'a> Checker<'a> {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 584 |     pub fn current_namespace(&self) -> &Namespace {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 588 |     pub fn current_namespace_mut(&mut self) -> &mut Namespace {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Compiler` is never constructed
[INFO] [stdout]  --> src/compiler.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Compiler<'a> {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `compile` are never used
[INFO] [stdout]   --> src/compiler.rs:9:12
[INFO] [stdout]    |
[INFO] [stdout]  8 | impl<'a> Compiler<'a> {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout]  9 |     pub fn new(filename: &'a String, output_file: Option<String>) -> Compiler {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn compile(&mut self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `EnumMember` is never constructed
[INFO] [stdout]   --> src/datatype.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout]  4 | pub enum Datatype {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 15 |     EnumMember(Box<Datatype>, String),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Datatype` 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: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]  --> src/compiler.rs:9:70
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn new(filename: &'a String, output_file: Option<String>) -> Compiler {
[INFO] [stdout]   |                           -- the lifetime is named here              ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]   = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn new(filename: &'a String, output_file: Option<String>) -> Compiler<'a> {
[INFO] [stdout]   |                                                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/lexer.rs:241:26
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn new(filename: &String) -> Lexer {
[INFO] [stdout]     |                          ^^^^^^^     ^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 241 |     pub fn new(filename: &String) -> Lexer<'_> {
[INFO] [stdout]     |                                           ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.51s
[INFO] running `Command { std: "docker" "inspect" "0bdcb8f10aadef2c16f0fd0e8a573645acf4c691812d722b76250717c8b28748", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0bdcb8f10aadef2c16f0fd0e8a573645acf4c691812d722b76250717c8b28748", kill_on_drop: false }`
[INFO] [stdout] 0bdcb8f10aadef2c16f0fd0e8a573645acf4c691812d722b76250717c8b28748
