[INFO] cloning repository https://github.com/cooldudemcgeexl/crust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cooldudemcgeexl/crust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcooldudemcgeexl%2Fcrust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcooldudemcgeexl%2Fcrust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8415ad3fd465214e00bcd4786743a254e082fb60
[INFO] checking cooldudemcgeexl/crust against master#dc375db7d8df0aa450e622c529147c95eee756f5 for pr-156749
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcooldudemcgeexl%2Fcrust" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/cooldudemcgeexl/crust
[INFO] finished tweaking git repo https://github.com/cooldudemcgeexl/crust
[INFO] tweaked toml for git repo https://github.com/cooldudemcgeexl/crust written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/cooldudemcgeexl/crust on toolchain dc375db7d8df0aa450e622c529147c95eee756f5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dc375db7d8df0aa450e622c529147c95eee756f5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/cooldudemcgeexl/crust 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" "+dc375db7d8df0aa450e622c529147c95eee756f5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded quote v1.0.32
[INFO] [stderr]   Downloaded thiserror v1.0.44
[INFO] [stderr]   Downloaded rustc_version v0.4.0
[INFO] [stderr]   Downloaded futures-sink v0.3.28
[INFO] [stderr]   Downloaded futures-macro v0.3.28
[INFO] [stderr]   Downloaded relative-path v1.8.0
[INFO] [stderr]   Downloaded futures-core v0.3.28
[INFO] [stderr]   Downloaded rstest v0.18.1
[INFO] [stderr]   Downloaded slab v0.4.8
[INFO] [stderr]   Downloaded futures-channel v0.3.28
[INFO] [stderr]   Downloaded pin-project-lite v0.2.10
[INFO] [stderr]   Downloaded thiserror-impl v1.0.44
[INFO] [stderr]   Downloaded proc-macro2 v1.0.66
[INFO] [stderr]   Downloaded rstest_macros v0.18.1
[INFO] [stderr]   Downloaded syn v2.0.27
[INFO] [stderr]   Downloaded futures v0.3.28
[INFO] [stderr]   Downloaded unicode-ident v1.0.11
[INFO] [stderr]   Downloaded aho-corasick v1.0.2
[INFO] [stderr]   Downloaded futures-util v0.3.28
[INFO] [stderr]   Downloaded semver v1.0.18
[INFO] [stderr]   Downloaded regex-syntax v0.7.4
[INFO] [stderr]   Downloaded futures-timer v3.0.2
[INFO] [stderr]   Downloaded futures-task v0.3.28
[INFO] [stderr]   Downloaded regex v1.9.1
[INFO] [stderr]   Downloaded futures-io v0.3.28
[INFO] [stderr]   Downloaded futures-executor v0.3.28
[INFO] [stderr]   Downloaded regex-automata v0.3.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3e793bdf10248eb2ddbd6b0faebed8155c11b4589982e2893733958d93e8d540" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] a0eb5d32fed0a83d05267975a495ea33b3f26375fe3bf83034c07246aef102d6
[INFO] running `Command { std: "docker" "start" "a0eb5d32fed0a83d05267975a495ea33b3f26375fe3bf83034c07246aef102d6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a0eb5d32fed0a83d05267975a495ea33b3f26375fe3bf83034c07246aef102d6" "/opt/rustwide/cargo-home/bin/cargo" "+dc375db7d8df0aa450e622c529147c95eee756f5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a0eb5d32fed0a83d05267975a495ea33b3f26375fe3bf83034c07246aef102d6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "a0eb5d32fed0a83d05267975a495ea33b3f26375fe3bf83034c07246aef102d6" "/opt/rustwide/cargo-home/bin/cargo" "+dc375db7d8df0aa450e622c529147c95eee756f5" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.66
[INFO] [stderr]    Compiling unicode-ident v1.0.11
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling futures-core v0.3.28
[INFO] [stderr]    Compiling semver v1.0.18
[INFO] [stderr]    Compiling futures-task v0.3.28
[INFO] [stderr]    Compiling futures-channel v0.3.28
[INFO] [stderr]    Compiling futures-util v0.3.28
[INFO] [stderr]     Checking futures-sink v0.3.28
[INFO] [stderr]     Checking futures-io v0.3.28
[INFO] [stderr]     Checking pin-project-lite v0.2.10
[INFO] [stderr]    Compiling regex-syntax v0.7.4
[INFO] [stderr]    Compiling thiserror v1.0.44
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling slab v0.4.8
[INFO] [stderr]    Compiling glob v0.3.1
[INFO] [stderr]    Compiling relative-path v1.8.0
[INFO] [stderr]     Checking futures-timer v3.0.2
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]    Compiling rstest_macros v0.18.1
[INFO] [stderr]    Compiling aho-corasick v1.0.2
[INFO] [stderr]    Compiling quote v1.0.32
[INFO] [stderr]    Compiling syn v2.0.27
[INFO] [stderr]    Compiling regex-automata v0.3.3
[INFO] [stderr]    Compiling regex v1.9.1
[INFO] [stderr]    Compiling futures-macro v0.3.28
[INFO] [stderr]    Compiling thiserror-impl v1.0.44
[INFO] [stderr]     Checking crust v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `thiserror::Error`
[INFO] [stdout]  --> src/parser.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use thiserror::Error;
[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: `self`
[INFO] [stdout]  --> src/parser/procedure.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::declaratons::{self, Declaration, VariableDeclaration};
[INFO] [stdout]   |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PathBuf` and `Path`
[INFO] [stdout]   --> src/scanner/stripper.rs:86:17
[INFO] [stdout]    |
[INFO] [stdout] 86 | use std::path::{Path, PathBuf};
[INFO] [stdout]    |                 ^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `fs` and `io`
[INFO] [stdout]   --> src/scanner/stripper.rs:87:11
[INFO] [stdout]    |
[INFO] [stdout] 87 | use std::{fs, io};
[INFO] [stdout]    |           ^^  ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]    --> src/scanner.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 | use std::fs;
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]    --> src/scanner.rs:132:5
[INFO] [stdout]     |
[INFO] [stdout] 132 | use std::path::PathBuf;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thiserror::Error`
[INFO] [stdout]  --> src/semantics/context.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use thiserror::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thiserror::Error`
[INFO] [stdout]  --> src/semantics/procedure.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use thiserror::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parser::types::Identifier`
[INFO] [stdout]  --> src/semantics/procedure.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::parser::types::Identifier;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/scanner.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let mut line_number = 0u32;
[INFO] [stdout]    |         ----^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line_number`
[INFO] [stdout]   --> src/scanner.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let mut line_number = 0u32;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_line_number`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]   --> src/scanner.rs:26:10
[INFO] [stdout]    |
[INFO] [stdout] 26 |     for (index, curr_char) in cleaned_file.chars().enumerate() {
[INFO] [stdout]    |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/semantics/expression.rs:657:42
[INFO] [stdout]     |
[INFO] [stdout] 657 |     fn analyze_expression(value: Number, context: &mut Context) -> Result<Self, SemanticsError> {
[INFO] [stdout]     |                                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/semantics/expression.rs:665:24
[INFO] [stdout]     |
[INFO] [stdout] 665 |     fn get_type(&self, context: &Context) -> Result<Type, SemanticsError> {
[INFO] [stdout]     |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/semantics/procedure.rs:117:24
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn get_type(&self, context: &Context) -> Result<Type, SemanticsError> {
[INFO] [stdout]     |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/semantics/statement.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |         scope: &super::context::Scope,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parsed_output`
[INFO] [stdout]   --> src/main.rs:46:24
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let (parsed_input, parsed_output) = parse_args()?;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parsed_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `main_result`
[INFO] [stdout]   --> src/main.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let main_result = compile_file(&parsed_input)?;
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_main_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let mut file_contents = fs::read_to_string(file_path)?;
[INFO] [stdout]    |         ----^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_name`
[INFO] [stdout]   --> src/main.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let file_name = file_path.to_str();
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `declarations`, `procedures`, and `block` are never read
[INFO] [stdout]   --> src/semantics.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct AnalyzedProgram {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 52 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 53 |     pub declarations: ScopeContext,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 54 |     pub procedures: Vec<AnalyzedProcedure>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 55 |     pub block: AnalyzedBlock,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalyzedProgram` 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 `0` and `1` are never read
[INFO] [stdout]   --> src/semantics/expression.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 |     BitwiseAnd(Box<AnalyzedExpression>, AnalyzedArithOp),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalyzedExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 12 -     BitwiseAnd(Box<AnalyzedExpression>, AnalyzedArithOp),
[INFO] [stdout] 12 +     BitwiseAnd((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/semantics/expression.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BitwiseOr(Box<AnalyzedExpression>, AnalyzedArithOp),
[INFO] [stdout]    |     --------- ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalyzedExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 13 -     BitwiseOr(Box<AnalyzedExpression>, AnalyzedArithOp),
[INFO] [stdout] 13 +     BitwiseOr((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantics/expression.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 14 |     BitwiseNot(AnalyzedArithOp),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalyzedExpression` 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] 14 -     BitwiseNot(AnalyzedArithOp),
[INFO] [stdout] 14 +     BitwiseNot(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/semantics/expression.rs:15:16
[INFO] [stdout]    |
[INFO] [stdout] 15 |     LogicalAnd(Box<AnalyzedExpression>, AnalyzedArithOp),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalyzedExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 15 -     LogicalAnd(Box<AnalyzedExpression>, AnalyzedArithOp),
[INFO] [stdout] 15 +     LogicalAnd((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/semantics/expression.rs:16:15
[INFO] [stdout]    |
[INFO] [stdout] 16 |     LogicalOr(Box<AnalyzedExpression>, AnalyzedArithOp),
[INFO] [stdout]    |     --------- ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalyzedExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 16 -     LogicalOr(Box<AnalyzedExpression>, AnalyzedArithOp),
[INFO] [stdout] 16 +     LogicalOr((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantics/expression.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 |     LogicalNot(AnalyzedArithOp),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalyzedExpression` 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] 17 -     LogicalNot(AnalyzedArithOp),
[INFO] [stdout] 17 +     LogicalNot(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantics/expression.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Cast(Box<AnalyzedExpression>, Type),
[INFO] [stdout]    |     ---- ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalyzedExpression` 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] 18 -     Cast(Box<AnalyzedExpression>, Type),
[INFO] [stdout] 18 +     Cast((), Type),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:114:10
[INFO] [stdout]     |
[INFO] [stdout] 114 |     Plus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stdout]     |     ---- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedArithOp` 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] 114 -     Plus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stdout] 114 +     Plus((), AnalyzedRelation),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:115:43
[INFO] [stdout]     |
[INFO] [stdout] 115 |     ArrayScalarPlus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stdout]     |     --------------- field in this variant ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedArithOp` 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] 115 -     ArrayScalarPlus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stdout] 115 +     ArrayScalarPlus(Box<AnalyzedArithOp>, ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:116:21
[INFO] [stdout]     |
[INFO] [stdout] 116 |     ScalarArrayPlus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stdout]     |     --------------- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedArithOp` 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] 116 -     ScalarArrayPlus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stdout] 116 +     ScalarArrayPlus((), AnalyzedRelation),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:117:15
[INFO] [stdout]     |
[INFO] [stdout] 117 |     ArrayPlus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stdout]     |     --------- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedArithOp` 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] 117 -     ArrayPlus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stdout] 117 +     ArrayPlus((), AnalyzedRelation),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:119:11
[INFO] [stdout]     |
[INFO] [stdout] 119 |     Minus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stdout]     |     ----- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedArithOp` 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] 119 -     Minus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stdout] 119 +     Minus((), AnalyzedRelation),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:120:44
[INFO] [stdout]     |
[INFO] [stdout] 120 |     ArrayScalarMinus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stdout]     |     ---------------- field in this variant ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedArithOp` 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] 120 -     ArrayScalarMinus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stdout] 120 +     ArrayScalarMinus(Box<AnalyzedArithOp>, ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:121:22
[INFO] [stdout]     |
[INFO] [stdout] 121 |     ScalarArrayMinus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stdout]     |     ---------------- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedArithOp` 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] 121 -     ScalarArrayMinus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stdout] 121 +     ScalarArrayMinus((), AnalyzedRelation),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:122:16
[INFO] [stdout]     |
[INFO] [stdout] 122 |     ArrayMinus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stdout]     |     ---------- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedArithOp` 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] 122 -     ArrayMinus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stdout] 122 +     ArrayMinus((), AnalyzedRelation),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:124:10
[INFO] [stdout]     |
[INFO] [stdout] 124 |     Cast(Box<AnalyzedArithOp>, Type),
[INFO] [stdout]     |     ---- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedArithOp` 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] 124 -     Cast(Box<AnalyzedArithOp>, Type),
[INFO] [stdout] 124 +     Cast((), Type),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/semantics/expression.rs:295:14
[INFO] [stdout]     |
[INFO] [stdout] 295 |     LessThan(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stdout]     |     -------- ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedRelation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 295 -     LessThan(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stdout] 295 +     LessThan((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/semantics/expression.rs:296:16
[INFO] [stdout]     |
[INFO] [stdout] 296 |     LessThanEq(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stdout]     |     ---------- ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedRelation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 296 -     LessThanEq(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stdout] 296 +     LessThanEq((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/semantics/expression.rs:297:17
[INFO] [stdout]     |
[INFO] [stdout] 297 |     GreaterThan(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stdout]     |     ----------- ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedRelation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 297 -     GreaterThan(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stdout] 297 +     GreaterThan((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/semantics/expression.rs:298:19
[INFO] [stdout]     |
[INFO] [stdout] 298 |     GreaterThanEq(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stdout]     |     ------------- ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedRelation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 298 -     GreaterThanEq(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stdout] 298 +     GreaterThanEq((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/semantics/expression.rs:299:12
[INFO] [stdout]     |
[INFO] [stdout] 299 |     Equals(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stdout]     |     ------ ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedRelation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 299 -     Equals(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stdout] 299 +     Equals((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/semantics/expression.rs:300:15
[INFO] [stdout]     |
[INFO] [stdout] 300 |     NotEquals(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stdout]     |     --------- ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedRelation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 300 -     NotEquals(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stdout] 300 +     NotEquals((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:301:10
[INFO] [stdout]     |
[INFO] [stdout] 301 |     Cast(Box<AnalyzedRelation>, Type),
[INFO] [stdout]     |     ---- ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedRelation` 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] 301 -     Cast(Box<AnalyzedRelation>, Type),
[INFO] [stdout] 301 +     Cast((), Type),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:408:14
[INFO] [stdout]     |
[INFO] [stdout] 408 |     Multiply(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stdout]     |     -------- ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedTerm` 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] 408 -     Multiply(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stdout] 408 +     Multiply((), AnalyzedFactor),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:409:44
[INFO] [stdout]     |
[INFO] [stdout] 409 |     ArrayScalarMultiply(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stdout]     |     -------------------                    ^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedTerm` 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] 409 -     ArrayScalarMultiply(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stdout] 409 +     ArrayScalarMultiply(Box<AnalyzedTerm>, ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:410:25
[INFO] [stdout]     |
[INFO] [stdout] 410 |     ScalarArrayMultiply(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stdout]     |     ------------------- ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedTerm` 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] 410 -     ScalarArrayMultiply(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stdout] 410 +     ScalarArrayMultiply((), AnalyzedFactor),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:411:19
[INFO] [stdout]     |
[INFO] [stdout] 411 |     ArrayMultiply(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stdout]     |     ------------- ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedTerm` 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] 411 -     ArrayMultiply(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stdout] 411 +     ArrayMultiply((), AnalyzedFactor),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:413:12
[INFO] [stdout]     |
[INFO] [stdout] 413 |     Divide(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stdout]     |     ------ ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedTerm` 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] 413 -     Divide(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stdout] 413 +     Divide((), AnalyzedFactor),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:414:42
[INFO] [stdout]     |
[INFO] [stdout] 414 |     ArrayScalarDivide(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stdout]     |     -----------------                    ^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedTerm` 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] 414 -     ArrayScalarDivide(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stdout] 414 +     ArrayScalarDivide(Box<AnalyzedTerm>, ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:415:23
[INFO] [stdout]     |
[INFO] [stdout] 415 |     ScalarArrayDivide(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stdout]     |     ----------------- ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedTerm` 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] 415 -     ScalarArrayDivide(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stdout] 415 +     ScalarArrayDivide((), AnalyzedFactor),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:416:17
[INFO] [stdout]     |
[INFO] [stdout] 416 |     ArrayDivide(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stdout]     |     ----------- ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedTerm` 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] 416 -     ArrayDivide(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stdout] 416 +     ArrayDivide((), AnalyzedFactor),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:418:10
[INFO] [stdout]     |
[INFO] [stdout] 418 |     Cast(Box<AnalyzedTerm>, Type),
[INFO] [stdout]     |     ---- ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedTerm` 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] 418 -     Cast(Box<AnalyzedTerm>, Type),
[INFO] [stdout] 418 +     Cast((), Type),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:575:12
[INFO] [stdout]     |
[INFO] [stdout] 575 |     String(String),
[INFO] [stdout]     |     ------ ^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedFactor` 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] 575 -     String(String),
[INFO] [stdout] 575 +     String(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:579:10
[INFO] [stdout]     |
[INFO] [stdout] 579 |     Cast(Box<AnalyzedFactor>, Type),
[INFO] [stdout]     |     ---- ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedFactor` 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] 579 -     Cast(Box<AnalyzedFactor>, Type),
[INFO] [stdout] 579 +     Cast((), Type),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:652:13
[INFO] [stdout]     |
[INFO] [stdout] 652 |     Integer(i64),
[INFO] [stdout]     |     ------- ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedNumber` 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] 652 -     Integer(i64),
[INFO] [stdout] 652 +     Integer(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:653:11
[INFO] [stdout]     |
[INFO] [stdout] 653 |     Float(f64),
[INFO] [stdout]     |     ----- ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedNumber` 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] 653 -     Float(f64),
[INFO] [stdout] 653 +     Float(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:676:21
[INFO] [stdout]     |
[INFO] [stdout] 676 |     Indexed(String, Box<AnalyzedExpression>),
[INFO] [stdout]     |     -------         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedName` 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] 676 -     Indexed(String, Box<AnalyzedExpression>),
[INFO] [stdout] 676 +     Indexed(String, ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `identifier`, `arg_list`, `declarations`, `procedures`, and `block` are never read
[INFO] [stdout]   --> src/semantics/procedure.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct AnalyzedProcedure {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 16 |     pub identifier: String,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 17 |     pub arg_list: Vec<NamedValue>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 18 |     pub declarations: ScopeContext,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 19 |     pub procedures: Vec<Box<AnalyzedProcedure>>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 20 |     pub block: AnalyzedBlock,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalyzedProcedure` 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 `identifier` and `arg_list` are never read
[INFO] [stdout]   --> src/semantics/procedure.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct AnalyzedProcedureCall {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 71 |     pub identifier: String,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 72 |     pub arg_list: Vec<AnalyzedExpression>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalyzedProcedureCall` 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/semantics/statement.rs:11:26
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct AnalyzedBlock(pub Vec<AnalyzedStatement>);
[INFO] [stdout]    |            ------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `AnalyzedBlock` 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/semantics/statement.rs:15:16
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Assignment(AnalyzedAssignment),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalyzedStatement` 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] 15 -     Assignment(AnalyzedAssignment),
[INFO] [stdout] 15 +     Assignment(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantics/statement.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 |     If(AnalyzedIf),
[INFO] [stdout]    |     -- ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalyzedStatement` 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] 16 -     If(AnalyzedIf),
[INFO] [stdout] 16 +     If(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantics/statement.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 |     Loop(AnalyzedLoop),
[INFO] [stdout]    |     ---- ^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalyzedStatement` 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] 17 -     Loop(AnalyzedLoop),
[INFO] [stdout] 17 +     Loop(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantics/statement.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Return(AnalyzedReturn),
[INFO] [stdout]    |     ------ ^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalyzedStatement` 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] 18 -     Return(AnalyzedReturn),
[INFO] [stdout] 18 +     Return(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `destination` and `expression` are never read
[INFO] [stdout]   --> src/semantics/statement.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct AnalyzedAssignment {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] 61 |     pub destination: AnalyzedDestination,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 62 |     pub expression: AnalyzedExpression,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalyzedAssignment` 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 `identifier` and `expression` are never read
[INFO] [stdout]   --> src/semantics/statement.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub struct AnalyzedDestination {
[INFO] [stdout]    |            ------------------- fields in this struct
[INFO] [stdout] 93 |     pub identifier: String,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 94 |     pub expression: Option<AnalyzedExpression>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalyzedDestination` 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 `conditional_expr`, `then_block`, and `else_block` are never read
[INFO] [stdout]    --> src/semantics/statement.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct AnalyzedIf {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 138 |     pub conditional_expr: AnalyzedExpression,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 139 |     pub then_block: AnalyzedBlock,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 140 |     pub else_block: Option<AnalyzedBlock>,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedIf` 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 `assignment`, `condition`, and `loop_body` are never read
[INFO] [stdout]    --> src/semantics/statement.rs:166:9
[INFO] [stdout]     |
[INFO] [stdout] 165 | pub struct AnalyzedLoop {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 166 |     pub assignment: Box<AnalyzedAssignment>,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 167 |     pub condition: AnalyzedExpression,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 168 |     pub loop_body: AnalyzedBlock,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedLoop` 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 `expression` is never read
[INFO] [stdout]    --> src/semantics/statement.rs:193:9
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub struct AnalyzedReturn {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 193 |     pub expression: AnalyzedExpression,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedReturn` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking futures-executor v0.3.28
[INFO] [stderr]     Checking futures v0.3.28
[INFO] [stderr]     Checking rstest v0.18.1
[INFO] [stdout] warning: unused import: `thiserror::Error`
[INFO] [stdout]  --> src/parser.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use thiserror::Error;
[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: `self`
[INFO] [stdout]  --> src/parser/procedure.rs:3:26
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::declaratons::{self, Declaration, VariableDeclaration};
[INFO] [stdout]   |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `io`
[INFO] [stdout]   --> src/scanner/stripper.rs:87:15
[INFO] [stdout]    |
[INFO] [stdout] 87 | use std::{fs, io};
[INFO] [stdout]    |               ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thiserror::Error`
[INFO] [stdout]  --> src/semantics/context.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use thiserror::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thiserror::Error`
[INFO] [stdout]  --> src/semantics/procedure.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use thiserror::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::parser::types::Identifier`
[INFO] [stdout]  --> src/semantics/procedure.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::parser::types::Identifier;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/scanner.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let mut line_number = 0u32;
[INFO] [stdout]    |         ----^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `line_number`
[INFO] [stdout]   --> src/scanner.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |     let mut line_number = 0u32;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_line_number`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `index`
[INFO] [stdout]   --> src/scanner.rs:26:10
[INFO] [stdout]    |
[INFO] [stdout] 26 |     for (index, curr_char) in cleaned_file.chars().enumerate() {
[INFO] [stdout]    |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/semantics/expression.rs:657:42
[INFO] [stdout]     |
[INFO] [stdout] 657 |     fn analyze_expression(value: Number, context: &mut Context) -> Result<Self, SemanticsError> {
[INFO] [stdout]     |                                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/semantics/expression.rs:665:24
[INFO] [stdout]     |
[INFO] [stdout] 665 |     fn get_type(&self, context: &Context) -> Result<Type, SemanticsError> {
[INFO] [stdout]     |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `context`
[INFO] [stdout]    --> src/semantics/procedure.rs:117:24
[INFO] [stdout]     |
[INFO] [stdout] 117 |     fn get_type(&self, context: &Context) -> Result<Type, SemanticsError> {
[INFO] [stdout]     |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/semantics/statement.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 102 |         scope: &super::context::Scope,
[INFO] [stdout]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parsed_output`
[INFO] [stdout]   --> src/main.rs:46:24
[INFO] [stdout]    |
[INFO] [stdout] 46 |     let (parsed_input, parsed_output) = parse_args()?;
[INFO] [stdout]    |                        ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parsed_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `main_result`
[INFO] [stdout]   --> src/main.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let main_result = compile_file(&parsed_input)?;
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_main_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:89:9
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let mut file_contents = fs::read_to_string(file_path)?;
[INFO] [stdout]    |         ----^^^^^^^^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file_name`
[INFO] [stdout]   --> src/main.rs:88:9
[INFO] [stdout]    |
[INFO] [stdout] 88 |     let file_name = file_path.to_str();
[INFO] [stdout]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `declarations`, `procedures`, and `block` are never read
[INFO] [stdout]   --> src/semantics.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct AnalyzedProgram {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 52 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 53 |     pub declarations: ScopeContext,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 54 |     pub procedures: Vec<AnalyzedProcedure>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 55 |     pub block: AnalyzedBlock,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalyzedProgram` 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 `0` and `1` are never read
[INFO] [stdout]   --> src/semantics/expression.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 |     BitwiseAnd(Box<AnalyzedExpression>, AnalyzedArithOp),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalyzedExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 12 -     BitwiseAnd(Box<AnalyzedExpression>, AnalyzedArithOp),
[INFO] [stdout] 12 +     BitwiseAnd((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/semantics/expression.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BitwiseOr(Box<AnalyzedExpression>, AnalyzedArithOp),
[INFO] [stdout]    |     --------- ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalyzedExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 13 -     BitwiseOr(Box<AnalyzedExpression>, AnalyzedArithOp),
[INFO] [stdout] 13 +     BitwiseOr((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantics/expression.rs:14:16
[INFO] [stdout]    |
[INFO] [stdout] 14 |     BitwiseNot(AnalyzedArithOp),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalyzedExpression` 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] 14 -     BitwiseNot(AnalyzedArithOp),
[INFO] [stdout] 14 +     BitwiseNot(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/semantics/expression.rs:15:16
[INFO] [stdout]    |
[INFO] [stdout] 15 |     LogicalAnd(Box<AnalyzedExpression>, AnalyzedArithOp),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalyzedExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 15 -     LogicalAnd(Box<AnalyzedExpression>, AnalyzedArithOp),
[INFO] [stdout] 15 +     LogicalAnd((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/semantics/expression.rs:16:15
[INFO] [stdout]    |
[INFO] [stdout] 16 |     LogicalOr(Box<AnalyzedExpression>, AnalyzedArithOp),
[INFO] [stdout]    |     --------- ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalyzedExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 16 -     LogicalOr(Box<AnalyzedExpression>, AnalyzedArithOp),
[INFO] [stdout] 16 +     LogicalOr((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantics/expression.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 |     LogicalNot(AnalyzedArithOp),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalyzedExpression` 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] 17 -     LogicalNot(AnalyzedArithOp),
[INFO] [stdout] 17 +     LogicalNot(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantics/expression.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Cast(Box<AnalyzedExpression>, Type),
[INFO] [stdout]    |     ---- ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalyzedExpression` 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] 18 -     Cast(Box<AnalyzedExpression>, Type),
[INFO] [stdout] 18 +     Cast((), Type),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:114:10
[INFO] [stdout]     |
[INFO] [stdout] 114 |     Plus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stdout]     |     ---- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedArithOp` 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] 114 -     Plus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stdout] 114 +     Plus((), AnalyzedRelation),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:115:43
[INFO] [stdout]     |
[INFO] [stdout] 115 |     ArrayScalarPlus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stdout]     |     --------------- field in this variant ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedArithOp` 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] 115 -     ArrayScalarPlus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stdout] 115 +     ArrayScalarPlus(Box<AnalyzedArithOp>, ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:116:21
[INFO] [stdout]     |
[INFO] [stdout] 116 |     ScalarArrayPlus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stdout]     |     --------------- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedArithOp` 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] 116 -     ScalarArrayPlus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stdout] 116 +     ScalarArrayPlus((), AnalyzedRelation),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:117:15
[INFO] [stdout]     |
[INFO] [stdout] 117 |     ArrayPlus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stdout]     |     --------- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedArithOp` 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] 117 -     ArrayPlus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stdout] 117 +     ArrayPlus((), AnalyzedRelation),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:119:11
[INFO] [stdout]     |
[INFO] [stdout] 119 |     Minus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stdout]     |     ----- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedArithOp` 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] 119 -     Minus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stdout] 119 +     Minus((), AnalyzedRelation),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:120:44
[INFO] [stdout]     |
[INFO] [stdout] 120 |     ArrayScalarMinus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stdout]     |     ---------------- field in this variant ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedArithOp` 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] 120 -     ArrayScalarMinus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stdout] 120 +     ArrayScalarMinus(Box<AnalyzedArithOp>, ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:121:22
[INFO] [stdout]     |
[INFO] [stdout] 121 |     ScalarArrayMinus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stdout]     |     ---------------- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedArithOp` 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] 121 -     ScalarArrayMinus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stdout] 121 +     ScalarArrayMinus((), AnalyzedRelation),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:122:16
[INFO] [stdout]     |
[INFO] [stdout] 122 |     ArrayMinus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stdout]     |     ---------- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedArithOp` 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] 122 -     ArrayMinus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stdout] 122 +     ArrayMinus((), AnalyzedRelation),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:124:10
[INFO] [stdout]     |
[INFO] [stdout] 124 |     Cast(Box<AnalyzedArithOp>, Type),
[INFO] [stdout]     |     ---- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedArithOp` 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] 124 -     Cast(Box<AnalyzedArithOp>, Type),
[INFO] [stdout] 124 +     Cast((), Type),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/semantics/expression.rs:295:14
[INFO] [stdout]     |
[INFO] [stdout] 295 |     LessThan(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stdout]     |     -------- ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedRelation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 295 -     LessThan(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stdout] 295 +     LessThan((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/semantics/expression.rs:296:16
[INFO] [stdout]     |
[INFO] [stdout] 296 |     LessThanEq(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stdout]     |     ---------- ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedRelation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 296 -     LessThanEq(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stdout] 296 +     LessThanEq((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/semantics/expression.rs:297:17
[INFO] [stdout]     |
[INFO] [stdout] 297 |     GreaterThan(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stdout]     |     ----------- ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedRelation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 297 -     GreaterThan(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stdout] 297 +     GreaterThan((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/semantics/expression.rs:298:19
[INFO] [stdout]     |
[INFO] [stdout] 298 |     GreaterThanEq(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stdout]     |     ------------- ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedRelation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 298 -     GreaterThanEq(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stdout] 298 +     GreaterThanEq((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/semantics/expression.rs:299:12
[INFO] [stdout]     |
[INFO] [stdout] 299 |     Equals(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stdout]     |     ------ ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedRelation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 299 -     Equals(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stdout] 299 +     Equals((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/semantics/expression.rs:300:15
[INFO] [stdout]     |
[INFO] [stdout] 300 |     NotEquals(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stdout]     |     --------- ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedRelation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]     |
[INFO] [stdout] 300 -     NotEquals(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stdout] 300 +     NotEquals((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:301:10
[INFO] [stdout]     |
[INFO] [stdout] 301 |     Cast(Box<AnalyzedRelation>, Type),
[INFO] [stdout]     |     ---- ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedRelation` 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] 301 -     Cast(Box<AnalyzedRelation>, Type),
[INFO] [stdout] 301 +     Cast((), Type),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:408:14
[INFO] [stdout]     |
[INFO] [stdout] 408 |     Multiply(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stdout]     |     -------- ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedTerm` 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] 408 -     Multiply(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stdout] 408 +     Multiply((), AnalyzedFactor),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:409:44
[INFO] [stdout]     |
[INFO] [stdout] 409 |     ArrayScalarMultiply(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stdout]     |     -------------------                    ^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedTerm` 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] 409 -     ArrayScalarMultiply(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stdout] 409 +     ArrayScalarMultiply(Box<AnalyzedTerm>, ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:410:25
[INFO] [stdout]     |
[INFO] [stdout] 410 |     ScalarArrayMultiply(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stdout]     |     ------------------- ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedTerm` 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] 410 -     ScalarArrayMultiply(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stdout] 410 +     ScalarArrayMultiply((), AnalyzedFactor),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:411:19
[INFO] [stdout]     |
[INFO] [stdout] 411 |     ArrayMultiply(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stdout]     |     ------------- ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedTerm` 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] 411 -     ArrayMultiply(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stdout] 411 +     ArrayMultiply((), AnalyzedFactor),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:413:12
[INFO] [stdout]     |
[INFO] [stdout] 413 |     Divide(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stdout]     |     ------ ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedTerm` 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] 413 -     Divide(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stdout] 413 +     Divide((), AnalyzedFactor),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:414:42
[INFO] [stdout]     |
[INFO] [stdout] 414 |     ArrayScalarDivide(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stdout]     |     -----------------                    ^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedTerm` 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] 414 -     ArrayScalarDivide(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stdout] 414 +     ArrayScalarDivide(Box<AnalyzedTerm>, ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:415:23
[INFO] [stdout]     |
[INFO] [stdout] 415 |     ScalarArrayDivide(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stdout]     |     ----------------- ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedTerm` 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] 415 -     ScalarArrayDivide(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stdout] 415 +     ScalarArrayDivide((), AnalyzedFactor),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:416:17
[INFO] [stdout]     |
[INFO] [stdout] 416 |     ArrayDivide(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stdout]     |     ----------- ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedTerm` 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] 416 -     ArrayDivide(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stdout] 416 +     ArrayDivide((), AnalyzedFactor),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:418:10
[INFO] [stdout]     |
[INFO] [stdout] 418 |     Cast(Box<AnalyzedTerm>, Type),
[INFO] [stdout]     |     ---- ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedTerm` 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] 418 -     Cast(Box<AnalyzedTerm>, Type),
[INFO] [stdout] 418 +     Cast((), Type),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:575:12
[INFO] [stdout]     |
[INFO] [stdout] 575 |     String(String),
[INFO] [stdout]     |     ------ ^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedFactor` 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] 575 -     String(String),
[INFO] [stdout] 575 +     String(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:579:10
[INFO] [stdout]     |
[INFO] [stdout] 579 |     Cast(Box<AnalyzedFactor>, Type),
[INFO] [stdout]     |     ---- ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedFactor` 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] 579 -     Cast(Box<AnalyzedFactor>, Type),
[INFO] [stdout] 579 +     Cast((), Type),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:652:13
[INFO] [stdout]     |
[INFO] [stdout] 652 |     Integer(i64),
[INFO] [stdout]     |     ------- ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedNumber` 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] 652 -     Integer(i64),
[INFO] [stdout] 652 +     Integer(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:653:11
[INFO] [stdout]     |
[INFO] [stdout] 653 |     Float(f64),
[INFO] [stdout]     |     ----- ^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedNumber` 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] 653 -     Float(f64),
[INFO] [stdout] 653 +     Float(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]    --> src/semantics/expression.rs:676:21
[INFO] [stdout]     |
[INFO] [stdout] 676 |     Indexed(String, Box<AnalyzedExpression>),
[INFO] [stdout]     |     -------         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedName` 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] 676 -     Indexed(String, Box<AnalyzedExpression>),
[INFO] [stdout] 676 +     Indexed(String, ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `identifier`, `arg_list`, `declarations`, `procedures`, and `block` are never read
[INFO] [stdout]   --> src/semantics/procedure.rs:16:9
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct AnalyzedProcedure {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 16 |     pub identifier: String,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 17 |     pub arg_list: Vec<NamedValue>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 18 |     pub declarations: ScopeContext,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 19 |     pub procedures: Vec<Box<AnalyzedProcedure>>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 20 |     pub block: AnalyzedBlock,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalyzedProcedure` 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 `identifier` and `arg_list` are never read
[INFO] [stdout]   --> src/semantics/procedure.rs:71:9
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub struct AnalyzedProcedureCall {
[INFO] [stdout]    |            --------------------- fields in this struct
[INFO] [stdout] 71 |     pub identifier: String,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 72 |     pub arg_list: Vec<AnalyzedExpression>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalyzedProcedureCall` 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/semantics/statement.rs:11:26
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct AnalyzedBlock(pub Vec<AnalyzedStatement>);
[INFO] [stdout]    |            ------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |            |
[INFO] [stdout]    |            field in this struct
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider removing this field
[INFO] [stdout]    = note: `AnalyzedBlock` 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/semantics/statement.rs:15:16
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Assignment(AnalyzedAssignment),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalyzedStatement` 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] 15 -     Assignment(AnalyzedAssignment),
[INFO] [stdout] 15 +     Assignment(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantics/statement.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 |     If(AnalyzedIf),
[INFO] [stdout]    |     -- ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalyzedStatement` 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] 16 -     If(AnalyzedIf),
[INFO] [stdout] 16 +     If(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantics/statement.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 |     Loop(AnalyzedLoop),
[INFO] [stdout]    |     ---- ^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalyzedStatement` 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] 17 -     Loop(AnalyzedLoop),
[INFO] [stdout] 17 +     Loop(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/semantics/statement.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Return(AnalyzedReturn),
[INFO] [stdout]    |     ------ ^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalyzedStatement` 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] 18 -     Return(AnalyzedReturn),
[INFO] [stdout] 18 +     Return(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `destination` and `expression` are never read
[INFO] [stdout]   --> src/semantics/statement.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct AnalyzedAssignment {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] 61 |     pub destination: AnalyzedDestination,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 62 |     pub expression: AnalyzedExpression,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalyzedAssignment` 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 `identifier` and `expression` are never read
[INFO] [stdout]   --> src/semantics/statement.rs:93:9
[INFO] [stdout]    |
[INFO] [stdout] 92 | pub struct AnalyzedDestination {
[INFO] [stdout]    |            ------------------- fields in this struct
[INFO] [stdout] 93 |     pub identifier: String,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 94 |     pub expression: Option<AnalyzedExpression>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AnalyzedDestination` 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 `conditional_expr`, `then_block`, and `else_block` are never read
[INFO] [stdout]    --> src/semantics/statement.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct AnalyzedIf {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 138 |     pub conditional_expr: AnalyzedExpression,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 139 |     pub then_block: AnalyzedBlock,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 140 |     pub else_block: Option<AnalyzedBlock>,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedIf` 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 `assignment`, `condition`, and `loop_body` are never read
[INFO] [stdout]    --> src/semantics/statement.rs:166:9
[INFO] [stdout]     |
[INFO] [stdout] 165 | pub struct AnalyzedLoop {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 166 |     pub assignment: Box<AnalyzedAssignment>,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout] 167 |     pub condition: AnalyzedExpression,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 168 |     pub loop_body: AnalyzedBlock,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedLoop` 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 `expression` is never read
[INFO] [stdout]    --> src/semantics/statement.rs:193:9
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub struct AnalyzedReturn {
[INFO] [stdout]     |            -------------- field in this struct
[INFO] [stdout] 193 |     pub expression: AnalyzedExpression,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `AnalyzedReturn` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.97s
[INFO] running `Command { std: "docker" "inspect" "a0eb5d32fed0a83d05267975a495ea33b3f26375fe3bf83034c07246aef102d6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a0eb5d32fed0a83d05267975a495ea33b3f26375fe3bf83034c07246aef102d6", kill_on_drop: false }`
[INFO] [stdout] a0eb5d32fed0a83d05267975a495ea33b3f26375fe3bf83034c07246aef102d6
