[INFO] cloning repository https://github.com/felicityin/mit-6035-compiler-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/felicityin/mit-6035-compiler-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffelicityin%2Fmit-6035-compiler-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffelicityin%2Fmit-6035-compiler-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 716375c9c4eabcede408e79d52352a7cbd24c00b
[INFO] checking felicityin/mit-6035-compiler-rs against master#642c19bfc3a5c1de985bf5d0cc8207ac9d22708a for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffelicityin%2Fmit-6035-compiler-rs" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/felicityin/mit-6035-compiler-rs
[INFO] finished tweaking git repo https://github.com/felicityin/mit-6035-compiler-rs
[INFO] tweaked toml for git repo https://github.com/felicityin/mit-6035-compiler-rs written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/felicityin/mit-6035-compiler-rs on toolchain 642c19bfc3a5c1de985bf5d0cc8207ac9d22708a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/felicityin/mit-6035-compiler-rs 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" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] cb908ba62cb49771e681b316314710360c4e8fdab8443f0b5e1740de9d372478
[INFO] running `Command { std: "docker" "start" "-a" "cb908ba62cb49771e681b316314710360c4e8fdab8443f0b5e1740de9d372478", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cb908ba62cb49771e681b316314710360c4e8fdab8443f0b5e1740de9d372478", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cb908ba62cb49771e681b316314710360c4e8fdab8443f0b5e1740de9d372478", kill_on_drop: false }`
[INFO] [stdout] cb908ba62cb49771e681b316314710360c4e8fdab8443f0b5e1740de9d372478
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+642c19bfc3a5c1de985bf5d0cc8207ac9d22708a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 07636a31e5e25052236878eb0acc3eb4974854b84488235a06c950732d24fa2f
[INFO] running `Command { std: "docker" "start" "-a" "07636a31e5e25052236878eb0acc3eb4974854b84488235a06c950732d24fa2f", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.135
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling smallvec v1.10.0
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling bit-vec v0.6.3
[INFO] [stderr]    Compiling lock_api v0.4.9
[INFO] [stderr]    Compiling parking_lot_core v0.9.4
[INFO] [stderr]    Compiling phf_shared v0.10.0
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.4
[INFO] [stderr]    Compiling either v1.8.0
[INFO] [stderr]    Compiling unicode-xid v0.2.4
[INFO] [stderr]    Compiling aho-corasick v0.7.19
[INFO] [stderr]    Compiling ena v0.14.0
[INFO] [stderr]    Compiling petgraph v0.6.2
[INFO] [stderr]    Compiling diff v0.1.13
[INFO] [stderr]    Compiling pico-args v0.4.2
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling bit-set v0.5.3
[INFO] [stderr]     Checking regex v1.6.0
[INFO] [stderr]    Compiling dirs-sys-next v0.1.2
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling dirs-next v2.0.0
[INFO] [stderr]    Compiling parking_lot v0.12.1
[INFO] [stderr]     Checking lalrpop-util v0.19.8
[INFO] [stderr]    Compiling term v0.7.0
[INFO] [stderr]    Compiling string_cache v0.8.4
[INFO] [stderr]    Compiling ascii-canvas v3.0.0
[INFO] [stderr]    Compiling lalrpop v0.19.8
[INFO] [stderr]    Compiling decafc v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: field `root` is never read
[INFO] [stdout]  --> src/semantic_analyzer/ir.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct IRRoot {
[INFO] [stdout]   |            ------ field in this struct
[INFO] [stdout] 7 |     pub root: ProgramDecl,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `IRRoot` has a derived impl for the trait `Debug`, 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: fields `import_decls`, `field_decls`, and `method_decls` are never read
[INFO] [stdout]   --> src/semantic_analyzer/ir.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ProgramDecl {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 12 |     pub import_decls: Vec<VarDecl>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub field_decls: Vec<VarDecl>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 14 |     pub method_decls: Vec<MethodDecl>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ProgramDecl` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `block` is never read
[INFO] [stdout]   --> src/semantic_analyzer/ir.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct MethodDecl0 {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub block: Option<Block>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MethodDecl0` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `field_decls` and `statements` are never read
[INFO] [stdout]   --> src/semantic_analyzer/ir.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct Block {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 77 |     pub field_decls: Vec<VarDecl>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 78 |     pub statements: Vec<Statement>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Block` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantic_analyzer/ir.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 |     Assign(Assign),
[INFO] [stdout]    |     ------ ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement0` has a derived impl for the trait `Debug`, but this is 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] 85 -     Assign(Assign),
[INFO] [stdout] 85 +     Assign(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantic_analyzer/ir.rs:86:16
[INFO] [stdout]    |
[INFO] [stdout] 86 |     MethodCall(MethodCall),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement0` has a derived impl for the trait `Debug`, but this is 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] 86 -     MethodCall(MethodCall),
[INFO] [stdout] 86 +     MethodCall(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantic_analyzer/ir.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 |     IfElse(IfElse),
[INFO] [stdout]    |     ------ ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement0` has a derived impl for the trait `Debug`, but this is 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] 87 -     IfElse(IfElse),
[INFO] [stdout] 87 +     IfElse(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantic_analyzer/ir.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |     For(For),
[INFO] [stdout]    |     --- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement0` has a derived impl for the trait `Debug`, but this is 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] 88 -     For(For),
[INFO] [stdout] 88 +     For(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantic_analyzer/ir.rs:89:11
[INFO] [stdout]    |
[INFO] [stdout] 89 |     While(While),
[INFO] [stdout]    |     ----- ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement0` has a derived impl for the trait `Debug`, but this is 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] 89 -     While(While),
[INFO] [stdout] 89 +     While(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantic_analyzer/ir.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 |     Return(Return),
[INFO] [stdout]    |     ------ ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement0` has a derived impl for the trait `Debug`, but this is 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] 90 -     Return(Return),
[INFO] [stdout] 90 +     Return(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantic_analyzer/ir.rs:91:11
[INFO] [stdout]    |
[INFO] [stdout] 91 |     Break(Break),
[INFO] [stdout]    |     ----- ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement0` has a derived impl for the trait `Debug`, but this is 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] 91 -     Break(Break),
[INFO] [stdout] 91 +     Break(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantic_analyzer/ir.rs:92:14
[INFO] [stdout]    |
[INFO] [stdout] 92 |     Continue(Continue),
[INFO] [stdout]    |     -------- ^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement0` has a derived impl for the trait `Debug`, but this is 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] 92 -     Continue(Continue),
[INFO] [stdout] 92 +     Continue(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `dst` and `assign_expr` are never read
[INFO] [stdout]   --> src/semantic_analyzer/ir.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub struct Assign {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 97 |     pub dst: Location,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 98 |     pub assign_expr: AssignExpr,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Assign` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `array_len` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct Location {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 103 |     pub id: VarDecl,
[INFO] [stdout] 104 |     pub array_len: Option<Expr>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Location` 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 `0` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:110:15
[INFO] [stdout]     |
[INFO] [stdout] 110 |     Increment(Increment),
[INFO] [stdout]     |     --------- ^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AssignExpr` 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] 110 -     Increment(Increment),
[INFO] [stdout] 110 +     Increment(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:122:22
[INFO] [stdout]     |
[INFO] [stdout] 122 |     CompoundAssignOp(CompoundAssignOp),
[INFO] [stdout]     |     ---------------- ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AssignOp` 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] 122 -     CompoundAssignOp(CompoundAssignOp),
[INFO] [stdout] 122 +     CompoundAssignOp(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |     Callout(MethodCall1),
[INFO] [stdout]     |     ------- ^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MethodCall` has a derived impl for the trait `Debug`, but this is 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] 167 -     Callout(MethodCall1),
[INFO] [stdout] 167 +     Callout(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `args` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:173:9
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct MethodCall0 {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 172 |     pub decl: MethodDecl,
[INFO] [stdout] 173 |     pub args: Vec<Expr>,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MethodCall0` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `args` are never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:178:9
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub struct MethodCall1 {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 178 |     pub name: String,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 179 |     pub args: Vec<ImportArg>,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MethodCall1` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:184:10
[INFO] [stdout]     |
[INFO] [stdout] 184 |     Expr(Expr),
[INFO] [stdout]     |     ---- ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ImportArg` has a derived impl for the trait `Debug`, but this is 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] 184 -     Expr(Expr),
[INFO] [stdout] 184 +     Expr(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:185:19
[INFO] [stdout]     |
[INFO] [stdout] 185 |     StringLiteral(String),
[INFO] [stdout]     |     ------------- ^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ImportArg` has a derived impl for the trait `Debug`, but this is 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] 185 -     StringLiteral(String),
[INFO] [stdout] 185 +     StringLiteral(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cond`, `if_block`, and `else_block` are never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 191 | pub struct IfElse0 {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 192 |     pub cond: Expr,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 193 |     pub if_block: Option<Block>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 194 |     pub else_block: Option<Block>,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `IfElse0` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `init_expr`, `incre_expr`, `update`, and `block` are never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 200 | pub struct For0 {
[INFO] [stdout]     |            ---- fields in this struct
[INFO] [stdout] 201 |     pub id: VarDecl,
[INFO] [stdout]     |         ^^
[INFO] [stdout] 202 |     pub init_expr: Expr,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 203 |     pub incre_expr: Expr,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 204 |     pub update: ForUpdate,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 205 |     pub block: Option<Block>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `For0` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `update_expr` are never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:210:9
[INFO] [stdout]     |
[INFO] [stdout] 209 | pub struct ForUpdate {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 210 |     pub id: Location,
[INFO] [stdout]     |         ^^
[INFO] [stdout] 211 |     pub update_expr: ForUpdateExpr,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ForUpdate` 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 `0` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:216:16
[INFO] [stdout]     |
[INFO] [stdout] 216 |     AssignExpr(ForUpdateAssignExpr),
[INFO] [stdout]     |     ---------- ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ForUpdateExpr` 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] 216 -     AssignExpr(ForUpdateAssignExpr),
[INFO] [stdout] 216 +     AssignExpr(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:217:15
[INFO] [stdout]     |
[INFO] [stdout] 217 |     Increment(Increment),
[INFO] [stdout]     |     --------- ^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ForUpdateExpr` 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] 217 -     Increment(Increment),
[INFO] [stdout] 217 +     Increment(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `compound_assign_op` and `expr` are never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:222:9
[INFO] [stdout]     |
[INFO] [stdout] 221 | pub struct ForUpdateAssignExpr {
[INFO] [stdout]     |            ------------------- fields in this struct
[INFO] [stdout] 222 |     pub compound_assign_op: CompoundAssignOp,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 223 |     pub expr: Expr,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ForUpdateAssignExpr` 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 `cond` and `block` are never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 229 | pub struct While0 {
[INFO] [stdout]     |            ------ fields in this struct
[INFO] [stdout] 230 |     pub cond: Expr,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 231 |     pub block: Option<Block>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `While0` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `func` and `val` are never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 235 | pub struct Return {
[INFO] [stdout]     |            ------ fields in this struct
[INFO] [stdout] 236 |     pub func: MethodDecl,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 237 |     pub val: Option<Expr>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Return` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |     For(For),
[INFO] [stdout]     |     --- ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Break` has a derived impl for the trait `Debug`, but this is 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] 242 -     For(For),
[INFO] [stdout] 242 +     For(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:243:11
[INFO] [stdout]     |
[INFO] [stdout] 243 |     While(While),
[INFO] [stdout]     |     ----- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Break` has a derived impl for the trait `Debug`, but this is 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] 243 -     While(While),
[INFO] [stdout] 243 +     While(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:248:9
[INFO] [stdout]     |
[INFO] [stdout] 248 |     For(For),
[INFO] [stdout]     |     --- ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Continue` has a derived impl for the trait `Debug`, but this is 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] 248 -     For(For),
[INFO] [stdout] 248 +     For(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:249:11
[INFO] [stdout]     |
[INFO] [stdout] 249 |     While(While),
[INFO] [stdout]     |     ----- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Continue` has a derived impl for the trait `Debug`, but this is 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] 249 -     While(While),
[INFO] [stdout] 249 +     While(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expr` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:257:9
[INFO] [stdout]     |
[INFO] [stdout] 255 | pub struct Expr0 {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] 256 |     pub type_: Type,
[INFO] [stdout] 257 |     pub expr: ExprType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expr0` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:265:11
[INFO] [stdout]     |
[INFO] [stdout] 265 |     LenId(Id),
[INFO] [stdout]     |     ----- ^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ExprType` has a derived impl for the trait `Debug`, but this is 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] 265 -     LenId(Id),
[INFO] [stdout] 265 +     LenId(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `op` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:273:9
[INFO] [stdout]     |
[INFO] [stdout] 271 | pub struct Unary {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] 272 |     pub expr: Expr,
[INFO] [stdout] 273 |     pub op: UnaryOp,
[INFO] [stdout]     |         ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Unary` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lhs` and `rhs` are never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:284:9
[INFO] [stdout]     |
[INFO] [stdout] 283 | pub struct Binary {
[INFO] [stdout]     |            ------ fields in this struct
[INFO] [stdout] 284 |     pub lhs: Expr,
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 285 |     pub rhs: Expr,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Binary` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:358:16
[INFO] [stdout]     |
[INFO] [stdout] 358 |     IntLiteral(i32),
[INFO] [stdout]     |     ---------- ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Literal` 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] 358 -     IntLiteral(i32),
[INFO] [stdout] 358 +     IntLiteral(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:359:17
[INFO] [stdout]     |
[INFO] [stdout] 359 |     CharLiteral(char),
[INFO] [stdout]     |     ----------- ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Literal` 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] 359 -     CharLiteral(char),
[INFO] [stdout] 359 +     CharLiteral(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:360:17
[INFO] [stdout]     |
[INFO] [stdout] 360 |     BoolLiteral(bool),
[INFO] [stdout]     |     ----------- ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Literal` 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] 360 -     BoolLiteral(bool),
[INFO] [stdout] 360 +     BoolLiteral(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantic_analyzer/env.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 |     If(IfElse),
[INFO] [stdout]    |     -- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EnvType` 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] 22 -     If(IfElse),
[INFO] [stdout] 22 +     If(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantic_analyzer/env.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 |     Else(IfElse),
[INFO] [stdout]    |     ---- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EnvType` 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] 23 -     Else(IfElse),
[INFO] [stdout] 23 +     Else(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/semantic_analyzer/errors.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 |     DuplicatedVar(VarDecl), // rule 1.1
[INFO] [stdout]   |     ------------- ^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `SemanticCheckError` has a derived impl for the trait `Debug`, but this is 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] 5 -     DuplicatedVar(VarDecl), // rule 1.1
[INFO] [stdout] 5 +     DuplicatedVar(()), // rule 1.1
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/semantic_analyzer/errors.rs:6:22
[INFO] [stdout]   |
[INFO] [stdout] 6 |     DuplicatedMethod(MethodDecl), // rule 1.1
[INFO] [stdout]   |     ---------------- ^^^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `SemanticCheckError` has a derived impl for the trait `Debug`, but this is 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] 6 -     DuplicatedMethod(MethodDecl), // rule 1.1
[INFO] [stdout] 6 +     DuplicatedMethod(()), // rule 1.1
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/semantic_analyzer/errors.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 |     UsedBeforeDeclared(String), // rule 2, 10, 11
[INFO] [stdout]   |     ------------------ ^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `SemanticCheckError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 7 -     UsedBeforeDeclared(String), // rule 2, 10, 11
[INFO] [stdout] 7 +     UsedBeforeDeclared(()), // rule 2, 10, 11
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantic_analyzer/errors.rs:11:28
[INFO] [stdout]    |
[INFO] [stdout] 11 |     ArrayLenShouldPositive(String), // rule 4, 13
[INFO] [stdout]    |     ---------------------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SemanticCheckError` has a derived impl for the trait `Debug`, but this is 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] 11 -     ArrayLenShouldPositive(String), // rule 4, 13
[INFO] [stdout] 11 +     ArrayLenShouldPositive(()), // rule 4, 13
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantic_analyzer/errors.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 |     IdMustArray(String), // rule 12.1
[INFO] [stdout]    |     ----------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SemanticCheckError` has a derived impl for the trait `Debug`, but this is 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] 12 -     IdMustArray(String), // rule 12.1
[INFO] [stdout] 12 +     IdMustArray(()), // rule 12.1
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantic_analyzer/errors.rs:13:23
[INFO] [stdout]    |
[INFO] [stdout] 13 |     TypeOfExprMustInt(String), // rule 12.2
[INFO] [stdout]    |     ----------------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SemanticCheckError` has a derived impl for the trait `Debug`, but this is 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] 13 -     TypeOfExprMustInt(String), // rule 12.2
[INFO] [stdout] 13 +     TypeOfExprMustInt(()), // rule 12.2
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `root` is never read
[INFO] [stdout]  --> src/semantic_analyzer/ir.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct IRRoot {
[INFO] [stdout]   |            ------ field in this struct
[INFO] [stdout] 7 |     pub root: ProgramDecl,
[INFO] [stdout]   |         ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `IRRoot` has a derived impl for the trait `Debug`, 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: fields `import_decls`, `field_decls`, and `method_decls` are never read
[INFO] [stdout]   --> src/semantic_analyzer/ir.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ProgramDecl {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 12 |     pub import_decls: Vec<VarDecl>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 13 |     pub field_decls: Vec<VarDecl>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 14 |     pub method_decls: Vec<MethodDecl>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ProgramDecl` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `block` is never read
[INFO] [stdout]   --> src/semantic_analyzer/ir.rs:33:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct MethodDecl0 {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 33 |     pub block: Option<Block>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MethodDecl0` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `field_decls` and `statements` are never read
[INFO] [stdout]   --> src/semantic_analyzer/ir.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct Block {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 77 |     pub field_decls: Vec<VarDecl>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 78 |     pub statements: Vec<Statement>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Block` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantic_analyzer/ir.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 |     Assign(Assign),
[INFO] [stdout]    |     ------ ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement0` has a derived impl for the trait `Debug`, but this is 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] 85 -     Assign(Assign),
[INFO] [stdout] 85 +     Assign(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantic_analyzer/ir.rs:86:16
[INFO] [stdout]    |
[INFO] [stdout] 86 |     MethodCall(MethodCall),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement0` has a derived impl for the trait `Debug`, but this is 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] 86 -     MethodCall(MethodCall),
[INFO] [stdout] 86 +     MethodCall(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantic_analyzer/ir.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 |     IfElse(IfElse),
[INFO] [stdout]    |     ------ ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement0` has a derived impl for the trait `Debug`, but this is 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] 87 -     IfElse(IfElse),
[INFO] [stdout] 87 +     IfElse(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantic_analyzer/ir.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |     For(For),
[INFO] [stdout]    |     --- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement0` has a derived impl for the trait `Debug`, but this is 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] 88 -     For(For),
[INFO] [stdout] 88 +     For(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantic_analyzer/ir.rs:89:11
[INFO] [stdout]    |
[INFO] [stdout] 89 |     While(While),
[INFO] [stdout]    |     ----- ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement0` has a derived impl for the trait `Debug`, but this is 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] 89 -     While(While),
[INFO] [stdout] 89 +     While(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantic_analyzer/ir.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 |     Return(Return),
[INFO] [stdout]    |     ------ ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement0` has a derived impl for the trait `Debug`, but this is 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] 90 -     Return(Return),
[INFO] [stdout] 90 +     Return(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantic_analyzer/ir.rs:91:11
[INFO] [stdout]    |
[INFO] [stdout] 91 |     Break(Break),
[INFO] [stdout]    |     ----- ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement0` has a derived impl for the trait `Debug`, but this is 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] 91 -     Break(Break),
[INFO] [stdout] 91 +     Break(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantic_analyzer/ir.rs:92:14
[INFO] [stdout]    |
[INFO] [stdout] 92 |     Continue(Continue),
[INFO] [stdout]    |     -------- ^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement0` has a derived impl for the trait `Debug`, but this is 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] 92 -     Continue(Continue),
[INFO] [stdout] 92 +     Continue(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `dst` and `assign_expr` are never read
[INFO] [stdout]   --> src/semantic_analyzer/ir.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub struct Assign {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 97 |     pub dst: Location,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 98 |     pub assign_expr: AssignExpr,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Assign` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `array_len` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:104:9
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct Location {
[INFO] [stdout]     |            -------- field in this struct
[INFO] [stdout] 103 |     pub id: VarDecl,
[INFO] [stdout] 104 |     pub array_len: Option<Expr>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Location` 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 `0` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:110:15
[INFO] [stdout]     |
[INFO] [stdout] 110 |     Increment(Increment),
[INFO] [stdout]     |     --------- ^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AssignExpr` 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] 110 -     Increment(Increment),
[INFO] [stdout] 110 +     Increment(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:122:22
[INFO] [stdout]     |
[INFO] [stdout] 122 |     CompoundAssignOp(CompoundAssignOp),
[INFO] [stdout]     |     ---------------- ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AssignOp` 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] 122 -     CompoundAssignOp(CompoundAssignOp),
[INFO] [stdout] 122 +     CompoundAssignOp(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:167:13
[INFO] [stdout]     |
[INFO] [stdout] 167 |     Callout(MethodCall1),
[INFO] [stdout]     |     ------- ^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MethodCall` has a derived impl for the trait `Debug`, but this is 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] 167 -     Callout(MethodCall1),
[INFO] [stdout] 167 +     Callout(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `args` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:173:9
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct MethodCall0 {
[INFO] [stdout]     |            ----------- field in this struct
[INFO] [stdout] 172 |     pub decl: MethodDecl,
[INFO] [stdout] 173 |     pub args: Vec<Expr>,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MethodCall0` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `args` are never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:178:9
[INFO] [stdout]     |
[INFO] [stdout] 177 | pub struct MethodCall1 {
[INFO] [stdout]     |            ----------- fields in this struct
[INFO] [stdout] 178 |     pub name: String,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 179 |     pub args: Vec<ImportArg>,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MethodCall1` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:184:10
[INFO] [stdout]     |
[INFO] [stdout] 184 |     Expr(Expr),
[INFO] [stdout]     |     ---- ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ImportArg` has a derived impl for the trait `Debug`, but this is 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] 184 -     Expr(Expr),
[INFO] [stdout] 184 +     Expr(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:185:19
[INFO] [stdout]     |
[INFO] [stdout] 185 |     StringLiteral(String),
[INFO] [stdout]     |     ------------- ^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ImportArg` has a derived impl for the trait `Debug`, but this is 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] 185 -     StringLiteral(String),
[INFO] [stdout] 185 +     StringLiteral(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cond`, `if_block`, and `else_block` are never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:192:9
[INFO] [stdout]     |
[INFO] [stdout] 191 | pub struct IfElse0 {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 192 |     pub cond: Expr,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 193 |     pub if_block: Option<Block>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 194 |     pub else_block: Option<Block>,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `IfElse0` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `init_expr`, `incre_expr`, `update`, and `block` are never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:201:9
[INFO] [stdout]     |
[INFO] [stdout] 200 | pub struct For0 {
[INFO] [stdout]     |            ---- fields in this struct
[INFO] [stdout] 201 |     pub id: VarDecl,
[INFO] [stdout]     |         ^^
[INFO] [stdout] 202 |     pub init_expr: Expr,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 203 |     pub incre_expr: Expr,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 204 |     pub update: ForUpdate,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 205 |     pub block: Option<Block>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `For0` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id` and `update_expr` are never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:210:9
[INFO] [stdout]     |
[INFO] [stdout] 209 | pub struct ForUpdate {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 210 |     pub id: Location,
[INFO] [stdout]     |         ^^
[INFO] [stdout] 211 |     pub update_expr: ForUpdateExpr,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ForUpdate` 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 `0` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:216:16
[INFO] [stdout]     |
[INFO] [stdout] 216 |     AssignExpr(ForUpdateAssignExpr),
[INFO] [stdout]     |     ---------- ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ForUpdateExpr` 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] 216 -     AssignExpr(ForUpdateAssignExpr),
[INFO] [stdout] 216 +     AssignExpr(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:217:15
[INFO] [stdout]     |
[INFO] [stdout] 217 |     Increment(Increment),
[INFO] [stdout]     |     --------- ^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ForUpdateExpr` 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] 217 -     Increment(Increment),
[INFO] [stdout] 217 +     Increment(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `compound_assign_op` and `expr` are never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:222:9
[INFO] [stdout]     |
[INFO] [stdout] 221 | pub struct ForUpdateAssignExpr {
[INFO] [stdout]     |            ------------------- fields in this struct
[INFO] [stdout] 222 |     pub compound_assign_op: CompoundAssignOp,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 223 |     pub expr: Expr,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ForUpdateAssignExpr` 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 `cond` and `block` are never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 229 | pub struct While0 {
[INFO] [stdout]     |            ------ fields in this struct
[INFO] [stdout] 230 |     pub cond: Expr,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 231 |     pub block: Option<Block>,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `While0` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `func` and `val` are never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:236:9
[INFO] [stdout]     |
[INFO] [stdout] 235 | pub struct Return {
[INFO] [stdout]     |            ------ fields in this struct
[INFO] [stdout] 236 |     pub func: MethodDecl,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 237 |     pub val: Option<Expr>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Return` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:242:9
[INFO] [stdout]     |
[INFO] [stdout] 242 |     For(For),
[INFO] [stdout]     |     --- ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Break` has a derived impl for the trait `Debug`, but this is 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] 242 -     For(For),
[INFO] [stdout] 242 +     For(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:243:11
[INFO] [stdout]     |
[INFO] [stdout] 243 |     While(While),
[INFO] [stdout]     |     ----- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Break` has a derived impl for the trait `Debug`, but this is 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] 243 -     While(While),
[INFO] [stdout] 243 +     While(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:248:9
[INFO] [stdout]     |
[INFO] [stdout] 248 |     For(For),
[INFO] [stdout]     |     --- ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Continue` has a derived impl for the trait `Debug`, but this is 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] 248 -     For(For),
[INFO] [stdout] 248 +     For(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:249:11
[INFO] [stdout]     |
[INFO] [stdout] 249 |     While(While),
[INFO] [stdout]     |     ----- ^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Continue` has a derived impl for the trait `Debug`, but this is 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] 249 -     While(While),
[INFO] [stdout] 249 +     While(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expr` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:257:9
[INFO] [stdout]     |
[INFO] [stdout] 255 | pub struct Expr0 {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] 256 |     pub type_: Type,
[INFO] [stdout] 257 |     pub expr: ExprType,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expr0` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:265:11
[INFO] [stdout]     |
[INFO] [stdout] 265 |     LenId(Id),
[INFO] [stdout]     |     ----- ^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ExprType` has a derived impl for the trait `Debug`, but this is 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] 265 -     LenId(Id),
[INFO] [stdout] 265 +     LenId(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `op` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:273:9
[INFO] [stdout]     |
[INFO] [stdout] 271 | pub struct Unary {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] 272 |     pub expr: Expr,
[INFO] [stdout] 273 |     pub op: UnaryOp,
[INFO] [stdout]     |         ^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Unary` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `lhs` and `rhs` are never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:284:9
[INFO] [stdout]     |
[INFO] [stdout] 283 | pub struct Binary {
[INFO] [stdout]     |            ------ fields in this struct
[INFO] [stdout] 284 |     pub lhs: Expr,
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 285 |     pub rhs: Expr,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Binary` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:358:16
[INFO] [stdout]     |
[INFO] [stdout] 358 |     IntLiteral(i32),
[INFO] [stdout]     |     ---------- ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Literal` 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] 358 -     IntLiteral(i32),
[INFO] [stdout] 358 +     IntLiteral(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:359:17
[INFO] [stdout]     |
[INFO] [stdout] 359 |     CharLiteral(char),
[INFO] [stdout]     |     ----------- ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Literal` 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] 359 -     CharLiteral(char),
[INFO] [stdout] 359 +     CharLiteral(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantic_analyzer/ir.rs:360:17
[INFO] [stdout]     |
[INFO] [stdout] 360 |     BoolLiteral(bool),
[INFO] [stdout]     |     ----------- ^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Literal` 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] 360 -     BoolLiteral(bool),
[INFO] [stdout] 360 +     BoolLiteral(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantic_analyzer/env.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 |     If(IfElse),
[INFO] [stdout]    |     -- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EnvType` 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] 22 -     If(IfElse),
[INFO] [stdout] 22 +     If(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantic_analyzer/env.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 23 |     Else(IfElse),
[INFO] [stdout]    |     ---- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `EnvType` 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] 23 -     Else(IfElse),
[INFO] [stdout] 23 +     Else(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/semantic_analyzer/errors.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 |     DuplicatedVar(VarDecl), // rule 1.1
[INFO] [stdout]   |     ------------- ^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `SemanticCheckError` has a derived impl for the trait `Debug`, but this is 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] 5 -     DuplicatedVar(VarDecl), // rule 1.1
[INFO] [stdout] 5 +     DuplicatedVar(()), // rule 1.1
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/semantic_analyzer/errors.rs:6:22
[INFO] [stdout]   |
[INFO] [stdout] 6 |     DuplicatedMethod(MethodDecl), // rule 1.1
[INFO] [stdout]   |     ---------------- ^^^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `SemanticCheckError` has a derived impl for the trait `Debug`, but this is 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] 6 -     DuplicatedMethod(MethodDecl), // rule 1.1
[INFO] [stdout] 6 +     DuplicatedMethod(()), // rule 1.1
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/semantic_analyzer/errors.rs:7:24
[INFO] [stdout]   |
[INFO] [stdout] 7 |     UsedBeforeDeclared(String), // rule 2, 10, 11
[INFO] [stdout]   |     ------------------ ^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `SemanticCheckError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]   |
[INFO] [stdout] 7 -     UsedBeforeDeclared(String), // rule 2, 10, 11
[INFO] [stdout] 7 +     UsedBeforeDeclared(()), // rule 2, 10, 11
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantic_analyzer/errors.rs:11:28
[INFO] [stdout]    |
[INFO] [stdout] 11 |     ArrayLenShouldPositive(String), // rule 4, 13
[INFO] [stdout]    |     ---------------------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SemanticCheckError` has a derived impl for the trait `Debug`, but this is 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] 11 -     ArrayLenShouldPositive(String), // rule 4, 13
[INFO] [stdout] 11 +     ArrayLenShouldPositive(()), // rule 4, 13
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantic_analyzer/errors.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 |     IdMustArray(String), // rule 12.1
[INFO] [stdout]    |     ----------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SemanticCheckError` has a derived impl for the trait `Debug`, but this is 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] 12 -     IdMustArray(String), // rule 12.1
[INFO] [stdout] 12 +     IdMustArray(()), // rule 12.1
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantic_analyzer/errors.rs:13:23
[INFO] [stdout]    |
[INFO] [stdout] 13 |     TypeOfExprMustInt(String), // rule 12.2
[INFO] [stdout]    |     ----------------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SemanticCheckError` has a derived impl for the trait `Debug`, but this is 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] 13 -     TypeOfExprMustInt(String), // rule 12.2
[INFO] [stdout] 13 +     TypeOfExprMustInt(()), // rule 12.2
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.45s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: lalrpop v0.19.8
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3`
[INFO] running `Command { std: "docker" "inspect" "07636a31e5e25052236878eb0acc3eb4974854b84488235a06c950732d24fa2f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "07636a31e5e25052236878eb0acc3eb4974854b84488235a06c950732d24fa2f", kill_on_drop: false }`
[INFO] [stdout] 07636a31e5e25052236878eb0acc3eb4974854b84488235a06c950732d24fa2f
