[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] testing cooldudemcgeexl/crust against try#db823df02fd0c2cf67b43025ac3fef3f2d743245 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcooldudemcgeexl%2Fcrust" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/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-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/cooldudemcgeexl/crust on toolchain db823df02fd0c2cf67b43025ac3fef3f2d743245
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "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" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c68fc09a6f9f6577182287d7f405f277d27053088b1089e5f6366b5630fe64b9
[INFO] running `Command { std: "docker" "start" "-a" "c68fc09a6f9f6577182287d7f405f277d27053088b1089e5f6366b5630fe64b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c68fc09a6f9f6577182287d7f405f277d27053088b1089e5f6366b5630fe64b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c68fc09a6f9f6577182287d7f405f277d27053088b1089e5f6366b5630fe64b9", kill_on_drop: false }`
[INFO] [stdout] c68fc09a6f9f6577182287d7f405f277d27053088b1089e5f6366b5630fe64b9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b15a95cf6974594f1259a42a9b12eb843b4cbcf382deede0f58cf7f07967aa19
[INFO] running `Command { std: "docker" "start" "-a" "b15a95cf6974594f1259a42a9b12eb843b4cbcf382deede0f58cf7f07967aa19", kill_on_drop: false }`
[INFO] [stderr]    Compiling thiserror v1.0.44
[INFO] [stderr]    Compiling syn v2.0.27
[INFO] [stderr]    Compiling thiserror-impl v1.0.44
[INFO] [stderr]    Compiling 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]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.89s
[INFO] running `Command { std: "docker" "inspect" "b15a95cf6974594f1259a42a9b12eb843b4cbcf382deede0f58cf7f07967aa19", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b15a95cf6974594f1259a42a9b12eb843b4cbcf382deede0f58cf7f07967aa19", kill_on_drop: false }`
[INFO] [stdout] b15a95cf6974594f1259a42a9b12eb843b4cbcf382deede0f58cf7f07967aa19
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8ab6ad7c6caabebb1931861ab184fc3e8f6632ce10a0804799ea986f3f941bd0
[INFO] running `Command { std: "docker" "start" "-a" "8ab6ad7c6caabebb1931861ab184fc3e8f6632ce10a0804799ea986f3f941bd0", kill_on_drop: false }`
[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-sink v0.3.28
[INFO] [stderr]    Compiling futures-util v0.3.28
[INFO] [stderr]    Compiling futures-io v0.3.28
[INFO] [stderr]    Compiling regex-syntax v0.7.4
[INFO] [stderr]    Compiling relative-path v1.8.0
[INFO] [stderr]    Compiling cfg-if v1.0.0
[INFO] [stderr]    Compiling futures-timer v3.0.2
[INFO] [stderr]    Compiling syn v2.0.27
[INFO] [stderr]    Compiling aho-corasick v1.0.2
[INFO] [stderr]    Compiling rustc_version v0.4.0
[INFO] [stderr]    Compiling rstest_macros v0.18.1
[INFO] [stderr]    Compiling regex-automata v0.3.3
[INFO] [stderr]    Compiling futures-macro v0.3.28
[INFO] [stderr]    Compiling thiserror-impl v1.0.44
[INFO] [stderr]    Compiling regex v1.9.1
[INFO] [stderr]    Compiling thiserror v1.0.44
[INFO] [stderr]    Compiling futures-executor v0.3.28
[INFO] [stderr]    Compiling futures v0.3.28
[INFO] [stderr]    Compiling rstest v0.18.1
[INFO] [stderr]    Compiling 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 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 `test` profile [unoptimized + debuginfo] target(s) in 15.72s
[INFO] running `Command { std: "docker" "inspect" "8ab6ad7c6caabebb1931861ab184fc3e8f6632ce10a0804799ea986f3f941bd0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8ab6ad7c6caabebb1931861ab184fc3e8f6632ce10a0804799ea986f3f941bd0", kill_on_drop: false }`
[INFO] [stdout] 8ab6ad7c6caabebb1931861ab184fc3e8f6632ce10a0804799ea986f3f941bd0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+db823df02fd0c2cf67b43025ac3fef3f2d743245" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 00435540464f9d3354837e36fe5552d88d84e604b95fe3c943609d67cb1e314f
[INFO] running `Command { std: "docker" "start" "-a" "00435540464f9d3354837e36fe5552d88d84e604b95fe3c943609d67cb1e314f", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `thiserror::Error`
[INFO] [stderr]  --> src/parser.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use thiserror::Error;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `self`
[INFO] [stderr]  --> src/parser/procedure.rs:3:26
[INFO] [stderr]   |
[INFO] [stderr] 3 | use super::declaratons::{self, Declaration, VariableDeclaration};
[INFO] [stderr]   |                          ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `io`
[INFO] [stderr]   --> src/scanner/stripper.rs:87:15
[INFO] [stderr]    |
[INFO] [stderr] 87 | use std::{fs, io};
[INFO] [stderr]    |               ^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `thiserror::Error`
[INFO] [stderr]  --> src/semantics/context.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use thiserror::Error;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `thiserror::Error`
[INFO] [stderr]  --> src/semantics/procedure.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use thiserror::Error;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::parser::types::Identifier`
[INFO] [stderr]  --> src/semantics/procedure.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crate::parser::types::Identifier;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/scanner.rs:22:9
[INFO] [stderr]    |
[INFO] [stderr] 22 |     let mut line_number = 0u32;
[INFO] [stderr]    |         ----^^^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `line_number`
[INFO] [stderr]   --> src/scanner.rs:22:9
[INFO] [stderr]    |
[INFO] [stderr] 22 |     let mut line_number = 0u32;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_line_number`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `index`
[INFO] [stderr]   --> src/scanner.rs:26:10
[INFO] [stderr]    |
[INFO] [stderr] 26 |     for (index, curr_char) in cleaned_file.chars().enumerate() {
[INFO] [stderr]    |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_index`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `context`
[INFO] [stderr]    --> src/semantics/expression.rs:657:42
[INFO] [stderr]     |
[INFO] [stderr] 657 |     fn analyze_expression(value: Number, context: &mut Context) -> Result<Self, SemanticsError> {
[INFO] [stderr]     |                                          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `context`
[INFO] [stderr]    --> src/semantics/expression.rs:665:24
[INFO] [stderr]     |
[INFO] [stderr] 665 |     fn get_type(&self, context: &Context) -> Result<Type, SemanticsError> {
[INFO] [stderr]     |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `context`
[INFO] [stderr]    --> src/semantics/procedure.rs:117:24
[INFO] [stderr]     |
[INFO] [stderr] 117 |     fn get_type(&self, context: &Context) -> Result<Type, SemanticsError> {
[INFO] [stderr]     |                        ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_context`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `scope`
[INFO] [stderr]    --> src/semantics/statement.rs:102:9
[INFO] [stderr]     |
[INFO] [stderr] 102 |         scope: &super::context::Scope,
[INFO] [stderr]     |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `parsed_output`
[INFO] [stderr]   --> src/main.rs:46:24
[INFO] [stderr]    |
[INFO] [stderr] 46 |     let (parsed_input, parsed_output) = parse_args()?;
[INFO] [stderr]    |                        ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parsed_output`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `main_result`
[INFO] [stderr]   --> src/main.rs:48:9
[INFO] [stderr]    |
[INFO] [stderr] 48 |     let main_result = compile_file(&parsed_input)?;
[INFO] [stderr]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_main_result`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/main.rs:89:9
[INFO] [stderr]    |
[INFO] [stderr] 89 |     let mut file_contents = fs::read_to_string(file_path)?;
[INFO] [stderr]    |         ----^^^^^^^^^^^^^
[INFO] [stderr]    |         |
[INFO] [stderr]    |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `file_name`
[INFO] [stderr]   --> src/main.rs:88:9
[INFO] [stderr]    |
[INFO] [stderr] 88 |     let file_name = file_path.to_str();
[INFO] [stderr]    |         ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_name`
[INFO] [stderr] 
[INFO] [stderr] warning: fields `name`, `declarations`, `procedures`, and `block` are never read
[INFO] [stderr]   --> src/semantics.rs:52:9
[INFO] [stderr]    |
[INFO] [stderr] 51 | pub struct AnalyzedProgram {
[INFO] [stderr]    |            --------------- fields in this struct
[INFO] [stderr] 52 |     pub name: String,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr] 53 |     pub declarations: ScopeContext,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 54 |     pub procedures: Vec<AnalyzedProcedure>,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 55 |     pub block: AnalyzedBlock,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AnalyzedProgram` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]   --> src/semantics/expression.rs:12:16
[INFO] [stderr]    |
[INFO] [stderr] 12 |     BitwiseAnd(Box<AnalyzedExpression>, AnalyzedArithOp),
[INFO] [stderr]    |     ---------- ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     fields in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AnalyzedExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stderr]    |
[INFO] [stderr] 12 -     BitwiseAnd(Box<AnalyzedExpression>, AnalyzedArithOp),
[INFO] [stderr] 12 +     BitwiseAnd((), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]   --> src/semantics/expression.rs:13:15
[INFO] [stderr]    |
[INFO] [stderr] 13 |     BitwiseOr(Box<AnalyzedExpression>, AnalyzedArithOp),
[INFO] [stderr]    |     --------- ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     fields in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AnalyzedExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stderr]    |
[INFO] [stderr] 13 -     BitwiseOr(Box<AnalyzedExpression>, AnalyzedArithOp),
[INFO] [stderr] 13 +     BitwiseOr((), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/semantics/expression.rs:14:16
[INFO] [stderr]    |
[INFO] [stderr] 14 |     BitwiseNot(AnalyzedArithOp),
[INFO] [stderr]    |     ---------- ^^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AnalyzedExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 14 -     BitwiseNot(AnalyzedArithOp),
[INFO] [stderr] 14 +     BitwiseNot(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]   --> src/semantics/expression.rs:15:16
[INFO] [stderr]    |
[INFO] [stderr] 15 |     LogicalAnd(Box<AnalyzedExpression>, AnalyzedArithOp),
[INFO] [stderr]    |     ---------- ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     fields in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AnalyzedExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stderr]    |
[INFO] [stderr] 15 -     LogicalAnd(Box<AnalyzedExpression>, AnalyzedArithOp),
[INFO] [stderr] 15 +     LogicalAnd((), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]   --> src/semantics/expression.rs:16:15
[INFO] [stderr]    |
[INFO] [stderr] 16 |     LogicalOr(Box<AnalyzedExpression>, AnalyzedArithOp),
[INFO] [stderr]    |     --------- ^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     fields in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AnalyzedExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stderr]    |
[INFO] [stderr] 16 -     LogicalOr(Box<AnalyzedExpression>, AnalyzedArithOp),
[INFO] [stderr] 16 +     LogicalOr((), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/semantics/expression.rs:17:16
[INFO] [stderr]    |
[INFO] [stderr] 17 |     LogicalNot(AnalyzedArithOp),
[INFO] [stderr]    |     ---------- ^^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AnalyzedExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 17 -     LogicalNot(AnalyzedArithOp),
[INFO] [stderr] 17 +     LogicalNot(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/semantics/expression.rs:18:10
[INFO] [stderr]    |
[INFO] [stderr] 18 |     Cast(Box<AnalyzedExpression>, Type),
[INFO] [stderr]    |     ---- ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AnalyzedExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 18 -     Cast(Box<AnalyzedExpression>, Type),
[INFO] [stderr] 18 +     Cast((), Type),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/semantics/expression.rs:114:10
[INFO] [stderr]     |
[INFO] [stderr] 114 |     Plus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stderr]     |     ---- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedArithOp` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 114 -     Plus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stderr] 114 +     Plus((), AnalyzedRelation),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `1` is never read
[INFO] [stderr]    --> src/semantics/expression.rs:115:43
[INFO] [stderr]     |
[INFO] [stderr] 115 |     ArrayScalarPlus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stderr]     |     --------------- field in this variant ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedArithOp` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 115 -     ArrayScalarPlus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stderr] 115 +     ArrayScalarPlus(Box<AnalyzedArithOp>, ()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/semantics/expression.rs:116:21
[INFO] [stderr]     |
[INFO] [stderr] 116 |     ScalarArrayPlus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stderr]     |     --------------- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedArithOp` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 116 -     ScalarArrayPlus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stderr] 116 +     ScalarArrayPlus((), AnalyzedRelation),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/semantics/expression.rs:117:15
[INFO] [stderr]     |
[INFO] [stderr] 117 |     ArrayPlus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stderr]     |     --------- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedArithOp` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 117 -     ArrayPlus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stderr] 117 +     ArrayPlus((), AnalyzedRelation),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/semantics/expression.rs:119:11
[INFO] [stderr]     |
[INFO] [stderr] 119 |     Minus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stderr]     |     ----- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedArithOp` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 119 -     Minus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stderr] 119 +     Minus((), AnalyzedRelation),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `1` is never read
[INFO] [stderr]    --> src/semantics/expression.rs:120:44
[INFO] [stderr]     |
[INFO] [stderr] 120 |     ArrayScalarMinus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stderr]     |     ---------------- field in this variant ^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedArithOp` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 120 -     ArrayScalarMinus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stderr] 120 +     ArrayScalarMinus(Box<AnalyzedArithOp>, ()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/semantics/expression.rs:121:22
[INFO] [stderr]     |
[INFO] [stderr] 121 |     ScalarArrayMinus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stderr]     |     ---------------- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedArithOp` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 121 -     ScalarArrayMinus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stderr] 121 +     ScalarArrayMinus((), AnalyzedRelation),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/semantics/expression.rs:122:16
[INFO] [stderr]     |
[INFO] [stderr] 122 |     ArrayMinus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stderr]     |     ---------- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedArithOp` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 122 -     ArrayMinus(Box<AnalyzedArithOp>, AnalyzedRelation),
[INFO] [stderr] 122 +     ArrayMinus((), AnalyzedRelation),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/semantics/expression.rs:124:10
[INFO] [stderr]     |
[INFO] [stderr] 124 |     Cast(Box<AnalyzedArithOp>, Type),
[INFO] [stderr]     |     ---- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedArithOp` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 124 -     Cast(Box<AnalyzedArithOp>, Type),
[INFO] [stderr] 124 +     Cast((), Type),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]    --> src/semantics/expression.rs:295:14
[INFO] [stderr]     |
[INFO] [stderr] 295 |     LessThan(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stderr]     |     -------- ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     fields in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedRelation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stderr]     |
[INFO] [stderr] 295 -     LessThan(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stderr] 295 +     LessThan((), ()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]    --> src/semantics/expression.rs:296:16
[INFO] [stderr]     |
[INFO] [stderr] 296 |     LessThanEq(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stderr]     |     ---------- ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     fields in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedRelation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stderr]     |
[INFO] [stderr] 296 -     LessThanEq(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stderr] 296 +     LessThanEq((), ()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]    --> src/semantics/expression.rs:297:17
[INFO] [stderr]     |
[INFO] [stderr] 297 |     GreaterThan(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stderr]     |     ----------- ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     fields in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedRelation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stderr]     |
[INFO] [stderr] 297 -     GreaterThan(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stderr] 297 +     GreaterThan((), ()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]    --> src/semantics/expression.rs:298:19
[INFO] [stderr]     |
[INFO] [stderr] 298 |     GreaterThanEq(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stderr]     |     ------------- ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     fields in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedRelation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stderr]     |
[INFO] [stderr] 298 -     GreaterThanEq(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stderr] 298 +     GreaterThanEq((), ()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]    --> src/semantics/expression.rs:299:12
[INFO] [stderr]     |
[INFO] [stderr] 299 |     Equals(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stderr]     |     ------ ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     fields in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedRelation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stderr]     |
[INFO] [stderr] 299 -     Equals(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stderr] 299 +     Equals((), ()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]    --> src/semantics/expression.rs:300:15
[INFO] [stderr]     |
[INFO] [stderr] 300 |     NotEquals(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stderr]     |     --------- ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     fields in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedRelation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stderr]     |
[INFO] [stderr] 300 -     NotEquals(Box<AnalyzedRelation>, AnalyzedTerm),
[INFO] [stderr] 300 +     NotEquals((), ()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/semantics/expression.rs:301:10
[INFO] [stderr]     |
[INFO] [stderr] 301 |     Cast(Box<AnalyzedRelation>, Type),
[INFO] [stderr]     |     ---- ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedRelation` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 301 -     Cast(Box<AnalyzedRelation>, Type),
[INFO] [stderr] 301 +     Cast((), Type),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/semantics/expression.rs:408:14
[INFO] [stderr]     |
[INFO] [stderr] 408 |     Multiply(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stderr]     |     -------- ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedTerm` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 408 -     Multiply(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stderr] 408 +     Multiply((), AnalyzedFactor),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `1` is never read
[INFO] [stderr]    --> src/semantics/expression.rs:409:44
[INFO] [stderr]     |
[INFO] [stderr] 409 |     ArrayScalarMultiply(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stderr]     |     -------------------                    ^^^^^^^^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedTerm` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 409 -     ArrayScalarMultiply(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stderr] 409 +     ArrayScalarMultiply(Box<AnalyzedTerm>, ()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/semantics/expression.rs:410:25
[INFO] [stderr]     |
[INFO] [stderr] 410 |     ScalarArrayMultiply(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stderr]     |     ------------------- ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedTerm` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 410 -     ScalarArrayMultiply(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stderr] 410 +     ScalarArrayMultiply((), AnalyzedFactor),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/semantics/expression.rs:411:19
[INFO] [stderr]     |
[INFO] [stderr] 411 |     ArrayMultiply(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stderr]     |     ------------- ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedTerm` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 411 -     ArrayMultiply(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stderr] 411 +     ArrayMultiply((), AnalyzedFactor),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/semantics/expression.rs:413:12
[INFO] [stderr]     |
[INFO] [stderr] 413 |     Divide(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stderr]     |     ------ ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedTerm` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 413 -     Divide(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stderr] 413 +     Divide((), AnalyzedFactor),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `1` is never read
[INFO] [stderr]    --> src/semantics/expression.rs:414:42
[INFO] [stderr]     |
[INFO] [stderr] 414 |     ArrayScalarDivide(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stderr]     |     -----------------                    ^^^^^^^^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedTerm` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 414 -     ArrayScalarDivide(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stderr] 414 +     ArrayScalarDivide(Box<AnalyzedTerm>, ()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/semantics/expression.rs:415:23
[INFO] [stderr]     |
[INFO] [stderr] 415 |     ScalarArrayDivide(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stderr]     |     ----------------- ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedTerm` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 415 -     ScalarArrayDivide(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stderr] 415 +     ScalarArrayDivide((), AnalyzedFactor),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/semantics/expression.rs:416:17
[INFO] [stderr]     |
[INFO] [stderr] 416 |     ArrayDivide(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stderr]     |     ----------- ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedTerm` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 416 -     ArrayDivide(Box<AnalyzedTerm>, AnalyzedFactor),
[INFO] [stderr] 416 +     ArrayDivide((), AnalyzedFactor),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/semantics/expression.rs:418:10
[INFO] [stderr]     |
[INFO] [stderr] 418 |     Cast(Box<AnalyzedTerm>, Type),
[INFO] [stderr]     |     ---- ^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedTerm` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 418 -     Cast(Box<AnalyzedTerm>, Type),
[INFO] [stderr] 418 +     Cast((), Type),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/semantics/expression.rs:575:12
[INFO] [stderr]     |
[INFO] [stderr] 575 |     String(String),
[INFO] [stderr]     |     ------ ^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedFactor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 575 -     String(String),
[INFO] [stderr] 575 +     String(()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/semantics/expression.rs:579:10
[INFO] [stderr]     |
[INFO] [stderr] 579 |     Cast(Box<AnalyzedFactor>, Type),
[INFO] [stderr]     |     ---- ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedFactor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 579 -     Cast(Box<AnalyzedFactor>, Type),
[INFO] [stderr] 579 +     Cast((), Type),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/semantics/expression.rs:652:13
[INFO] [stderr]     |
[INFO] [stderr] 652 |     Integer(i64),
[INFO] [stderr]     |     ------- ^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedNumber` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 652 -     Integer(i64),
[INFO] [stderr] 652 +     Integer(()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/semantics/expression.rs:653:11
[INFO] [stderr]     |
[INFO] [stderr] 653 |     Float(f64),
[INFO] [stderr]     |     ----- ^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedNumber` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 653 -     Float(f64),
[INFO] [stderr] 653 +     Float(()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `1` is never read
[INFO] [stderr]    --> src/semantics/expression.rs:676:21
[INFO] [stderr]     |
[INFO] [stderr] 676 |     Indexed(String, Box<AnalyzedExpression>),
[INFO] [stderr]     |     -------         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |     |
[INFO] [stderr]     |     field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedName` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]     |
[INFO] [stderr] 676 -     Indexed(String, Box<AnalyzedExpression>),
[INFO] [stderr] 676 +     Indexed(String, ()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `identifier`, `arg_list`, `declarations`, `procedures`, and `block` are never read
[INFO] [stderr]   --> src/semantics/procedure.rs:16:9
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub struct AnalyzedProcedure {
[INFO] [stderr]    |            ----------------- fields in this struct
[INFO] [stderr] 16 |     pub identifier: String,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 17 |     pub arg_list: Vec<NamedValue>,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 18 |     pub declarations: ScopeContext,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 19 |     pub procedures: Vec<Box<AnalyzedProcedure>>,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 20 |     pub block: AnalyzedBlock,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AnalyzedProcedure` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `identifier` and `arg_list` are never read
[INFO] [stderr]   --> src/semantics/procedure.rs:71:9
[INFO] [stderr]    |
[INFO] [stderr] 70 | pub struct AnalyzedProcedureCall {
[INFO] [stderr]    |            --------------------- fields in this struct
[INFO] [stderr] 71 |     pub identifier: String,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 72 |     pub arg_list: Vec<AnalyzedExpression>,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AnalyzedProcedureCall` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/semantics/statement.rs:11:26
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub struct AnalyzedBlock(pub Vec<AnalyzedStatement>);
[INFO] [stderr]    |            ------------- ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |            |
[INFO] [stderr]    |            field in this struct
[INFO] [stderr]    |
[INFO] [stderr]    = help: consider removing this field
[INFO] [stderr]    = note: `AnalyzedBlock` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/semantics/statement.rs:15:16
[INFO] [stderr]    |
[INFO] [stderr] 15 |     Assignment(AnalyzedAssignment),
[INFO] [stderr]    |     ---------- ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AnalyzedStatement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 15 -     Assignment(AnalyzedAssignment),
[INFO] [stderr] 15 +     Assignment(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/semantics/statement.rs:16:8
[INFO] [stderr]    |
[INFO] [stderr] 16 |     If(AnalyzedIf),
[INFO] [stderr]    |     -- ^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AnalyzedStatement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 16 -     If(AnalyzedIf),
[INFO] [stderr] 16 +     If(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/semantics/statement.rs:17:10
[INFO] [stderr]    |
[INFO] [stderr] 17 |     Loop(AnalyzedLoop),
[INFO] [stderr]    |     ---- ^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AnalyzedStatement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 17 -     Loop(AnalyzedLoop),
[INFO] [stderr] 17 +     Loop(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/semantics/statement.rs:18:12
[INFO] [stderr]    |
[INFO] [stderr] 18 |     Return(AnalyzedReturn),
[INFO] [stdout] 
[INFO] [stderr]    |     ------ ^^^^^^^^^^^^^^
[INFO] [stdout] running 36 tests
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AnalyzedStatement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 18 -     Return(AnalyzedReturn),
[INFO] [stderr] 18 +     Return(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `destination` and `expression` are never read
[INFO] [stderr]   --> src/semantics/statement.rs:61:9
[INFO] [stderr]    |
[INFO] [stderr] 60 | pub struct AnalyzedAssignment {
[INFO] [stderr]    |            ------------------ fields in this struct
[INFO] [stderr] 61 |     pub destination: AnalyzedDestination,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] 62 |     pub expression: AnalyzedExpression,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AnalyzedAssignment` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `identifier` and `expression` are never read
[INFO] [stderr]   --> src/semantics/statement.rs:93:9
[INFO] [stderr]    |
[INFO] [stderr] 92 | pub struct AnalyzedDestination {
[INFO] [stderr]    |            ------------------- fields in this struct
[INFO] [stderr] 93 |     pub identifier: String,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 94 |     pub expression: Option<AnalyzedExpression>,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AnalyzedDestination` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `conditional_expr`, `then_block`, and `else_block` are never read
[INFO] [stderr]    --> src/semantics/statement.rs:138:9
[INFO] [stderr]     |
[INFO] [stderr] 137 | pub struct AnalyzedIf {
[INFO] [stderr]     |            ---------- fields in this struct
[INFO] [stderr] 138 |     pub conditional_expr: AnalyzedExpression,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 139 |     pub then_block: AnalyzedBlock,
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr] 140 |     pub else_block: Option<AnalyzedBlock>,
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedIf` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `assignment`, `condition`, and `loop_body` are never read
[INFO] [stderr]    --> src/semantics/statement.rs:166:9
[INFO] [stderr]     |
[INFO] [stderr] 165 | pub struct AnalyzedLoop {
[INFO] [stderr]     |            ------------ fields in this struct
[INFO] [stderr] 166 |     pub assignment: Box<AnalyzedAssignment>,
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr] 167 |     pub condition: AnalyzedExpression,
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr] 168 |     pub loop_body: AnalyzedBlock,
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedLoop` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `expression` is never read
[INFO] [stderr]    --> src/semantics/statement.rs:193:9
[INFO] [stderr]     |
[INFO] [stderr] 192 | pub struct AnalyzedReturn {
[INFO] [stderr]     |            -------------- field in this struct
[INFO] [stderr] 193 |     pub expression: AnalyzedExpression,
[INFO] [stderr]     |         ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `AnalyzedReturn` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: `crust` (bin "crust" test) generated 67 warnings (run `cargo fix --bin "crust" -p crust --tests` to apply 17 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.09s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/crust-8193d7492b9ba672)
[INFO] [stdout] test compile_test_correct::source_file_08_tests_correct_test1b_src ... FAILED
[INFO] [stdout] test compile_test_incorrect::source_file_1_tests_incorrect_test1_src ... FAILED
[INFO] [stdout] test compile_test_correct::source_file_01_tests_correct_iterativeFib_src ... FAILED
[INFO] [stdout] test compile_test_correct::source_file_07_tests_correct_test1_src ... FAILED
[INFO] [stdout] test compile_test_correct::source_file_02_tests_correct_logicals_src ... ok
[INFO] [stdout] test compile_test_correct::source_file_09_tests_correct_test2_src ... ok
[INFO] [stdout] test compile_test_correct::source_file_05_tests_correct_recursiveFib_src ... ok
[INFO] [stdout] test compile_test_correct::source_file_11_tests_correct_test_program_minimal_src ... ok
[INFO] [stdout] test compile_test_correct::source_file_06_tests_correct_source_src ... ok
[INFO] [stdout] test compile_test_incorrect::source_file_2_tests_incorrect_test1b_src ... FAILED
[INFO] [stdout] test compile_test_incorrect::source_file_3_tests_incorrect_test2_src ... FAILED
[INFO] [stdout] test scanner::stripper::strip_comment_test::source_file_02_tests_correct_logicals_src ... ok
[INFO] [stdout] test scanner::stripper::strip_comment_test::source_file_06_tests_correct_source_src ... ok
[INFO] [stdout] test scanner::stripper::strip_comment_test::source_file_01_tests_correct_iterativeFib_src ... ok
[INFO] [stdout] test scanner::stripper::strip_comment_test::source_file_03_tests_correct_math_src ... ok
[INFO] [stdout] test scanner::stripper::strip_comment_test::source_file_04_tests_correct_multipleProcs_src ... ok
[INFO] [stdout] test scanner::stripper::strip_comment_test::source_file_09_tests_correct_test2_src ... ok
[INFO] [stdout] test scanner::stripper::strip_comment_test::source_file_08_tests_correct_test1b_src ... ok
[INFO] [stdout] test scanner::stripper::strip_comment_test::source_file_11_tests_correct_test_program_minimal_src ... ok
[INFO] [stdout] test scanner::stripper::strip_comment_test::source_file_10_tests_correct_test_heap_src ... ok
[INFO] [stdout] test scanner::stripper::strip_comment_test::source_file_07_tests_correct_test1_src ... ok
[INFO] [stdout] test scanner::test_scan::path_02_tests_correct_logicals_src ... ok
[INFO] [stdout] test scanner::test_scan::path_01_tests_correct_iterativeFib_src ... ok
[INFO] [stdout] test scanner::test_scan::path_03_tests_correct_math_src ... ok
[INFO] [stdout] test compile_test_correct::source_file_10_tests_correct_test_heap_src ... ok
[INFO] [stdout] test scanner::stripper::strip_comment_test::source_file_05_tests_correct_recursiveFib_src ... ok
[INFO] [stdout] test compile_test_correct::source_file_04_tests_correct_multipleProcs_src ... ok
[INFO] [stdout] test compile_test_correct::source_file_03_tests_correct_math_src ... ok
[INFO] [stdout] test scanner::test_scan::path_04_tests_correct_multipleProcs_src ... ok
[INFO] [stdout] test scanner::test_scan::path_10_tests_correct_test_heap_src ... ok
[INFO] [stdout] test scanner::test_scan::path_11_tests_correct_test_program_minimal_src ... ok
[INFO] [stdout] test scanner::test_scan::path_07_tests_correct_test1_src ... ok
[INFO] [stderr] error: test failed, to rerun pass `--bin crust`
[INFO] [stdout] test scanner::test_scan::path_08_tests_correct_test1b_src ... ok
[INFO] [stdout] test scanner::test_scan::path_05_tests_correct_recursiveFib_src ... ok
[INFO] [stdout] test scanner::test_scan::path_06_tests_correct_source_src ... ok
[INFO] [stdout] test scanner::test_scan::path_09_tests_correct_test2_src ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- compile_test_correct::source_file_08_tests_correct_test1b_src stdout ----
[INFO] [stdout] WARNING: Missing terminating period
[INFO] [stdout] Error: SemanticsError(TypeMismatch(Int, Array(Int, 3)))
[INFO] [stdout] 
[INFO] [stdout] ---- compile_test_incorrect::source_file_1_tests_incorrect_test1_src stdout ----
[INFO] [stdout] Error: SemanticsError(Redeclared("zach"))
[INFO] [stdout] 
[INFO] [stdout] ---- compile_test_correct::source_file_01_tests_correct_iterativeFib_src stdout ----
[INFO] [stdout] Error: SemanticsError(TypeMismatch(Int, Array(Int, 2)))
[INFO] [stdout] 
[INFO] [stdout] ---- compile_test_correct::source_file_07_tests_correct_test1_src stdout ----
[INFO] [stdout] Error: SemanticsError(TypeMismatch(Int, Array(Int, 3)))
[INFO] [stdout] 
[INFO] [stdout] ---- compile_test_incorrect::source_file_2_tests_incorrect_test1b_src stdout ----
[INFO] [stdout] WARNING: Missing terminating period
[INFO] [stdout] Error: SemanticsError(UndefinedRef("for_proc"))
[INFO] [stdout] 
[INFO] [stdout] ---- compile_test_incorrect::source_file_3_tests_incorrect_test2_src stdout ----
[INFO] [stdout] Error: ParserError(UnexpectedToken("Colon", Identifier("sult")))
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     compile_test_correct::source_file_01_tests_correct_iterativeFib_src
[INFO] [stdout]     compile_test_correct::source_file_07_tests_correct_test1_src
[INFO] [stdout]     compile_test_correct::source_file_08_tests_correct_test1b_src
[INFO] [stdout]     compile_test_incorrect::source_file_1_tests_incorrect_test1_src
[INFO] [stdout]     compile_test_incorrect::source_file_2_tests_incorrect_test1b_src
[INFO] [stdout]     compile_test_incorrect::source_file_3_tests_incorrect_test2_src
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 30 passed; 6 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "00435540464f9d3354837e36fe5552d88d84e604b95fe3c943609d67cb1e314f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "00435540464f9d3354837e36fe5552d88d84e604b95fe3c943609d67cb1e314f", kill_on_drop: false }`
[INFO] [stdout] 00435540464f9d3354837e36fe5552d88d84e604b95fe3c943609d67cb1e314f
