[INFO] cloning repository https://github.com/hi-brylle/crisp
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hi-brylle/crisp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhi-brylle%2Fcrisp", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhi-brylle%2Fcrisp'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e1f5701691af23e59a2d0dbc8949cd5b12ae6c5a
[INFO] testing hi-brylle/crisp against 1.98.0-beta.1 for beta-1.98-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhi-brylle%2Fcrisp" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/hi-brylle/crisp
[INFO] finished tweaking git repo https://github.com/hi-brylle/crisp
[INFO] tweaked toml for git repo https://github.com/hi-brylle/crisp written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/hi-brylle/crisp on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/hi-brylle/crisp 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" "+1.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 310e6dbcc22f61d4feed3aaf7f041a240c7b99b02c68edde58ce1aa44535641d
[INFO] running `Command { std: "docker" "start" "310e6dbcc22f61d4feed3aaf7f041a240c7b99b02c68edde58ce1aa44535641d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "310e6dbcc22f61d4feed3aaf7f041a240c7b99b02c68edde58ce1aa44535641d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "310e6dbcc22f61d4feed3aaf7f041a240c7b99b02c68edde58ce1aa44535641d" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "310e6dbcc22f61d4feed3aaf7f041a240c7b99b02c68edde58ce1aa44535641d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "310e6dbcc22f61d4feed3aaf7f041a240c7b99b02c68edde58ce1aa44535641d" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.92
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling once_cell v1.20.2
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling syn v2.0.90
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling pest v2.7.14
[INFO] [stderr]    Compiling pest_meta v2.7.14
[INFO] [stderr]    Compiling pest_generator v2.7.14
[INFO] [stderr]    Compiling pest_derive v2.7.14
[INFO] [stderr]    Compiling crisp v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parser.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 |             let mut children = pair.into_inner();
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:137:9
[INFO] [stdout]     |
[INFO] [stdout] 137 |     let mut function_body: FunctionBody = build_function_body_ast(children.next().unwrap());
[INFO] [stdout]     |         ----^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:150:17
[INFO] [stdout]     |
[INFO] [stdout] 150 |             let mut children = pair.into_inner();
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:187:17
[INFO] [stdout]     |
[INFO] [stdout] 187 |             let mut children = pair.into_inner();
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `statements` is never read
[INFO] [stdout]  --> src/ast.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Program {
[INFO] [stdout]   |            ------- field in this struct
[INFO] [stdout] 3 |     pub statements: Vec<Statement>
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Program` 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: field `0` is never read
[INFO] [stdout]  --> src/ast.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 |     AssignmentStmt(Assignment),
[INFO] [stdout]   |     -------------- ^^^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Statement` 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] 8 -     AssignmentStmt(Assignment),
[INFO] [stdout] 8 +     AssignmentStmt(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/ast.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 |     FunctionDefStmt(FunctionDefinition),
[INFO] [stdout]   |     --------------- ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Statement` 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] 9 -     FunctionDefStmt(FunctionDefinition),
[INFO] [stdout] 9 +     FunctionDefStmt(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 |     PrintStmt(Print)
[INFO] [stdout]    |     --------- ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement` 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] 10 -     PrintStmt(Print)
[INFO] [stdout] 10 +     PrintStmt(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `identifier`, `type_annotation`, `rhs`, and `start_pos` are never read
[INFO] [stdout]   --> src/ast.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Assignment {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 15 |     pub identifier: String,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 16 |     pub type_annotation: Option<TypeLiteral>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     pub rhs: ExpressionTerm,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 18 |     pub start_pos: usize
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Assignment` 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 `to_print` is never read
[INFO] [stdout]   --> src/ast.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct Print {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 23 |     pub to_print: Option<ExpressionTerm>
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Print` 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 `function_name`, `function_parameters`, `function_return_type`, and `function_body` are never read
[INFO] [stdout]   --> src/ast.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct FunctionDefinition {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] 28 |     pub function_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 29 |     pub function_parameters: Vec<FunctionParameter>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     pub function_return_type: TypeLiteral,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 31 |     pub function_body: FunctionBody
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FunctionDefinition` 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 `parameter_name` and `parameter_type` are never read
[INFO] [stdout]   --> src/ast.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct FunctionParameter {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 36 |     pub parameter_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 37 |     pub parameter_type: TypeLiteral
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FunctionParameter` 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 `statements` and `return_expression_term` are never read
[INFO] [stdout]   --> src/ast.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct FunctionBody {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 42 |     pub statements: Vec<Statement>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 43 |     pub return_expression_term: Option<ExpressionTerm>
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FunctionBody` 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/ast.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct ExpressionTerm {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 56 |     pub expression: Expression
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExpressionTerm` 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/ast.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 |     Number(f64),
[INFO] [stdout]    |     ------ ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 61 -     Number(f64),
[INFO] [stdout] 61 +     Number(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast.rs:62:14
[INFO] [stdout]    |
[INFO] [stdout] 62 |     Negative(Box<Expression>),
[INFO] [stdout]    |     -------- ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 62 -     Negative(Box<Expression>),
[INFO] [stdout] 62 +     Negative(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast.rs:63:10
[INFO] [stdout]    |
[INFO] [stdout] 63 |     Plus(Box<Expression>, Box<Expression>),
[INFO] [stdout]    |     ---- ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 63 -     Plus(Box<Expression>, Box<Expression>),
[INFO] [stdout] 63 +     Plus((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast.rs:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 |     Minus(Box<Expression>, Box<Expression>),
[INFO] [stdout]    |     ----- ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 64 -     Minus(Box<Expression>, Box<Expression>),
[INFO] [stdout] 64 +     Minus((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast.rs:65:11
[INFO] [stdout]    |
[INFO] [stdout] 65 |     Times(Box<Expression>, Box<Expression>),
[INFO] [stdout]    |     ----- ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 65 -     Times(Box<Expression>, Box<Expression>),
[INFO] [stdout] 65 +     Times((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 |     Divide(Box<Expression>, Box<Expression>),
[INFO] [stdout]    |     ------ ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 66 -     Divide(Box<Expression>, Box<Expression>),
[INFO] [stdout] 66 +     Divide((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 |     IsEqual(Box<Expression>, Box<Expression>),
[INFO] [stdout]    |     ------- ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 67 -     IsEqual(Box<Expression>, Box<Expression>),
[INFO] [stdout] 67 +     IsEqual((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast.rs:68:14
[INFO] [stdout]    |
[INFO] [stdout] 68 |     NotEqual(Box<Expression>, Box<Expression>),
[INFO] [stdout]    |     -------- ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 68 -     NotEqual(Box<Expression>, Box<Expression>),
[INFO] [stdout] 68 +     NotEqual((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast.rs:69:14
[INFO] [stdout]    |
[INFO] [stdout] 69 |     LessThan(Box<Expression>, Box<Expression>),
[INFO] [stdout]    |     -------- ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 69 -     LessThan(Box<Expression>, Box<Expression>),
[INFO] [stdout] 69 +     LessThan((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast.rs:70:21
[INFO] [stdout]    |
[INFO] [stdout] 70 |     LessThanOrEqual(Box<Expression>, Box<Expression>),
[INFO] [stdout]    |     --------------- ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 70 -     LessThanOrEqual(Box<Expression>, Box<Expression>),
[INFO] [stdout] 70 +     LessThanOrEqual((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast.rs:71:17
[INFO] [stdout]    |
[INFO] [stdout] 71 |     GreaterThan(Box<Expression>, Box<Expression>),
[INFO] [stdout]    |     ----------- ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 71 -     GreaterThan(Box<Expression>, Box<Expression>),
[INFO] [stdout] 71 +     GreaterThan((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast.rs:72:24
[INFO] [stdout]    |
[INFO] [stdout] 72 |     GreaterThanOrEqual(Box<Expression>, Box<Expression>),
[INFO] [stdout]    |     ------------------ ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 72 -     GreaterThanOrEqual(Box<Expression>, Box<Expression>),
[INFO] [stdout] 72 +     GreaterThanOrEqual((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |     Boolean(bool),
[INFO] [stdout]    |     ------- ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 74 -     Boolean(bool),
[INFO] [stdout] 74 +     Boolean(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |     Not(Box<Expression>),
[INFO] [stdout]    |     --- ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 75 -     Not(Box<Expression>),
[INFO] [stdout] 75 +     Not(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 |     Or(Box<Expression>, Box<Expression>),
[INFO] [stdout]    |     -- ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 76 -     Or(Box<Expression>, Box<Expression>),
[INFO] [stdout] 76 +     Or((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |     And(Box<Expression>, Box<Expression>),
[INFO] [stdout]    |     --- ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 77 -     And(Box<Expression>, Box<Expression>),
[INFO] [stdout] 77 +     And((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast.rs:79:11
[INFO] [stdout]    |
[INFO] [stdout] 79 |     Ident(Identifier),
[INFO] [stdout]    |     ----- ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 79 -     Ident(Identifier),
[INFO] [stdout] 79 +     Ident(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast.rs:81:18
[INFO] [stdout]    |
[INFO] [stdout] 81 |     FunctionCall(FunctionCall),
[INFO] [stdout]    |     ------------ ^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 81 -     FunctionCall(FunctionCall),
[INFO] [stdout] 81 +     FunctionCall(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast.rs:83:22
[INFO] [stdout]    |
[INFO] [stdout] 83 |     IfElseExpression(IfElseExpression),
[INFO] [stdout]    |     ---------------- ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 83 -     IfElseExpression(IfElseExpression),
[INFO] [stdout] 83 +     IfElseExpression(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast.rs:85:19
[INFO] [stdout]    |
[INFO] [stdout] 85 |     StringLiteral(String)
[INFO] [stdout]    |     ------------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 85 -     StringLiteral(String)
[INFO] [stdout] 85 +     StringLiteral(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `identifier_name` and `start_pos` are never read
[INFO] [stdout]   --> src/ast.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct Identifier {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 90 |     pub identifier_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     pub start_pos: usize
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Identifier` 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 `function_name` and `function_arguments` are never read
[INFO] [stdout]   --> src/ast.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub struct FunctionCall {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 96 |     pub function_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 97 |     pub function_arguments: Vec<Expression>
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FunctionCall` 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 `predicate`, `true_branch`, and `false_branch` are never read
[INFO] [stdout]    --> src/ast.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct IfElseExpression {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 102 |     pub predicate: Box<Expression>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 103 |     pub true_branch: Box<Expression>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 104 |     pub false_branch: Box<Expression>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `IfElseExpression` 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 10.50s
[INFO] running `Command { std: "docker" "inspect" "310e6dbcc22f61d4feed3aaf7f041a240c7b99b02c68edde58ce1aa44535641d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "310e6dbcc22f61d4feed3aaf7f041a240c7b99b02c68edde58ce1aa44535641d" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling crisp v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/parser.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 |             let mut children = pair.into_inner();
[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: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:137:9
[INFO] [stdout]     |
[INFO] [stdout] 137 |     let mut function_body: FunctionBody = build_function_body_ast(children.next().unwrap());
[INFO] [stdout]     |         ----^^^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:150:17
[INFO] [stdout]     |
[INFO] [stdout] 150 |             let mut children = pair.into_inner();
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/parser.rs:187:17
[INFO] [stdout]     |
[INFO] [stdout] 187 |             let mut children = pair.into_inner();
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `statements` is never read
[INFO] [stdout]  --> src/ast.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Program {
[INFO] [stdout]   |            ------- field in this struct
[INFO] [stdout] 3 |     pub statements: Vec<Statement>
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Program` 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: field `0` is never read
[INFO] [stdout]  --> src/ast.rs:8:20
[INFO] [stdout]   |
[INFO] [stdout] 8 |     AssignmentStmt(Assignment),
[INFO] [stdout]   |     -------------- ^^^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Statement` 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] 8 -     AssignmentStmt(Assignment),
[INFO] [stdout] 8 +     AssignmentStmt(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/ast.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 |     FunctionDefStmt(FunctionDefinition),
[INFO] [stdout]   |     --------------- ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Statement` 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] 9 -     FunctionDefStmt(FunctionDefinition),
[INFO] [stdout] 9 +     FunctionDefStmt(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast.rs:10:15
[INFO] [stdout]    |
[INFO] [stdout] 10 |     PrintStmt(Print)
[INFO] [stdout]    |     --------- ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement` 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] 10 -     PrintStmt(Print)
[INFO] [stdout] 10 +     PrintStmt(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `identifier`, `type_annotation`, `rhs`, and `start_pos` are never read
[INFO] [stdout]   --> src/ast.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Assignment {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 15 |     pub identifier: String,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 16 |     pub type_annotation: Option<TypeLiteral>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     pub rhs: ExpressionTerm,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 18 |     pub start_pos: usize
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Assignment` 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 `to_print` is never read
[INFO] [stdout]   --> src/ast.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct Print {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 23 |     pub to_print: Option<ExpressionTerm>
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Print` 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 `function_name`, `function_parameters`, `function_return_type`, and `function_body` are never read
[INFO] [stdout]   --> src/ast.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct FunctionDefinition {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] 28 |     pub function_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 29 |     pub function_parameters: Vec<FunctionParameter>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     pub function_return_type: TypeLiteral,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 31 |     pub function_body: FunctionBody
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FunctionDefinition` 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 `parameter_name` and `parameter_type` are never read
[INFO] [stdout]   --> src/ast.rs:36:9
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub struct FunctionParameter {
[INFO] [stdout]    |            ----------------- fields in this struct
[INFO] [stdout] 36 |     pub parameter_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 37 |     pub parameter_type: TypeLiteral
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FunctionParameter` 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 `statements` and `return_expression_term` are never read
[INFO] [stdout]   --> src/ast.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct FunctionBody {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 42 |     pub statements: Vec<Statement>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 43 |     pub return_expression_term: Option<ExpressionTerm>
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FunctionBody` 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/ast.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 55 | pub struct ExpressionTerm {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 56 |     pub expression: Expression
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExpressionTerm` 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/ast.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 |     Number(f64),
[INFO] [stdout]    |     ------ ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 61 -     Number(f64),
[INFO] [stdout] 61 +     Number(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast.rs:62:14
[INFO] [stdout]    |
[INFO] [stdout] 62 |     Negative(Box<Expression>),
[INFO] [stdout]    |     -------- ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 62 -     Negative(Box<Expression>),
[INFO] [stdout] 62 +     Negative(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast.rs:63:10
[INFO] [stdout]    |
[INFO] [stdout] 63 |     Plus(Box<Expression>, Box<Expression>),
[INFO] [stdout]    |     ---- ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 63 -     Plus(Box<Expression>, Box<Expression>),
[INFO] [stdout] 63 +     Plus((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast.rs:64:11
[INFO] [stdout]    |
[INFO] [stdout] 64 |     Minus(Box<Expression>, Box<Expression>),
[INFO] [stdout]    |     ----- ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 64 -     Minus(Box<Expression>, Box<Expression>),
[INFO] [stdout] 64 +     Minus((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast.rs:65:11
[INFO] [stdout]    |
[INFO] [stdout] 65 |     Times(Box<Expression>, Box<Expression>),
[INFO] [stdout]    |     ----- ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 65 -     Times(Box<Expression>, Box<Expression>),
[INFO] [stdout] 65 +     Times((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 |     Divide(Box<Expression>, Box<Expression>),
[INFO] [stdout]    |     ------ ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 66 -     Divide(Box<Expression>, Box<Expression>),
[INFO] [stdout] 66 +     Divide((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 |     IsEqual(Box<Expression>, Box<Expression>),
[INFO] [stdout]    |     ------- ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 67 -     IsEqual(Box<Expression>, Box<Expression>),
[INFO] [stdout] 67 +     IsEqual((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast.rs:68:14
[INFO] [stdout]    |
[INFO] [stdout] 68 |     NotEqual(Box<Expression>, Box<Expression>),
[INFO] [stdout]    |     -------- ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 68 -     NotEqual(Box<Expression>, Box<Expression>),
[INFO] [stdout] 68 +     NotEqual((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast.rs:69:14
[INFO] [stdout]    |
[INFO] [stdout] 69 |     LessThan(Box<Expression>, Box<Expression>),
[INFO] [stdout]    |     -------- ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 69 -     LessThan(Box<Expression>, Box<Expression>),
[INFO] [stdout] 69 +     LessThan((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast.rs:70:21
[INFO] [stdout]    |
[INFO] [stdout] 70 |     LessThanOrEqual(Box<Expression>, Box<Expression>),
[INFO] [stdout]    |     --------------- ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 70 -     LessThanOrEqual(Box<Expression>, Box<Expression>),
[INFO] [stdout] 70 +     LessThanOrEqual((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast.rs:71:17
[INFO] [stdout]    |
[INFO] [stdout] 71 |     GreaterThan(Box<Expression>, Box<Expression>),
[INFO] [stdout]    |     ----------- ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 71 -     GreaterThan(Box<Expression>, Box<Expression>),
[INFO] [stdout] 71 +     GreaterThan((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast.rs:72:24
[INFO] [stdout]    |
[INFO] [stdout] 72 |     GreaterThanOrEqual(Box<Expression>, Box<Expression>),
[INFO] [stdout]    |     ------------------ ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 72 -     GreaterThanOrEqual(Box<Expression>, Box<Expression>),
[INFO] [stdout] 72 +     GreaterThanOrEqual((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast.rs:74:13
[INFO] [stdout]    |
[INFO] [stdout] 74 |     Boolean(bool),
[INFO] [stdout]    |     ------- ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 74 -     Boolean(bool),
[INFO] [stdout] 74 +     Boolean(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast.rs:75:9
[INFO] [stdout]    |
[INFO] [stdout] 75 |     Not(Box<Expression>),
[INFO] [stdout]    |     --- ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 75 -     Not(Box<Expression>),
[INFO] [stdout] 75 +     Not(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast.rs:76:8
[INFO] [stdout]    |
[INFO] [stdout] 76 |     Or(Box<Expression>, Box<Expression>),
[INFO] [stdout]    |     -- ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 76 -     Or(Box<Expression>, Box<Expression>),
[INFO] [stdout] 76 +     Or((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast.rs:77:9
[INFO] [stdout]    |
[INFO] [stdout] 77 |     And(Box<Expression>, Box<Expression>),
[INFO] [stdout]    |     --- ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 77 -     And(Box<Expression>, Box<Expression>),
[INFO] [stdout] 77 +     And((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast.rs:79:11
[INFO] [stdout]    |
[INFO] [stdout] 79 |     Ident(Identifier),
[INFO] [stdout]    |     ----- ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 79 -     Ident(Identifier),
[INFO] [stdout] 79 +     Ident(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast.rs:81:18
[INFO] [stdout]    |
[INFO] [stdout] 81 |     FunctionCall(FunctionCall),
[INFO] [stdout]    |     ------------ ^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 81 -     FunctionCall(FunctionCall),
[INFO] [stdout] 81 +     FunctionCall(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast.rs:83:22
[INFO] [stdout]    |
[INFO] [stdout] 83 |     IfElseExpression(IfElseExpression),
[INFO] [stdout]    |     ---------------- ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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] 83 -     IfElseExpression(IfElseExpression),
[INFO] [stdout] 83 +     IfElseExpression(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast.rs:85:19
[INFO] [stdout]    |
[INFO] [stdout] 85 |     StringLiteral(String)
[INFO] [stdout]    |     ------------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 85 -     StringLiteral(String)
[INFO] [stdout] 85 +     StringLiteral(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `identifier_name` and `start_pos` are never read
[INFO] [stdout]   --> src/ast.rs:90:9
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct Identifier {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 90 |     pub identifier_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     pub start_pos: usize
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Identifier` 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 `function_name` and `function_arguments` are never read
[INFO] [stdout]   --> src/ast.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub struct FunctionCall {
[INFO] [stdout]    |            ------------ fields in this struct
[INFO] [stdout] 96 |     pub function_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 97 |     pub function_arguments: Vec<Expression>
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FunctionCall` 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 `predicate`, `true_branch`, and `false_branch` are never read
[INFO] [stdout]    --> src/ast.rs:102:9
[INFO] [stdout]     |
[INFO] [stdout] 101 | pub struct IfElseExpression {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 102 |     pub predicate: Box<Expression>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 103 |     pub true_branch: Box<Expression>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 104 |     pub false_branch: Box<Expression>,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `IfElseExpression` 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 0.57s
[INFO] running `Command { std: "docker" "inspect" "310e6dbcc22f61d4feed3aaf7f041a240c7b99b02c68edde58ce1aa44535641d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "310e6dbcc22f61d4feed3aaf7f041a240c7b99b02c68edde58ce1aa44535641d" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/parser.rs:11:17
[INFO] [stderr]    |
[INFO] [stderr] 11 |             let mut children = pair.into_inner();
[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: variable does not need to be mutable
[INFO] [stderr]    --> src/parser.rs:137:9
[INFO] [stderr]     |
[INFO] [stderr] 137 |     let mut function_body: FunctionBody = build_function_body_ast(children.next().unwrap());
[INFO] [stderr]     |         ----^^^^^^^^^^^^^
[INFO] [stderr]     |         |
[INFO] [stderr]     |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/parser.rs:150:17
[INFO] [stderr]     |
[INFO] [stderr] 150 |             let mut children = pair.into_inner();
[INFO] [stderr]     |                 ----^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/parser.rs:187:17
[INFO] [stderr]     |
[INFO] [stderr] 187 |             let mut children = pair.into_inner();
[INFO] [stderr]     |                 ----^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: field `statements` is never read
[INFO] [stderr]  --> src/ast.rs:3:9
[INFO] [stderr]   |
[INFO] [stderr] 2 | pub struct Program {
[INFO] [stderr]   |            ------- field in this struct
[INFO] [stderr] 3 |     pub statements: Vec<Statement>
[INFO] [stderr]   |         ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `Program` 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: field `0` is never read
[INFO] [stderr]  --> src/ast.rs:8:20
[INFO] [stderr]   |
[INFO] [stderr] 8 |     AssignmentStmt(Assignment),
[INFO] [stderr]   |     -------------- ^^^^^^^^^^
[INFO] [stderr]   |     |
[INFO] [stderr]   |     field in this variant
[INFO] [stderr]   |
[INFO] [stderr]   = note: `Statement` 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] 8 -     AssignmentStmt(Assignment),
[INFO] [stderr] 8 +     AssignmentStmt(()),
[INFO] [stderr]   |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]  --> src/ast.rs:9:21
[INFO] [stderr]   |
[INFO] [stderr] 9 |     FunctionDefStmt(FunctionDefinition),
[INFO] [stderr]   |     --------------- ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |     |
[INFO] [stderr]   |     field in this variant
[INFO] [stderr]   |
[INFO] [stderr]   = note: `Statement` 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] 9 -     FunctionDefStmt(FunctionDefinition),
[INFO] [stderr] 9 +     FunctionDefStmt(()),
[INFO] [stderr]   |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/ast.rs:10:15
[INFO] [stderr]    |
[INFO] [stderr] 10 |     PrintStmt(Print)
[INFO] [stderr]    |     --------- ^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Statement` 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] 10 -     PrintStmt(Print)
[INFO] [stderr] 10 +     PrintStmt(())
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `identifier`, `type_annotation`, `rhs`, and `start_pos` are never read
[INFO] [stderr]   --> src/ast.rs:15:9
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub struct Assignment {
[INFO] [stderr]    |            ---------- fields in this struct
[INFO] [stderr] 15 |     pub identifier: String,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 16 |     pub type_annotation: Option<TypeLiteral>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 17 |     pub rhs: ExpressionTerm,
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 18 |     pub start_pos: usize
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Assignment` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `to_print` is never read
[INFO] [stderr]   --> src/ast.rs:23:9
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub struct Print {
[INFO] [stderr]    |            ----- field in this struct
[INFO] [stderr] 23 |     pub to_print: Option<ExpressionTerm>
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Print` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `function_name`, `function_parameters`, `function_return_type`, and `function_body` are never read
[INFO] [stderr]   --> src/ast.rs:28:9
[INFO] [stderr]    |
[INFO] [stderr] 27 | pub struct FunctionDefinition {
[INFO] [stderr]    |            ------------------ fields in this struct
[INFO] [stderr] 28 |     pub function_name: String,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] 29 |     pub function_parameters: Vec<FunctionParameter>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 30 |     pub function_return_type: TypeLiteral,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 31 |     pub function_body: FunctionBody
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `FunctionDefinition` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `parameter_name` and `parameter_type` are never read
[INFO] [stderr]   --> src/ast.rs:36:9
[INFO] [stderr]    |
[INFO] [stderr] 35 | pub struct FunctionParameter {
[INFO] [stderr]    |            ----------------- fields in this struct
[INFO] [stderr] 36 |     pub parameter_name: String,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr] 37 |     pub parameter_type: TypeLiteral
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `FunctionParameter` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `statements` and `return_expression_term` are never read
[INFO] [stderr]   --> src/ast.rs:42:9
[INFO] [stderr]    |
[INFO] [stderr] 41 | pub struct FunctionBody {
[INFO] [stderr]    |            ------------ fields in this struct
[INFO] [stderr] 42 |     pub statements: Vec<Statement>,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 43 |     pub return_expression_term: Option<ExpressionTerm>
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `FunctionBody` 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/ast.rs:56:9
[INFO] [stderr]    |
[INFO] [stderr] 55 | pub struct ExpressionTerm {
[INFO] [stderr]    |            -------------- field in this struct
[INFO] [stderr] 56 |     pub expression: Expression
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ExpressionTerm` 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/ast.rs:61:12
[INFO] [stderr]    |
[INFO] [stderr] 61 |     Number(f64),
[INFO] [stderr]    |     ------ ^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Expression` 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] 61 -     Number(f64),
[INFO] [stderr] 61 +     Number(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/ast.rs:62:14
[INFO] [stderr]    |
[INFO] [stderr] 62 |     Negative(Box<Expression>),
[INFO] [stderr]    |     -------- ^^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Expression` 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] 62 -     Negative(Box<Expression>),
[INFO] [stderr] 62 +     Negative(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]   --> src/ast.rs:63:10
[INFO] [stderr]    |
[INFO] [stderr] 63 |     Plus(Box<Expression>, Box<Expression>),
[INFO] [stderr]    |     ---- ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     fields in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Expression` 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] 63 -     Plus(Box<Expression>, Box<Expression>),
[INFO] [stderr] 63 +     Plus((), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]   --> src/ast.rs:64:11
[INFO] [stderr]    |
[INFO] [stderr] 64 |     Minus(Box<Expression>, Box<Expression>),
[INFO] [stderr]    |     ----- ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     fields in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Expression` 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] 64 -     Minus(Box<Expression>, Box<Expression>),
[INFO] [stderr] 64 +     Minus((), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]   --> src/ast.rs:65:11
[INFO] [stderr]    |
[INFO] [stderr] 65 |     Times(Box<Expression>, Box<Expression>),
[INFO] [stderr]    |     ----- ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     fields in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Expression` 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] 65 -     Times(Box<Expression>, Box<Expression>),
[INFO] [stderr] 65 +     Times((), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]   --> src/ast.rs:66:12
[INFO] [stderr]    |
[INFO] [stderr] 66 |     Divide(Box<Expression>, Box<Expression>),
[INFO] [stderr]    |     ------ ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     fields in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Expression` 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] 66 -     Divide(Box<Expression>, Box<Expression>),
[INFO] [stderr] 66 +     Divide((), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]   --> src/ast.rs:67:13
[INFO] [stderr]    |
[INFO] [stderr] 67 |     IsEqual(Box<Expression>, Box<Expression>),
[INFO] [stderr]    |     ------- ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     fields in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Expression` 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] 67 -     IsEqual(Box<Expression>, Box<Expression>),
[INFO] [stderr] 67 +     IsEqual((), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]   --> src/ast.rs:68:14
[INFO] [stderr]    |
[INFO] [stderr] 68 |     NotEqual(Box<Expression>, Box<Expression>),
[INFO] [stderr]    |     -------- ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     fields in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Expression` 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] 68 -     NotEqual(Box<Expression>, Box<Expression>),
[INFO] [stderr] 68 +     NotEqual((), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]   --> src/ast.rs:69:14
[INFO] [stderr]    |
[INFO] [stderr] 69 |     LessThan(Box<Expression>, Box<Expression>),
[INFO] [stderr]    |     -------- ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     fields in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Expression` 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] 69 -     LessThan(Box<Expression>, Box<Expression>),
[INFO] [stderr] 69 +     LessThan((), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]   --> src/ast.rs:70:21
[INFO] [stderr]    |
[INFO] [stderr] 70 |     LessThanOrEqual(Box<Expression>, Box<Expression>),
[INFO] [stderr]    |     --------------- ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     fields in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Expression` 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] 70 -     LessThanOrEqual(Box<Expression>, Box<Expression>),
[INFO] [stderr] 70 +     LessThanOrEqual((), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]   --> src/ast.rs:71:17
[INFO] [stderr]    |
[INFO] [stderr] 71 |     GreaterThan(Box<Expression>, Box<Expression>),
[INFO] [stderr]    |     ----------- ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     fields in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Expression` 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] 71 -     GreaterThan(Box<Expression>, Box<Expression>),
[INFO] [stderr] 71 +     GreaterThan((), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]   --> src/ast.rs:72:24
[INFO] [stderr]    |
[INFO] [stderr] 72 |     GreaterThanOrEqual(Box<Expression>, Box<Expression>),
[INFO] [stderr]    |     ------------------ ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     fields in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Expression` 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] 72 -     GreaterThanOrEqual(Box<Expression>, Box<Expression>),
[INFO] [stderr] 72 +     GreaterThanOrEqual((), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/ast.rs:74:13
[INFO] [stderr]    |
[INFO] [stderr] 74 |     Boolean(bool),
[INFO] [stderr]    |     ------- ^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Expression` 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] 74 -     Boolean(bool),
[INFO] [stderr] 74 +     Boolean(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/ast.rs:75:9
[INFO] [stderr]    |
[INFO] [stderr] 75 |     Not(Box<Expression>),
[INFO] [stderr]    |     --- ^^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Expression` 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] 75 -     Not(Box<Expression>),
[INFO] [stderr] 75 +     Not(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]   --> src/ast.rs:76:8
[INFO] [stderr]    |
[INFO] [stderr] 76 |     Or(Box<Expression>, Box<Expression>),
[INFO] [stderr]    |     -- ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stderr]    |     |
[INFO] [stdout] running 0 tests
[INFO] [stderr]    |     fields in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Expression` 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] 76 -     Or(Box<Expression>, Box<Expression>),
[INFO] [stderr] 76 +     Or((), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]   --> src/ast.rs:77:9
[INFO] [stderr]    |
[INFO] [stderr] 77 |     And(Box<Expression>, Box<Expression>),
[INFO] [stderr]    |     --- ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     fields in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Expression` 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] 77 -     And(Box<Expression>, Box<Expression>),
[INFO] [stderr] 77 +     And((), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/ast.rs:79:11
[INFO] [stderr]    |
[INFO] [stderr] 79 |     Ident(Identifier),
[INFO] [stderr]    |     ----- ^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[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] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stderr]    |
[INFO] [stdout] 
[INFO] [stderr] 79 -     Ident(Identifier),
[INFO] [stderr] 79 +     Ident(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/ast.rs:81:18
[INFO] [stderr]    |
[INFO] [stderr] 81 |     FunctionCall(FunctionCall),
[INFO] [stderr]    |     ------------ ^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Expression` 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] 81 -     FunctionCall(FunctionCall),
[INFO] [stderr] 81 +     FunctionCall(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/ast.rs:83:22
[INFO] [stderr]    |
[INFO] [stderr] 83 |     IfElseExpression(IfElseExpression),
[INFO] [stderr]    |     ---------------- ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Expression` 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] 83 -     IfElseExpression(IfElseExpression),
[INFO] [stderr] 83 +     IfElseExpression(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/ast.rs:85:19
[INFO] [stderr]    |
[INFO] [stderr] 85 |     StringLiteral(String)
[INFO] [stderr]    |     ------------- ^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Expression` 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] 85 -     StringLiteral(String)
[INFO] [stderr] 85 +     StringLiteral(())
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `identifier_name` and `start_pos` are never read
[INFO] [stderr]   --> src/ast.rs:90:9
[INFO] [stderr]    |
[INFO] [stderr] 89 | pub struct Identifier {
[INFO] [stderr]    |            ---------- fields in this struct
[INFO] [stderr] 90 |     pub identifier_name: String,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^
[INFO] [stderr] 91 |     pub start_pos: usize
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Identifier` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `function_name` and `function_arguments` are never read
[INFO] [stderr]   --> src/ast.rs:96:9
[INFO] [stderr]    |
[INFO] [stderr] 95 | pub struct FunctionCall {
[INFO] [stderr]    |            ------------ fields in this struct
[INFO] [stderr] 96 |     pub function_name: String,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] 97 |     pub function_arguments: Vec<Expression>
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `FunctionCall` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `predicate`, `true_branch`, and `false_branch` are never read
[INFO] [stderr]    --> src/ast.rs:102:9
[INFO] [stderr]     |
[INFO] [stderr] 101 | pub struct IfElseExpression {
[INFO] [stderr]     |            ---------------- fields in this struct
[INFO] [stderr] 102 |     pub predicate: Box<Expression>,
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr] 103 |     pub true_branch: Box<Expression>,
[INFO] [stderr]     |         ^^^^^^^^^^^
[INFO] [stderr] 104 |     pub false_branch: Box<Expression>,
[INFO] [stderr]     |         ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `IfElseExpression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: `crisp` (bin "crisp" test) generated 37 warnings (run `cargo fix --bin "crisp" -p crisp --tests` to apply 4 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/crisp-19c726204d309829)
[INFO] running `Command { std: "docker" "inspect" "310e6dbcc22f61d4feed3aaf7f041a240c7b99b02c68edde58ce1aa44535641d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "310e6dbcc22f61d4feed3aaf7f041a240c7b99b02c68edde58ce1aa44535641d", kill_on_drop: false }`
[INFO] [stdout] 310e6dbcc22f61d4feed3aaf7f041a240c7b99b02c68edde58ce1aa44535641d
