[INFO] cloning repository https://github.com/Amejonah1200/aplang
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Amejonah1200/aplang" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAmejonah1200%2Faplang", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAmejonah1200%2Faplang'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e9862b1aaa197b5e60fa8701dc1e225c804ff674
[INFO] testing Amejonah1200/aplang against master#d98a5da813da67eb189387b8ccfb73cf481275d8+rustflags=-Copt-level=3 for pr-138759
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAmejonah1200%2Faplang" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Amejonah1200/aplang
[INFO] finished tweaking git repo https://github.com/Amejonah1200/aplang
[INFO] tweaked toml for git repo https://github.com/Amejonah1200/aplang written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Amejonah1200/aplang on toolchain d98a5da813da67eb189387b8ccfb73cf481275d8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Amejonah1200/aplang 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" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded regex v1.4.5
[INFO] [stderr]   Downloaded regex-syntax v0.6.23
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ac13e7b20599d82956cfcc59018872442ce7f0ca1d9140fa3a2f1bb3fb1f3dfb
[INFO] running `Command { std: "docker" "start" "-a" "ac13e7b20599d82956cfcc59018872442ce7f0ca1d9140fa3a2f1bb3fb1f3dfb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ac13e7b20599d82956cfcc59018872442ce7f0ca1d9140fa3a2f1bb3fb1f3dfb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ac13e7b20599d82956cfcc59018872442ce7f0ca1d9140fa3a2f1bb3fb1f3dfb", kill_on_drop: false }`
[INFO] [stdout] ac13e7b20599d82956cfcc59018872442ce7f0ca1d9140fa3a2f1bb3fb1f3dfb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d984e347ab0dbd1e76fe917d0ae59f8eac7583ff03d7f521dafb8696b0eabbe4
[INFO] running `Command { std: "docker" "start" "-a" "d984e347ab0dbd1e76fe917d0ae59f8eac7583ff03d7f521dafb8696b0eabbe4", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.24
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling syn v1.0.60
[INFO] [stderr]    Compiling regex-syntax v0.6.23
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling aho-corasick v0.7.15
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]    Compiling regex v1.4.5
[INFO] [stderr]    Compiling num-derive v0.3.3
[INFO] [stderr]    Compiling aplang v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/scanner/parser.rs:266:22
[INFO] [stdout]     |
[INFO] [stdout] 266 |             pos_x += (scanner.pos_get() - post_set!(pos_temp, scanner.pos_get()));
[INFO] [stdout]     |                      ^                                                          ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 266 -             pos_x += (scanner.pos_get() - post_set!(pos_temp, scanner.pos_get()));
[INFO] [stdout] 266 +             pos_x += scanner.pos_get() - post_set!(pos_temp, scanner.pos_get());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/scanner/parser.rs:272:22
[INFO] [stdout]     |
[INFO] [stdout] 272 |             pos_x += (scanner.pos_get() - post_set!(pos_temp, scanner.pos_get()));
[INFO] [stdout]     |                      ^                                                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 272 -             pos_x += (scanner.pos_get() - post_set!(pos_temp, scanner.pos_get()));
[INFO] [stdout] 272 +             pos_x += scanner.pos_get() - post_set!(pos_temp, scanner.pos_get());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ast::expr::Type::Primitive`
[INFO] [stdout]   --> src/ast/ast.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::ast::expr::Type::Primitive;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::scanner::token::PrimitiveTypeKeyword::Int`
[INFO] [stdout]   --> src/ast/ast.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::scanner::token::PrimitiveTypeKeyword::Int;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Keyword`
[INFO] [stdout]  --> src/ast/expr.rs:4:44
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::scanner::token::{GriddedObject, Keyword, PrimitiveTypeKeyword, Token};
[INFO] [stdout]   |                                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToPrimitive`
[INFO] [stdout]  --> src/scanner/token.rs:5:33
[INFO] [stdout]   |
[INFO] [stdout] 5 | use num_traits::{FromPrimitive, ToPrimitive};
[INFO] [stdout]   |                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ast/ast.rs:518:11
[INFO] [stdout]     |
[INFO] [stdout] 518 |       let mut token;
[INFO] [stdout]     |           ----^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ast/ast.rs:904:9
[INFO] [stdout]     |
[INFO] [stdout] 904 |     let mut decisive_token = self.scanner.peek_or_eof().clone();
[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/ast/ast.rs:1037:9
[INFO] [stdout]      |
[INFO] [stdout] 1037 |     let mut temp = self.scanner.peek_or_eof();
[INFO] [stdout]      |         ----^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `peek_search_ignore`, `peek_is_eof`, `pos_reset`, `pos_is_eof`, and `pos_set` are never used
[INFO] [stdout]    --> src/scanner/scanner.rs:48:10
[INFO] [stdout]     |
[INFO] [stdout] 13  | impl<'a, T> Scanner<'a, T> {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 48  |   pub fn peek_search_ignore<F1, F2>(&mut self, ignore: F1, predicate: F2) -> bool
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85  |   pub fn peek_is_eof(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |   pub fn pos_reset(&mut self) {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |   pub fn pos_is_eof(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |   pub fn pos_set(&mut self, pos: usize) {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `consume_chars`, `peek_chars`, and `peek_search_chars` are never used
[INFO] [stdout]    --> src/scanner/scanner.rs:178:10
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl<'a> Scanner<'a, char> {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 178 |   pub fn consume_chars(&mut self, nb: usize, fail_on_not_reach: bool) -> Option<std::string::String> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |   pub fn peek_chars(&mut self, nb: usize, fail_on_not_reach: bool) -> Option<std::string::String> {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |   pub fn peek_search_chars<F>(&mut self, predicate: F) -> std::string::String
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `peek_rewind_not_eof`, `consume_or_eof`, `consume_rewind_not_eof`, `consume_coords`, and `consume_next_coords` are never used
[INFO] [stdout]    --> src/scanner/scanner.rs:224:10
[INFO] [stdout]     |
[INFO] [stdout] 213 | impl<'a> Scanner<'a, GriddedObject<Token>> {
[INFO] [stdout]     | ------------------------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 224 |   pub fn peek_rewind_not_eof(&mut self, amount: usize) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |   pub fn consume_or_eof(&mut self) -> &GriddedObject<Token> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 |   pub fn consume_rewind_not_eof(&mut self, amount: usize) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |   pub fn consume_coords(&self) -> [usize; 2] {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 281 |   pub fn consume_next_coords(&self) -> [usize; 2] {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `GreaterGreaterEqual` and `Word` are never constructed
[INFO] [stdout]    --> src/scanner/token.rs:180:3
[INFO] [stdout]     |
[INFO] [stdout] 85  | pub enum Token {
[INFO] [stdout]     |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 180 |   GreaterGreaterEqual,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |   Word(String),
[INFO] [stdout]     |   ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast/expr.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 |   Program(Vec<GriddedObject<Expression>>, Vec<GriddedObject<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] 11 -   Program(Vec<GriddedObject<Expression>>, Vec<GriddedObject<Expression>>),
[INFO] [stdout] 11 +   Program((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, `2`, `3`, `4`, and `5` are never read
[INFO] [stdout]   --> src/ast/expr.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |   ClassDecl(Vec<GriddedObject<Expression>>, Option<Visibility>, GriddedObject<Token>, Option<Vec<GriddedObject<Generic>>>, Option<Vec<GriddedObject<Type>>>, Vec<GriddedObject<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] 21 -   ClassDecl(Vec<GriddedObject<Expression>>, Option<Visibility>, GriddedObject<Token>, Option<Vec<GriddedObject<Generic>>>, Option<Vec<GriddedObject<Type>>>, Vec<GriddedObject<Expression>>),
[INFO] [stdout] 21 +   ClassDecl((), (), (), (), (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/ast/expr.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 |   FunDecl(Vec<GriddedObject<Expression>>, Option<Visibility>, Option<Vec<GriddedObject<Generic>>>, Option<GriddedObject<Type>>, GriddedObject<Token>, Vec<(GriddedObject<Token>, GriddedObject<Type>)>, Box<GriddedObject<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] 25 -   FunDecl(Vec<GriddedObject<Expression>>, Option<Visibility>, Option<Vec<GriddedObject<Generic>>>, Option<GriddedObject<Type>>, GriddedObject<Token>, Vec<(GriddedObject<Token>, GriddedObject<Type>)>, Box<GriddedObject<Expression>>),
[INFO] [stdout] 25 +   FunDecl((), (), (), (), (), (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, `2`, `3`, and `4` are never read
[INFO] [stdout]   --> src/ast/expr.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 |   VarDecl(Vec<GriddedObject<Expression>>, Option<Visibility>, GriddedObject<Type>, GriddedObject<Token>, Option<Box<GriddedObject<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] 29 -   VarDecl(Vec<GriddedObject<Expression>>, Option<Visibility>, GriddedObject<Type>, GriddedObject<Token>, Option<Box<GriddedObject<Expression>>>),
[INFO] [stdout] 29 +   VarDecl((), (), (), (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast/expr.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 |   UseDecl(Vec<GriddedObject<Token>>, bool),
[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] 33 -   UseDecl(Vec<GriddedObject<Token>>, bool),
[INFO] [stdout] 33 +   UseDecl((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast/expr.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 |   ExprStmt(Box<GriddedObject<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] 43 -   ExprStmt(Box<GriddedObject<Expression>>),
[INFO] [stdout] 43 +   ExprStmt(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast/expr.rs:48:11
[INFO] [stdout]    |
[INFO] [stdout] 48 |   ForStmt(For, Box<GriddedObject<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] 48 -   ForStmt(For, Box<GriddedObject<Expression>>),
[INFO] [stdout] 48 +   ForStmt((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]   --> src/ast/expr.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 53 |   IfStmt(Box<GriddedObject<Expression>>, Box<GriddedObject<Expression>>, Option<Box<GriddedObject<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] 53 -   IfStmt(Box<GriddedObject<Expression>>, Box<GriddedObject<Expression>>, Option<Box<GriddedObject<Expression>>>),
[INFO] [stdout] 53 +   IfStmt((), (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast/expr.rs:57:14
[INFO] [stdout]    |
[INFO] [stdout] 57 |   ReturnStmt(Option<Box<GriddedObject<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] 57 -   ReturnStmt(Option<Box<GriddedObject<Expression>>>),
[INFO] [stdout] 57 +   ReturnStmt(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast/expr.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |   BreakStmt(Option<Box<GriddedObject<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] 61 -   BreakStmt(Option<Box<GriddedObject<Expression>>>),
[INFO] [stdout] 61 +   BreakStmt(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast/expr.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |   WhileStmt(Box<GriddedObject<Expression>>, Box<GriddedObject<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 -   WhileStmt(Box<GriddedObject<Expression>>, Box<GriddedObject<Expression>>),
[INFO] [stdout] 65 +   WhileStmt((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast/expr.rs:69:11
[INFO] [stdout]    |
[INFO] [stdout] 69 |   DoWhile(Box<GriddedObject<Expression>>, Box<GriddedObject<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 -   DoWhile(Box<GriddedObject<Expression>>, Box<GriddedObject<Expression>>),
[INFO] [stdout] 69 +   DoWhile((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]   --> src/ast/expr.rs:73:11
[INFO] [stdout]    |
[INFO] [stdout] 73 |   VarStmt(GriddedObject<Token>, Option<GriddedObject<Type>>, Option<Box<GriddedObject<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] 73 -   VarStmt(GriddedObject<Token>, Option<GriddedObject<Type>>, Option<Box<GriddedObject<Expression>>>),
[INFO] [stdout] 73 +   VarStmt((), (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]   --> src/ast/expr.rs:82:14
[INFO] [stdout]    |
[INFO] [stdout] 82 |   Assignment(Box<GriddedObject<Expression>>, GriddedObject<Token>, Box<GriddedObject<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] 82 -   Assignment(Box<GriddedObject<Expression>>, GriddedObject<Token>, Box<GriddedObject<Expression>>),
[INFO] [stdout] 82 +   Assignment((), (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast/expr.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 |   IfNsExpr(Box<GriddedObject<Expression>>, Box<GriddedObject<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] 86 -   IfNsExpr(Box<GriddedObject<Expression>>, Box<GriddedObject<Expression>>),
[INFO] [stdout] 86 +   IfNsExpr((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]   --> src/ast/expr.rs:90:10
[INFO] [stdout]    |
[INFO] [stdout] 90 |   IfExpr(Box<GriddedObject<Expression>>, Box<GriddedObject<Expression>>, Box<GriddedObject<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] 90 -   IfExpr(Box<GriddedObject<Expression>>, Box<GriddedObject<Expression>>, Box<GriddedObject<Expression>>),
[INFO] [stdout] 90 +   IfExpr((), (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast/expr.rs:94:11
[INFO] [stdout]    |
[INFO] [stdout] 94 |   LogicOr(Box<GriddedObject<Expression>>, Vec<GriddedObject<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] 94 -   LogicOr(Box<GriddedObject<Expression>>, Vec<GriddedObject<Expression>>),
[INFO] [stdout] 94 +   LogicOr((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast/expr.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 98 |   LogicAnd(Box<GriddedObject<Expression>>, Vec<GriddedObject<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] 98 -   LogicAnd(Box<GriddedObject<Expression>>, Vec<GriddedObject<Expression>>),
[INFO] [stdout] 98 +   LogicAnd((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/ast/expr.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 102 |   Equality(Box<GriddedObject<Expression>>, Vec<Unary>),
[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] 102 -   Equality(Box<GriddedObject<Expression>>, Vec<Unary>),
[INFO] [stdout] 102 +   Equality((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/ast/expr.rs:106:14
[INFO] [stdout]     |
[INFO] [stdout] 106 |   Comparison(Box<GriddedObject<Expression>>, Vec<Unary>),
[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] 106 -   Comparison(Box<GriddedObject<Expression>>, Vec<Unary>),
[INFO] [stdout] 106 +   Comparison((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/ast/expr.rs:110:8
[INFO] [stdout]     |
[INFO] [stdout] 110 |   Term(Box<GriddedObject<Expression>>, Vec<Unary>),
[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] 110 -   Term(Box<GriddedObject<Expression>>, Vec<Unary>),
[INFO] [stdout] 110 +   Term((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/ast/expr.rs:114:10
[INFO] [stdout]     |
[INFO] [stdout] 114 |   Factor(Box<GriddedObject<Expression>>, Vec<Unary>),
[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] 114 -   Factor(Box<GriddedObject<Expression>>, Vec<Unary>),
[INFO] [stdout] 114 +   Factor((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/ast/expr.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |   BitOp(Box<GriddedObject<Expression>>, Vec<Unary>),
[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] 118 -   BitOp(Box<GriddedObject<Expression>>, Vec<Unary>),
[INFO] [stdout] 118 +   BitOp((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast/expr.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |   UnaryLeft(Unary),
[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] 122 -   UnaryLeft(Unary),
[INFO] [stdout] 122 +   UnaryLeft(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]    --> src/ast/expr.rs:130:8
[INFO] [stdout]     |
[INFO] [stdout] 130 |   Call(Box<GriddedObject<Expression>>, Option<Vec<GriddedObject<Expression>>>, Vec<GriddedObject<Call>>),
[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] 130 -   Call(Box<GriddedObject<Expression>>, Option<Vec<GriddedObject<Expression>>>, Vec<GriddedObject<Call>>),
[INFO] [stdout] 130 +   Call((), (), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/ast/expr.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 138 |   Block(Vec<GriddedObject<Expression>>, Option<Box<GriddedObject<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] 138 -   Block(Vec<GriddedObject<Expression>>, Option<Box<GriddedObject<Expression>>>),
[INFO] [stdout] 138 +   Block((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast/expr.rs:142:12
[INFO] [stdout]     |
[INFO] [stdout] 142 |   LoopExpr(Box<GriddedObject<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] 142 -   LoopExpr(Box<GriddedObject<Expression>>),
[INFO] [stdout] 142 +   LoopExpr(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast/expr.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 146 |   Tuple(Vec<GriddedObject<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] 146 -   Tuple(Vec<GriddedObject<Expression>>),
[INFO] [stdout] 146 +   Tuple(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast/expr.rs:153:19
[INFO] [stdout]     |
[INFO] [stdout] 153 |   MacroAnnotation(MacroAnnotation),
[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] 153 -   MacroAnnotation(MacroAnnotation),
[INFO] [stdout] 153 +   MacroAnnotation(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/ast/expr.rs:157:10
[INFO] [stdout]     |
[INFO] [stdout] 157 |   Lambda(Vec<GriddedObject<Token>>, Box<GriddedObject<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] 157 -   Lambda(Vec<GriddedObject<Token>>, Box<GriddedObject<Expression>>),
[INFO] [stdout] 157 +   Lambda((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Declaration`, `Statement`, and `UnaryRight` are never constructed
[INFO] [stdout]    --> src/ast/expr.rs:16:3
[INFO] [stdout]     |
[INFO] [stdout] 7   | pub enum Expression {
[INFO] [stdout]     |          ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 16  |   Declaration(Box<GriddedObject<Expression>>),
[INFO] [stdout]     |   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39  |   Statement(Box<GriddedObject<Expression>>),
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |   UnaryRight(Unary),
[INFO] [stdout]     |   ^^^^^^^^^^
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `is_annotation`, `path`, `mapping`, and `ids` are never read
[INFO] [stdout]    --> src/ast/expr.rs:179:7
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub struct MacroAnnotation {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 179 |   pub is_annotation: bool,
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 180 |   pub path: Vec<GriddedObject<Token>>,
[INFO] [stdout]     |       ^^^^
[INFO] [stdout] 181 |   pub mapping: HashMap<GriddedObject<Token>, GriddedObject<Token>>,
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout] 182 |   pub ids: Vec<GriddedObject<Token>>,
[INFO] [stdout]     |       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MacroAnnotation` 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/expr.rs:191:11
[INFO] [stdout]     |
[INFO] [stdout] 191 |   Literal(Token),
[INFO] [stdout]     |   ------- ^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Primary` 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] 191 -   Literal(Token),
[INFO] [stdout] 191 +   Literal(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast/expr.rs:199:6
[INFO] [stdout]     |
[INFO] [stdout] 199 |   Id(GriddedObject<Token>),
[INFO] [stdout]     |   -- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Call` 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] 199 -   Id(GriddedObject<Token>),
[INFO] [stdout] 199 +   Id(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/ast/expr.rs:200:15
[INFO] [stdout]     |
[INFO] [stdout] 200 |   IdArguments(GriddedObject<Token>, Vec<GriddedObject<Expression>>),
[INFO] [stdout]     |   ----------- ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Call` 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] 200 -   IdArguments(GriddedObject<Token>, Vec<GriddedObject<Expression>>),
[INFO] [stdout] 200 +   IdArguments((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast/expr.rs:201:15
[INFO] [stdout]     |
[INFO] [stdout] 201 |   ArrayClause(ArrayIndex),
[INFO] [stdout]     |   ----------- ^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Call` 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] 201 -   ArrayClause(ArrayIndex),
[INFO] [stdout] 201 +   ArrayClause(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast/expr.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |   Exact(GriddedObject<Expression>),
[INFO] [stdout]     |   ----- ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ArrayIndex` 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] 206 -   Exact(GriddedObject<Expression>),
[INFO] [stdout] 206 +   Exact(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast/expr.rs:207:9
[INFO] [stdout]     |
[INFO] [stdout] 207 |   Start(GriddedObject<Expression>),
[INFO] [stdout]     |   ----- ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ArrayIndex` 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] 207 -   Start(GriddedObject<Expression>),
[INFO] [stdout] 207 +   Start(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast/expr.rs:208:7
[INFO] [stdout]     |
[INFO] [stdout] 208 |   End(GriddedObject<Expression>),
[INFO] [stdout]     |   --- ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ArrayIndex` 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] 208 -   End(GriddedObject<Expression>),
[INFO] [stdout] 208 +   End(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/ast/expr.rs:209:12
[INFO] [stdout]     |
[INFO] [stdout] 209 |   StartEnd(GriddedObject<Expression>, GriddedObject<Expression>),
[INFO] [stdout]     |   -------- ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ArrayIndex` 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] 209 -   StartEnd(GriddedObject<Expression>, GriddedObject<Expression>),
[INFO] [stdout] 209 +   StartEnd((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/ast/expr.rs:215:14
[INFO] [stdout]     |
[INFO] [stdout] 215 |   ForItrStmt(GriddedObject<Token>, Box<GriddedObject<Expression>>),
[INFO] [stdout]     |   ---------- ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `For` 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] 215 -   ForItrStmt(GriddedObject<Token>, Box<GriddedObject<Expression>>),
[INFO] [stdout] 215 +   ForItrStmt((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ForStmt` is never constructed
[INFO] [stdout]    --> src/ast/expr.rs:214:3
[INFO] [stdout]     |
[INFO] [stdout] 213 | pub enum For {
[INFO] [stdout]     |          --- variant in this enum
[INFO] [stdout] 214 |   ForStmt(Box<GriddedObject<Expression>>, Option<Box<GriddedObject<Expression>>>, Option<Box<GriddedObject<Expression>>>, Box<GriddedObje...
[INFO] [stdout]     |   ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `For` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Comparison` is never constructed
[INFO] [stdout]    --> src/ast/expr.rs:219:12
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub struct Comparison {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/ast/expr.rs:233:10
[INFO] [stdout]     |
[INFO] [stdout] 233 |   Object(Vec<GriddedObject<Token>>, Option<Vec<GriddedObject<Generic>>>),
[INFO] [stdout]     |   ------ ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Type` 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] 233 -   Object(Vec<GriddedObject<Token>>, Option<Vec<GriddedObject<Generic>>>),
[INFO] [stdout] 233 +   Object((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast/expr.rs:234:15
[INFO] [stdout]     |
[INFO] [stdout] 234 |   ObjectTuple(Vec<GriddedObject<Type>>),
[INFO] [stdout]     |   ----------- ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Type` 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] 234 -   ObjectTuple(Vec<GriddedObject<Type>>),
[INFO] [stdout] 234 +   ObjectTuple(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/ast/expr.rs:235:14
[INFO] [stdout]     |
[INFO] [stdout] 235 |   LambdaType(Vec<GriddedObject<Type>>, Box<Option<GriddedObject<Type>>>),
[INFO] [stdout]     |   ---------- ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Type` 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] 235 -   LambdaType(Vec<GriddedObject<Type>>, Box<Option<GriddedObject<Type>>>),
[INFO] [stdout] 235 +   LambdaType((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast/expr.rs:236:13
[INFO] [stdout]     |
[INFO] [stdout] 236 |   Primitive(PrimitiveTypeKeyword),
[INFO] [stdout]     |   --------- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Type` 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] 236 -   Primitive(PrimitiveTypeKeyword),
[INFO] [stdout] 236 +   Primitive(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/ast/expr.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 237 |   Array(Box<GriddedObject<Type>>, Vec<Option<GriddedObject<Token>>>),
[INFO] [stdout]     |   ----- ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Type` 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] 237 -   Array(Box<GriddedObject<Type>>, Vec<Option<GriddedObject<Token>>>),
[INFO] [stdout] 237 +   Array((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `wildcard`, `id`, and `type_ids` are never read
[INFO] [stdout]    --> src/ast/expr.rs:252:7
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub struct Generic {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 252 |   pub wildcard: Wildcard,
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout] 253 |   pub id: Option<GriddedObject<Token>>,
[INFO] [stdout]     |       ^^
[INFO] [stdout] 254 |   pub type_ids: Option<Vec<GriddedObject<Type>>>,
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Generic` 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 `op` and `expr` are never read
[INFO] [stdout]    --> src/ast/expr.rs:265:7
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub struct Unary {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 265 |   pub op: GriddedObject<Token>,
[INFO] [stdout]     |       ^^
[INFO] [stdout] 266 |   pub expr: Box<GriddedObject<Expression>>,
[INFO] [stdout]     |       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Unary` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binary` is never constructed
[INFO] [stdout]    --> src/ast/expr.rs:270:12
[INFO] [stdout]     |
[INFO] [stdout] 270 | pub struct Binary {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print_visualisation_expr` is never used
[INFO] [stdout]   --> src/helper/visualisation.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl<'a> VisualisationPrinter<'a> {
[INFO] [stdout]    | --------------------------------- method in this implementation
[INFO] [stdout] 10 |   pub fn print_visualisation_expr(&self, expr: &GriddedObject<Expression>) {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/scanner/token.rs:281:10
[INFO] [stdout]     |
[INFO] [stdout] 281 | #[derive(ToPrimitive, FromPrimitive, Debug, Clone, Eq, PartialEq, Hash)]
[INFO] [stdout]     |          ^----------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `ToPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_PrimitiveTypeKeyword`
[INFO] [stdout] 282 | pub enum PrimitiveTypeKeyword {
[INFO] [stdout]     |          -------------------- `PrimitiveTypeKeyword` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/scanner/token.rs:281:23
[INFO] [stdout]     |
[INFO] [stdout] 281 | #[derive(ToPrimitive, FromPrimitive, Debug, Clone, Eq, PartialEq, Hash)]
[INFO] [stdout]     |                       ^------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `FromPrimitive` is not local
[INFO] [stdout]     |                       move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_PrimitiveTypeKeyword`
[INFO] [stdout] 282 | pub enum PrimitiveTypeKeyword {
[INFO] [stdout]     |          -------------------- `PrimitiveTypeKeyword` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 42.75s
[INFO] running `Command { std: "docker" "inspect" "d984e347ab0dbd1e76fe917d0ae59f8eac7583ff03d7f521dafb8696b0eabbe4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d984e347ab0dbd1e76fe917d0ae59f8eac7583ff03d7f521dafb8696b0eabbe4", kill_on_drop: false }`
[INFO] [stdout] d984e347ab0dbd1e76fe917d0ae59f8eac7583ff03d7f521dafb8696b0eabbe4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b2edaa5d5b5b436d7b44d5738780742e21b6793a75aaf8db6a10ab3151844ddc
[INFO] running `Command { std: "docker" "start" "-a" "b2edaa5d5b5b436d7b44d5738780742e21b6793a75aaf8db6a10ab3151844ddc", kill_on_drop: false }`
[INFO] [stderr]    Compiling aplang v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/scanner/parser.rs:266:22
[INFO] [stdout]     |
[INFO] [stdout] 266 |             pos_x += (scanner.pos_get() - post_set!(pos_temp, scanner.pos_get()));
[INFO] [stdout]     |                      ^                                                          ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 266 -             pos_x += (scanner.pos_get() - post_set!(pos_temp, scanner.pos_get()));
[INFO] [stdout] 266 +             pos_x += scanner.pos_get() - post_set!(pos_temp, scanner.pos_get());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around assigned value
[INFO] [stdout]    --> src/scanner/parser.rs:272:22
[INFO] [stdout]     |
[INFO] [stdout] 272 |             pos_x += (scanner.pos_get() - post_set!(pos_temp, scanner.pos_get()));
[INFO] [stdout]     |                      ^                                                          ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 272 -             pos_x += (scanner.pos_get() - post_set!(pos_temp, scanner.pos_get()));
[INFO] [stdout] 272 +             pos_x += scanner.pos_get() - post_set!(pos_temp, scanner.pos_get());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::ast::expr::Type::Primitive`
[INFO] [stdout]   --> src/ast/ast.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::ast::expr::Type::Primitive;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::scanner::token::PrimitiveTypeKeyword::Int`
[INFO] [stdout]   --> src/ast/ast.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use crate::scanner::token::PrimitiveTypeKeyword::Int;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Keyword`
[INFO] [stdout]  --> src/ast/expr.rs:4:44
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::scanner::token::{GriddedObject, Keyword, PrimitiveTypeKeyword, Token};
[INFO] [stdout]   |                                            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToPrimitive`
[INFO] [stdout]  --> src/scanner/token.rs:5:33
[INFO] [stdout]   |
[INFO] [stdout] 5 | use num_traits::{FromPrimitive, ToPrimitive};
[INFO] [stdout]   |                                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ast/ast.rs:518:11
[INFO] [stdout]     |
[INFO] [stdout] 518 |       let mut token;
[INFO] [stdout]     |           ----^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ast/ast.rs:904:9
[INFO] [stdout]     |
[INFO] [stdout] 904 |     let mut decisive_token = self.scanner.peek_or_eof().clone();
[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/ast/ast.rs:1037:9
[INFO] [stdout]      |
[INFO] [stdout] 1037 |     let mut temp = self.scanner.peek_or_eof();
[INFO] [stdout]      |         ----^^^^
[INFO] [stdout]      |         |
[INFO] [stdout]      |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `peek_search_ignore`, `peek_is_eof`, `pos_reset`, `pos_is_eof`, and `pos_set` are never used
[INFO] [stdout]    --> src/scanner/scanner.rs:48:10
[INFO] [stdout]     |
[INFO] [stdout] 13  | impl<'a, T> Scanner<'a, T> {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 48  |   pub fn peek_search_ignore<F1, F2>(&mut self, ignore: F1, predicate: F2) -> bool
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85  |   pub fn peek_is_eof(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 115 |   pub fn pos_reset(&mut self) {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |   pub fn pos_is_eof(&self) -> bool {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |   pub fn pos_set(&mut self, pos: usize) {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `consume_chars`, `peek_chars`, and `peek_search_chars` are never used
[INFO] [stdout]    --> src/scanner/scanner.rs:178:10
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl<'a> Scanner<'a, char> {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 178 |   pub fn consume_chars(&mut self, nb: usize, fail_on_not_reach: bool) -> Option<std::string::String> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |   pub fn peek_chars(&mut self, nb: usize, fail_on_not_reach: bool) -> Option<std::string::String> {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |   pub fn peek_search_chars<F>(&mut self, predicate: F) -> std::string::String
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `peek_rewind_not_eof`, `consume_or_eof`, `consume_rewind_not_eof`, `consume_coords`, and `consume_next_coords` are never used
[INFO] [stdout]    --> src/scanner/scanner.rs:224:10
[INFO] [stdout]     |
[INFO] [stdout] 213 | impl<'a> Scanner<'a, GriddedObject<Token>> {
[INFO] [stdout]     | ------------------------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 224 |   pub fn peek_rewind_not_eof(&mut self, amount: usize) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |   pub fn consume_or_eof(&mut self) -> &GriddedObject<Token> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 264 |   pub fn consume_rewind_not_eof(&mut self, amount: usize) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 276 |   pub fn consume_coords(&self) -> [usize; 2] {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 281 |   pub fn consume_next_coords(&self) -> [usize; 2] {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `GreaterGreaterEqual` and `Word` are never constructed
[INFO] [stdout]    --> src/scanner/token.rs:180:3
[INFO] [stdout]     |
[INFO] [stdout] 85  | pub enum Token {
[INFO] [stdout]     |          ----- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 180 |   GreaterGreaterEqual,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 220 |   Word(String),
[INFO] [stdout]     |   ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast/expr.rs:11:11
[INFO] [stdout]    |
[INFO] [stdout] 11 |   Program(Vec<GriddedObject<Expression>>, Vec<GriddedObject<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] 11 -   Program(Vec<GriddedObject<Expression>>, Vec<GriddedObject<Expression>>),
[INFO] [stdout] 11 +   Program((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, `2`, `3`, `4`, and `5` are never read
[INFO] [stdout]   --> src/ast/expr.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |   ClassDecl(Vec<GriddedObject<Expression>>, Option<Visibility>, GriddedObject<Token>, Option<Vec<GriddedObject<Generic>>>, Option<Vec<GriddedObject<Type>>>, Vec<GriddedObject<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] 21 -   ClassDecl(Vec<GriddedObject<Expression>>, Option<Visibility>, GriddedObject<Token>, Option<Vec<GriddedObject<Generic>>>, Option<Vec<GriddedObject<Type>>>, Vec<GriddedObject<Expression>>),
[INFO] [stdout] 21 +   ClassDecl((), (), (), (), (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/ast/expr.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 |   FunDecl(Vec<GriddedObject<Expression>>, Option<Visibility>, Option<Vec<GriddedObject<Generic>>>, Option<GriddedObject<Type>>, GriddedObject<Token>, Vec<(GriddedObject<Token>, GriddedObject<Type>)>, Box<GriddedObject<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] 25 -   FunDecl(Vec<GriddedObject<Expression>>, Option<Visibility>, Option<Vec<GriddedObject<Generic>>>, Option<GriddedObject<Type>>, GriddedObject<Token>, Vec<(GriddedObject<Token>, GriddedObject<Type>)>, Box<GriddedObject<Expression>>),
[INFO] [stdout] 25 +   FunDecl((), (), (), (), (), (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, `2`, `3`, and `4` are never read
[INFO] [stdout]   --> src/ast/expr.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 |   VarDecl(Vec<GriddedObject<Expression>>, Option<Visibility>, GriddedObject<Type>, GriddedObject<Token>, Option<Box<GriddedObject<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] 29 -   VarDecl(Vec<GriddedObject<Expression>>, Option<Visibility>, GriddedObject<Type>, GriddedObject<Token>, Option<Box<GriddedObject<Expression>>>),
[INFO] [stdout] 29 +   VarDecl((), (), (), (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast/expr.rs:33:11
[INFO] [stdout]    |
[INFO] [stdout] 33 |   UseDecl(Vec<GriddedObject<Token>>, bool),
[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] 33 -   UseDecl(Vec<GriddedObject<Token>>, bool),
[INFO] [stdout] 33 +   UseDecl((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast/expr.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 |   ExprStmt(Box<GriddedObject<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] 43 -   ExprStmt(Box<GriddedObject<Expression>>),
[INFO] [stdout] 43 +   ExprStmt(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast/expr.rs:48:11
[INFO] [stdout]    |
[INFO] [stdout] 48 |   ForStmt(For, Box<GriddedObject<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] 48 -   ForStmt(For, Box<GriddedObject<Expression>>),
[INFO] [stdout] 48 +   ForStmt((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]   --> src/ast/expr.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 53 |   IfStmt(Box<GriddedObject<Expression>>, Box<GriddedObject<Expression>>, Option<Box<GriddedObject<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] 53 -   IfStmt(Box<GriddedObject<Expression>>, Box<GriddedObject<Expression>>, Option<Box<GriddedObject<Expression>>>),
[INFO] [stdout] 53 +   IfStmt((), (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast/expr.rs:57:14
[INFO] [stdout]    |
[INFO] [stdout] 57 |   ReturnStmt(Option<Box<GriddedObject<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] 57 -   ReturnStmt(Option<Box<GriddedObject<Expression>>>),
[INFO] [stdout] 57 +   ReturnStmt(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast/expr.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |   BreakStmt(Option<Box<GriddedObject<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] 61 -   BreakStmt(Option<Box<GriddedObject<Expression>>>),
[INFO] [stdout] 61 +   BreakStmt(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast/expr.rs:65:13
[INFO] [stdout]    |
[INFO] [stdout] 65 |   WhileStmt(Box<GriddedObject<Expression>>, Box<GriddedObject<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 -   WhileStmt(Box<GriddedObject<Expression>>, Box<GriddedObject<Expression>>),
[INFO] [stdout] 65 +   WhileStmt((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast/expr.rs:69:11
[INFO] [stdout]    |
[INFO] [stdout] 69 |   DoWhile(Box<GriddedObject<Expression>>, Box<GriddedObject<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 -   DoWhile(Box<GriddedObject<Expression>>, Box<GriddedObject<Expression>>),
[INFO] [stdout] 69 +   DoWhile((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]   --> src/ast/expr.rs:73:11
[INFO] [stdout]    |
[INFO] [stdout] 73 |   VarStmt(GriddedObject<Token>, Option<GriddedObject<Type>>, Option<Box<GriddedObject<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] 73 -   VarStmt(GriddedObject<Token>, Option<GriddedObject<Type>>, Option<Box<GriddedObject<Expression>>>),
[INFO] [stdout] 73 +   VarStmt((), (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]   --> src/ast/expr.rs:82:14
[INFO] [stdout]    |
[INFO] [stdout] 82 |   Assignment(Box<GriddedObject<Expression>>, GriddedObject<Token>, Box<GriddedObject<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] 82 -   Assignment(Box<GriddedObject<Expression>>, GriddedObject<Token>, Box<GriddedObject<Expression>>),
[INFO] [stdout] 82 +   Assignment((), (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast/expr.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 |   IfNsExpr(Box<GriddedObject<Expression>>, Box<GriddedObject<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] 86 -   IfNsExpr(Box<GriddedObject<Expression>>, Box<GriddedObject<Expression>>),
[INFO] [stdout] 86 +   IfNsExpr((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]   --> src/ast/expr.rs:90:10
[INFO] [stdout]    |
[INFO] [stdout] 90 |   IfExpr(Box<GriddedObject<Expression>>, Box<GriddedObject<Expression>>, Box<GriddedObject<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] 90 -   IfExpr(Box<GriddedObject<Expression>>, Box<GriddedObject<Expression>>, Box<GriddedObject<Expression>>),
[INFO] [stdout] 90 +   IfExpr((), (), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast/expr.rs:94:11
[INFO] [stdout]    |
[INFO] [stdout] 94 |   LogicOr(Box<GriddedObject<Expression>>, Vec<GriddedObject<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] 94 -   LogicOr(Box<GriddedObject<Expression>>, Vec<GriddedObject<Expression>>),
[INFO] [stdout] 94 +   LogicOr((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/ast/expr.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 98 |   LogicAnd(Box<GriddedObject<Expression>>, Vec<GriddedObject<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] 98 -   LogicAnd(Box<GriddedObject<Expression>>, Vec<GriddedObject<Expression>>),
[INFO] [stdout] 98 +   LogicAnd((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/ast/expr.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 102 |   Equality(Box<GriddedObject<Expression>>, Vec<Unary>),
[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] 102 -   Equality(Box<GriddedObject<Expression>>, Vec<Unary>),
[INFO] [stdout] 102 +   Equality((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/ast/expr.rs:106:14
[INFO] [stdout]     |
[INFO] [stdout] 106 |   Comparison(Box<GriddedObject<Expression>>, Vec<Unary>),
[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] 106 -   Comparison(Box<GriddedObject<Expression>>, Vec<Unary>),
[INFO] [stdout] 106 +   Comparison((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/ast/expr.rs:110:8
[INFO] [stdout]     |
[INFO] [stdout] 110 |   Term(Box<GriddedObject<Expression>>, Vec<Unary>),
[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] 110 -   Term(Box<GriddedObject<Expression>>, Vec<Unary>),
[INFO] [stdout] 110 +   Term((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/ast/expr.rs:114:10
[INFO] [stdout]     |
[INFO] [stdout] 114 |   Factor(Box<GriddedObject<Expression>>, Vec<Unary>),
[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] 114 -   Factor(Box<GriddedObject<Expression>>, Vec<Unary>),
[INFO] [stdout] 114 +   Factor((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/ast/expr.rs:118:9
[INFO] [stdout]     |
[INFO] [stdout] 118 |   BitOp(Box<GriddedObject<Expression>>, Vec<Unary>),
[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] 118 -   BitOp(Box<GriddedObject<Expression>>, Vec<Unary>),
[INFO] [stdout] 118 +   BitOp((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast/expr.rs:122:13
[INFO] [stdout]     |
[INFO] [stdout] 122 |   UnaryLeft(Unary),
[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] 122 -   UnaryLeft(Unary),
[INFO] [stdout] 122 +   UnaryLeft(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0`, `1`, and `2` are never read
[INFO] [stdout]    --> src/ast/expr.rs:130:8
[INFO] [stdout]     |
[INFO] [stdout] 130 |   Call(Box<GriddedObject<Expression>>, Option<Vec<GriddedObject<Expression>>>, Vec<GriddedObject<Call>>),
[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] 130 -   Call(Box<GriddedObject<Expression>>, Option<Vec<GriddedObject<Expression>>>, Vec<GriddedObject<Call>>),
[INFO] [stdout] 130 +   Call((), (), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/ast/expr.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 138 |   Block(Vec<GriddedObject<Expression>>, Option<Box<GriddedObject<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] 138 -   Block(Vec<GriddedObject<Expression>>, Option<Box<GriddedObject<Expression>>>),
[INFO] [stdout] 138 +   Block((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast/expr.rs:142:12
[INFO] [stdout]     |
[INFO] [stdout] 142 |   LoopExpr(Box<GriddedObject<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] 142 -   LoopExpr(Box<GriddedObject<Expression>>),
[INFO] [stdout] 142 +   LoopExpr(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast/expr.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 146 |   Tuple(Vec<GriddedObject<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] 146 -   Tuple(Vec<GriddedObject<Expression>>),
[INFO] [stdout] 146 +   Tuple(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast/expr.rs:153:19
[INFO] [stdout]     |
[INFO] [stdout] 153 |   MacroAnnotation(MacroAnnotation),
[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] 153 -   MacroAnnotation(MacroAnnotation),
[INFO] [stdout] 153 +   MacroAnnotation(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/ast/expr.rs:157:10
[INFO] [stdout]     |
[INFO] [stdout] 157 |   Lambda(Vec<GriddedObject<Token>>, Box<GriddedObject<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] 157 -   Lambda(Vec<GriddedObject<Token>>, Box<GriddedObject<Expression>>),
[INFO] [stdout] 157 +   Lambda((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Declaration`, `Statement`, and `UnaryRight` are never constructed
[INFO] [stdout]    --> src/ast/expr.rs:16:3
[INFO] [stdout]     |
[INFO] [stdout] 7   | pub enum Expression {
[INFO] [stdout]     |          ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 16  |   Declaration(Box<GriddedObject<Expression>>),
[INFO] [stdout]     |   ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39  |   Statement(Box<GriddedObject<Expression>>),
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |   UnaryRight(Unary),
[INFO] [stdout]     |   ^^^^^^^^^^
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `is_annotation`, `path`, `mapping`, and `ids` are never read
[INFO] [stdout]    --> src/ast/expr.rs:179:7
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub struct MacroAnnotation {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 179 |   pub is_annotation: bool,
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 180 |   pub path: Vec<GriddedObject<Token>>,
[INFO] [stdout]     |       ^^^^
[INFO] [stdout] 181 |   pub mapping: HashMap<GriddedObject<Token>, GriddedObject<Token>>,
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout] 182 |   pub ids: Vec<GriddedObject<Token>>,
[INFO] [stdout]     |       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `MacroAnnotation` 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/expr.rs:191:11
[INFO] [stdout]     |
[INFO] [stdout] 191 |   Literal(Token),
[INFO] [stdout]     |   ------- ^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Primary` 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] 191 -   Literal(Token),
[INFO] [stdout] 191 +   Literal(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast/expr.rs:199:6
[INFO] [stdout]     |
[INFO] [stdout] 199 |   Id(GriddedObject<Token>),
[INFO] [stdout]     |   -- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Call` 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] 199 -   Id(GriddedObject<Token>),
[INFO] [stdout] 199 +   Id(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/ast/expr.rs:200:15
[INFO] [stdout]     |
[INFO] [stdout] 200 |   IdArguments(GriddedObject<Token>, Vec<GriddedObject<Expression>>),
[INFO] [stdout]     |   ----------- ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Call` 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] 200 -   IdArguments(GriddedObject<Token>, Vec<GriddedObject<Expression>>),
[INFO] [stdout] 200 +   IdArguments((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast/expr.rs:201:15
[INFO] [stdout]     |
[INFO] [stdout] 201 |   ArrayClause(ArrayIndex),
[INFO] [stdout]     |   ----------- ^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Call` 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] 201 -   ArrayClause(ArrayIndex),
[INFO] [stdout] 201 +   ArrayClause(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast/expr.rs:206:9
[INFO] [stdout]     |
[INFO] [stdout] 206 |   Exact(GriddedObject<Expression>),
[INFO] [stdout]     |   ----- ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ArrayIndex` 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] 206 -   Exact(GriddedObject<Expression>),
[INFO] [stdout] 206 +   Exact(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast/expr.rs:207:9
[INFO] [stdout]     |
[INFO] [stdout] 207 |   Start(GriddedObject<Expression>),
[INFO] [stdout]     |   ----- ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ArrayIndex` 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] 207 -   Start(GriddedObject<Expression>),
[INFO] [stdout] 207 +   Start(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast/expr.rs:208:7
[INFO] [stdout]     |
[INFO] [stdout] 208 |   End(GriddedObject<Expression>),
[INFO] [stdout]     |   --- ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ArrayIndex` 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] 208 -   End(GriddedObject<Expression>),
[INFO] [stdout] 208 +   End(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/ast/expr.rs:209:12
[INFO] [stdout]     |
[INFO] [stdout] 209 |   StartEnd(GriddedObject<Expression>, GriddedObject<Expression>),
[INFO] [stdout]     |   -------- ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ArrayIndex` 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] 209 -   StartEnd(GriddedObject<Expression>, GriddedObject<Expression>),
[INFO] [stdout] 209 +   StartEnd((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/ast/expr.rs:215:14
[INFO] [stdout]     |
[INFO] [stdout] 215 |   ForItrStmt(GriddedObject<Token>, Box<GriddedObject<Expression>>),
[INFO] [stdout]     |   ---------- ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `For` 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] 215 -   ForItrStmt(GriddedObject<Token>, Box<GriddedObject<Expression>>),
[INFO] [stdout] 215 +   ForItrStmt((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ForStmt` is never constructed
[INFO] [stdout]    --> src/ast/expr.rs:214:3
[INFO] [stdout]     |
[INFO] [stdout] 213 | pub enum For {
[INFO] [stdout]     |          --- variant in this enum
[INFO] [stdout] 214 |   ForStmt(Box<GriddedObject<Expression>>, Option<Box<GriddedObject<Expression>>>, Option<Box<GriddedObject<Expression>>>, Box<GriddedObje...
[INFO] [stdout]     |   ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `For` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Comparison` is never constructed
[INFO] [stdout]    --> src/ast/expr.rs:219:12
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub struct Comparison {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/ast/expr.rs:233:10
[INFO] [stdout]     |
[INFO] [stdout] 233 |   Object(Vec<GriddedObject<Token>>, Option<Vec<GriddedObject<Generic>>>),
[INFO] [stdout]     |   ------ ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Type` 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] 233 -   Object(Vec<GriddedObject<Token>>, Option<Vec<GriddedObject<Generic>>>),
[INFO] [stdout] 233 +   Object((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast/expr.rs:234:15
[INFO] [stdout]     |
[INFO] [stdout] 234 |   ObjectTuple(Vec<GriddedObject<Type>>),
[INFO] [stdout]     |   ----------- ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Type` 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] 234 -   ObjectTuple(Vec<GriddedObject<Type>>),
[INFO] [stdout] 234 +   ObjectTuple(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/ast/expr.rs:235:14
[INFO] [stdout]     |
[INFO] [stdout] 235 |   LambdaType(Vec<GriddedObject<Type>>, Box<Option<GriddedObject<Type>>>),
[INFO] [stdout]     |   ---------- ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Type` 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] 235 -   LambdaType(Vec<GriddedObject<Type>>, Box<Option<GriddedObject<Type>>>),
[INFO] [stdout] 235 +   LambdaType((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast/expr.rs:236:13
[INFO] [stdout]     |
[INFO] [stdout] 236 |   Primitive(PrimitiveTypeKeyword),
[INFO] [stdout]     |   --------- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Type` 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] 236 -   Primitive(PrimitiveTypeKeyword),
[INFO] [stdout] 236 +   Primitive(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]    --> src/ast/expr.rs:237:9
[INFO] [stdout]     |
[INFO] [stdout] 237 |   Array(Box<GriddedObject<Type>>, Vec<Option<GriddedObject<Token>>>),
[INFO] [stdout]     |   ----- ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   fields in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Type` 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] 237 -   Array(Box<GriddedObject<Type>>, Vec<Option<GriddedObject<Token>>>),
[INFO] [stdout] 237 +   Array((), ()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `wildcard`, `id`, and `type_ids` are never read
[INFO] [stdout]    --> src/ast/expr.rs:252:7
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub struct Generic {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 252 |   pub wildcard: Wildcard,
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout] 253 |   pub id: Option<GriddedObject<Token>>,
[INFO] [stdout]     |       ^^
[INFO] [stdout] 254 |   pub type_ids: Option<Vec<GriddedObject<Type>>>,
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Generic` 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 `op` and `expr` are never read
[INFO] [stdout]    --> src/ast/expr.rs:265:7
[INFO] [stdout]     |
[INFO] [stdout] 264 | pub struct Unary {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 265 |   pub op: GriddedObject<Token>,
[INFO] [stdout]     |       ^^
[INFO] [stdout] 266 |   pub expr: Box<GriddedObject<Expression>>,
[INFO] [stdout]     |       ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Unary` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Binary` is never constructed
[INFO] [stdout]    --> src/ast/expr.rs:270:12
[INFO] [stdout]     |
[INFO] [stdout] 270 | pub struct Binary {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print_visualisation_expr` is never used
[INFO] [stdout]   --> src/helper/visualisation.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 9  | impl<'a> VisualisationPrinter<'a> {
[INFO] [stdout]    | --------------------------------- method in this implementation
[INFO] [stdout] 10 |   pub fn print_visualisation_expr(&self, expr: &GriddedObject<Expression>) {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/scanner/token.rs:281:10
[INFO] [stdout]     |
[INFO] [stdout] 281 | #[derive(ToPrimitive, FromPrimitive, Debug, Clone, Eq, PartialEq, Hash)]
[INFO] [stdout]     |          ^----------
[INFO] [stdout]     |          |
[INFO] [stdout]     |          `ToPrimitive` is not local
[INFO] [stdout]     |          move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_PrimitiveTypeKeyword`
[INFO] [stdout] 282 | pub enum PrimitiveTypeKeyword {
[INFO] [stdout]     |          -------------------- `PrimitiveTypeKeyword` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stdout]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stdout]    --> src/scanner/token.rs:281:23
[INFO] [stdout]     |
[INFO] [stdout] 281 | #[derive(ToPrimitive, FromPrimitive, Debug, Clone, Eq, PartialEq, Hash)]
[INFO] [stdout]     |                       ^------------
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `FromPrimitive` is not local
[INFO] [stdout]     |                       move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_PrimitiveTypeKeyword`
[INFO] [stdout] 282 | pub enum PrimitiveTypeKeyword {
[INFO] [stdout]     |          -------------------- `PrimitiveTypeKeyword` is not local
[INFO] [stdout]     |
[INFO] [stdout]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stdout]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stdout]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stdout]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stdout]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.79s
[INFO] running `Command { std: "docker" "inspect" "b2edaa5d5b5b436d7b44d5738780742e21b6793a75aaf8db6a10ab3151844ddc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b2edaa5d5b5b436d7b44d5738780742e21b6793a75aaf8db6a10ab3151844ddc", kill_on_drop: false }`
[INFO] [stdout] b2edaa5d5b5b436d7b44d5738780742e21b6793a75aaf8db6a10ab3151844ddc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Copt-level=3" "-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] f696212b7eb765880850642e3e4baf5576115e252e9c1aff814a4a4444212121
[INFO] running `Command { std: "docker" "start" "-a" "f696212b7eb765880850642e3e4baf5576115e252e9c1aff814a4a4444212121", kill_on_drop: false }`
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/scanner/parser.rs:266:22
[INFO] [stderr]     |
[INFO] [stderr] 266 |             pos_x += (scanner.pos_get() - post_set!(pos_temp, scanner.pos_get()));
[INFO] [stderr]     |                      ^                                                          ^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 266 -             pos_x += (scanner.pos_get() - post_set!(pos_temp, scanner.pos_get()));
[INFO] [stderr] 266 +             pos_x += scanner.pos_get() - post_set!(pos_temp, scanner.pos_get());
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around assigned value
[INFO] [stderr]    --> src/scanner/parser.rs:272:22
[INFO] [stderr]     |
[INFO] [stderr] 272 |             pos_x += (scanner.pos_get() - post_set!(pos_temp, scanner.pos_get()));
[INFO] [stderr]     |                      ^                                                          ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 272 -             pos_x += (scanner.pos_get() - post_set!(pos_temp, scanner.pos_get()));
[INFO] [stderr] 272 +             pos_x += scanner.pos_get() - post_set!(pos_temp, scanner.pos_get());
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::ast::expr::Type::Primitive`
[INFO] [stderr]   --> src/ast/ast.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::ast::expr::Type::Primitive;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::scanner::token::PrimitiveTypeKeyword::Int`
[INFO] [stderr]   --> src/ast/ast.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 | use crate::scanner::token::PrimitiveTypeKeyword::Int;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Keyword`
[INFO] [stderr]  --> src/ast/expr.rs:4:44
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::scanner::token::{GriddedObject, Keyword, PrimitiveTypeKeyword, Token};
[INFO] [stderr]   |                                            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ToPrimitive`
[INFO] [stderr]  --> src/scanner/token.rs:5:33
[INFO] [stderr]   |
[INFO] [stderr] 5 | use num_traits::{FromPrimitive, ToPrimitive};
[INFO] [stderr]   |                                 ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/ast/ast.rs:518:11
[INFO] [stderr]     |
[INFO] [stderr] 518 |       let mut token;
[INFO] [stderr]     |           ----^^^^^
[INFO] [stderr]     |           |
[INFO] [stderr]     |           help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/ast/ast.rs:904:9
[INFO] [stderr]     |
[INFO] [stderr] 904 |     let mut decisive_token = self.scanner.peek_or_eof().clone();
[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/ast/ast.rs:1037:9
[INFO] [stderr]      |
[INFO] [stderr] 1037 |     let mut temp = self.scanner.peek_or_eof();
[INFO] [stderr]      |         ----^^^^
[INFO] [stderr]      |         |
[INFO] [stderr]      |         help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: methods `peek_search_ignore`, `peek_is_eof`, `pos_reset`, `pos_is_eof`, and `pos_set` are never used
[INFO] [stderr]    --> src/scanner/scanner.rs:48:10
[INFO] [stderr]     |
[INFO] [stderr] 13  | impl<'a, T> Scanner<'a, T> {
[INFO] [stderr]     | -------------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 48  |   pub fn peek_search_ignore<F1, F2>(&mut self, ignore: F1, predicate: F2) -> bool
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 85  |   pub fn peek_is_eof(&self) -> bool {
[INFO] [stderr]     |          ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 115 |   pub fn pos_reset(&mut self) {
[INFO] [stderr]     |          ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 127 |   pub fn pos_is_eof(&self) -> bool {
[INFO] [stderr]     |          ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 132 |   pub fn pos_set(&mut self, pos: usize) {
[INFO] [stderr]     |          ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `consume_chars`, `peek_chars`, and `peek_search_chars` are never used
[INFO] [stderr]    --> src/scanner/scanner.rs:178:10
[INFO] [stderr]     |
[INFO] [stderr] 140 | impl<'a> Scanner<'a, char> {
[INFO] [stderr]     | -------------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 178 |   pub fn consume_chars(&mut self, nb: usize, fail_on_not_reach: bool) -> Option<std::string::String> {
[INFO] [stderr]     |          ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 189 |   pub fn peek_chars(&mut self, nb: usize, fail_on_not_reach: bool) -> Option<std::string::String> {
[INFO] [stderr]     |          ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 207 |   pub fn peek_search_chars<F>(&mut self, predicate: F) -> std::string::String
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `peek_rewind_not_eof`, `consume_or_eof`, `consume_rewind_not_eof`, `consume_coords`, and `consume_next_coords` are never used
[INFO] [stderr]    --> src/scanner/scanner.rs:224:10
[INFO] [stderr]     |
[INFO] [stderr] 213 | impl<'a> Scanner<'a, GriddedObject<Token>> {
[INFO] [stderr]     | ------------------------------------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 224 |   pub fn peek_rewind_not_eof(&mut self, amount: usize) {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 254 |   pub fn consume_or_eof(&mut self) -> &GriddedObject<Token> {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 264 |   pub fn consume_rewind_not_eof(&mut self, amount: usize) {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 276 |   pub fn consume_coords(&self) -> [usize; 2] {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 281 |   pub fn consume_next_coords(&self) -> [usize; 2] {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `GreaterGreaterEqual` and `Word` are never constructed
[INFO] [stderr]    --> src/scanner/token.rs:180:3
[INFO] [stderr]     |
[INFO] [stderr] 85  | pub enum Token {
[INFO] [stderr]     |          ----- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 180 |   GreaterGreaterEqual,
[INFO] [stderr]     |   ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 220 |   Word(String),
[INFO] [stderr]     |   ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]   --> src/ast/expr.rs:11:11
[INFO] [stderr]    |
[INFO] [stderr] 11 |   Program(Vec<GriddedObject<Expression>>, Vec<GriddedObject<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] 11 -   Program(Vec<GriddedObject<Expression>>, Vec<GriddedObject<Expression>>),
[INFO] [stderr] 11 +   Program((), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0`, `1`, `2`, `3`, `4`, and `5` are never read
[INFO] [stderr]   --> src/ast/expr.rs:21:13
[INFO] [stderr]    |
[INFO] [stderr] 21 |   ClassDecl(Vec<GriddedObject<Expression>>, Option<Visibility>, GriddedObject<Token>, Option<Vec<GriddedObject<Generic>>>, Option<Vec<GriddedObject<Type>>>, Vec<GriddedObject<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] 21 -   ClassDecl(Vec<GriddedObject<Expression>>, Option<Visibility>, GriddedObject<Token>, Option<Vec<GriddedObject<Generic>>>, Option<Vec<GriddedObject<Type>>>, Vec<GriddedObject<Expression>>),
[INFO] [stderr] 21 +   ClassDecl((), (), (), (), (), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: multiple fields are never read
[INFO] [stderr]   --> src/ast/expr.rs:25:11
[INFO] [stderr]    |
[INFO] [stderr] 25 |   FunDecl(Vec<GriddedObject<Expression>>, Option<Visibility>, Option<Vec<GriddedObject<Generic>>>, Option<GriddedObject<Type>>, GriddedObject<Token>, Vec<(GriddedObject<Token>, GriddedObject<Type>)>, Box<GriddedObject<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] 25 -   FunDecl(Vec<GriddedObject<Expression>>, Option<Visibility>, Option<Vec<GriddedObject<Generic>>>, Option<GriddedObject<Type>>, GriddedObject<Token>, Vec<(GriddedObject<Token>, GriddedObject<Type>)>, Box<GriddedObject<Expression>>),
[INFO] [stderr] 25 +   FunDecl((), (), (), (), (), (), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0`, `1`, `2`, `3`, and `4` are never read
[INFO] [stderr]   --> src/ast/expr.rs:29:11
[INFO] [stderr]    |
[INFO] [stderr] 29 |   VarDecl(Vec<GriddedObject<Expression>>, Option<Visibility>, GriddedObject<Type>, GriddedObject<Token>, Option<Box<GriddedObject<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] 29 -   VarDecl(Vec<GriddedObject<Expression>>, Option<Visibility>, GriddedObject<Type>, GriddedObject<Token>, Option<Box<GriddedObject<Expression>>>),
[INFO] [stderr] 29 +   VarDecl((), (), (), (), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]   --> src/ast/expr.rs:33:11
[INFO] [stderr]    |
[INFO] [stderr] 33 |   UseDecl(Vec<GriddedObject<Token>>, bool),
[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] 33 -   UseDecl(Vec<GriddedObject<Token>>, bool),
[INFO] [stderr] 33 +   UseDecl((), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/ast/expr.rs:43:12
[INFO] [stderr]    |
[INFO] [stderr] 43 |   ExprStmt(Box<GriddedObject<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] 43 -   ExprStmt(Box<GriddedObject<Expression>>),
[INFO] [stderr] 43 +   ExprStmt(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]   --> src/ast/expr.rs:48:11
[INFO] [stderr]    |
[INFO] [stderr] 48 |   ForStmt(For, Box<GriddedObject<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] 48 -   ForStmt(For, Box<GriddedObject<Expression>>),
[INFO] [stderr] 48 +   ForStmt((), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0`, `1`, and `2` are never read
[INFO] [stderr]   --> src/ast/expr.rs:53:10
[INFO] [stderr]    |
[INFO] [stderr] 53 |   IfStmt(Box<GriddedObject<Expression>>, Box<GriddedObject<Expression>>, Option<Box<GriddedObject<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] 53 -   IfStmt(Box<GriddedObject<Expression>>, Box<GriddedObject<Expression>>, Option<Box<GriddedObject<Expression>>>),
[INFO] [stderr] 53 +   IfStmt((), (), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/ast/expr.rs:57:14
[INFO] [stderr]    |
[INFO] [stderr] 57 |   ReturnStmt(Option<Box<GriddedObject<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] 57 -   ReturnStmt(Option<Box<GriddedObject<Expression>>>),
[INFO] [stderr] 57 +   ReturnStmt(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/ast/expr.rs:61:13
[INFO] [stderr]    |
[INFO] [stderr] 61 |   BreakStmt(Option<Box<GriddedObject<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] 61 -   BreakStmt(Option<Box<GriddedObject<Expression>>>),
[INFO] [stderr] 61 +   BreakStmt(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]   --> src/ast/expr.rs:65:13
[INFO] [stderr]    |
[INFO] [stderr] 65 |   WhileStmt(Box<GriddedObject<Expression>>, Box<GriddedObject<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 -   WhileStmt(Box<GriddedObject<Expression>>, Box<GriddedObject<Expression>>),
[INFO] [stderr] 65 +   WhileStmt((), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]   --> src/ast/expr.rs:69:11
[INFO] [stderr]    |
[INFO] [stderr] 69 |   DoWhile(Box<GriddedObject<Expression>>, Box<GriddedObject<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 -   DoWhile(Box<GriddedObject<Expression>>, Box<GriddedObject<Expression>>),
[INFO] [stderr] 69 +   DoWhile((), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0`, `1`, and `2` are never read
[INFO] [stderr]   --> src/ast/expr.rs:73:11
[INFO] [stderr]    |
[INFO] [stderr] 73 |   VarStmt(GriddedObject<Token>, Option<GriddedObject<Type>>, Option<Box<GriddedObject<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] 73 -   VarStmt(GriddedObject<Token>, Option<GriddedObject<Type>>, Option<Box<GriddedObject<Expression>>>),
[INFO] [stderr] 73 +   VarStmt((), (), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0`, `1`, and `2` are never read
[INFO] [stderr]   --> src/ast/expr.rs:82:14
[INFO] [stderr]    |
[INFO] [stderr] 82 |   Assignment(Box<GriddedObject<Expression>>, GriddedObject<Token>, Box<GriddedObject<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] 82 -   Assignment(Box<GriddedObject<Expression>>, GriddedObject<Token>, Box<GriddedObject<Expression>>),
[INFO] [stderr] 82 +   Assignment((), (), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]   --> src/ast/expr.rs:86:12
[INFO] [stderr]    |
[INFO] [stderr] 86 |   IfNsExpr(Box<GriddedObject<Expression>>, Box<GriddedObject<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] 86 -   IfNsExpr(Box<GriddedObject<Expression>>, Box<GriddedObject<Expression>>),
[INFO] [stderr] 86 +   IfNsExpr((), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0`, `1`, and `2` are never read
[INFO] [stderr]   --> src/ast/expr.rs:90:10
[INFO] [stderr]    |
[INFO] [stderr] 90 |   IfExpr(Box<GriddedObject<Expression>>, Box<GriddedObject<Expression>>, Box<GriddedObject<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] 90 -   IfExpr(Box<GriddedObject<Expression>>, Box<GriddedObject<Expression>>, Box<GriddedObject<Expression>>),
[INFO] [stderr] 90 +   IfExpr((), (), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]   --> src/ast/expr.rs:94:11
[INFO] [stderr]    |
[INFO] [stderr] 94 |   LogicOr(Box<GriddedObject<Expression>>, Vec<GriddedObject<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] 94 -   LogicOr(Box<GriddedObject<Expression>>, Vec<GriddedObject<Expression>>),
[INFO] [stderr] 94 +   LogicOr((), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]   --> src/ast/expr.rs:98:12
[INFO] [stderr]    |
[INFO] [stderr] 98 |   LogicAnd(Box<GriddedObject<Expression>>, Vec<GriddedObject<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] 98 -   LogicAnd(Box<GriddedObject<Expression>>, Vec<GriddedObject<Expression>>),
[INFO] [stderr] 98 +   LogicAnd((), ()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]    --> src/ast/expr.rs:102:12
[INFO] [stderr]     |
[INFO] [stderr] 102 |   Equality(Box<GriddedObject<Expression>>, Vec<Unary>),
[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] 102 -   Equality(Box<GriddedObject<Expression>>, Vec<Unary>),
[INFO] [stderr] 102 +   Equality((), ()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]    --> src/ast/expr.rs:106:14
[INFO] [stderr]     |
[INFO] [stderr] 106 |   Comparison(Box<GriddedObject<Expression>>, Vec<Unary>),
[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] 106 -   Comparison(Box<GriddedObject<Expression>>, Vec<Unary>),
[INFO] [stderr] 106 +   Comparison((), ()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]    --> src/ast/expr.rs:110:8
[INFO] [stderr]     |
[INFO] [stderr] 110 |   Term(Box<GriddedObject<Expression>>, Vec<Unary>),
[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] 110 -   Term(Box<GriddedObject<Expression>>, Vec<Unary>),
[INFO] [stderr] 110 +   Term((), ()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]    --> src/ast/expr.rs:114:10
[INFO] [stderr]     |
[INFO] [stderr] 114 |   Factor(Box<GriddedObject<Expression>>, Vec<Unary>),
[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] 114 -   Factor(Box<GriddedObject<Expression>>, Vec<Unary>),
[INFO] [stderr] 114 +   Factor((), ()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]    --> src/ast/expr.rs:118:9
[INFO] [stderr]     |
[INFO] [stderr] 118 |   BitOp(Box<GriddedObject<Expression>>, Vec<Unary>),
[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] 118 -   BitOp(Box<GriddedObject<Expression>>, Vec<Unary>),
[INFO] [stderr] 118 +   BitOp((), ()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/ast/expr.rs:122:13
[INFO] [stderr]     |
[INFO] [stderr] 122 |   UnaryLeft(Unary),
[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] 122 -   UnaryLeft(Unary),
[INFO] [stderr] 122 +   UnaryLeft(()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0`, `1`, and `2` are never read
[INFO] [stderr]    --> src/ast/expr.rs:130:8
[INFO] [stderr]     |
[INFO] [stderr] 130 |   Call(Box<GriddedObject<Expression>>, Option<Vec<GriddedObject<Expression>>>, Vec<GriddedObject<Call>>),
[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] 130 -   Call(Box<GriddedObject<Expression>>, Option<Vec<GriddedObject<Expression>>>, Vec<GriddedObject<Call>>),
[INFO] [stderr] 130 +   Call((), (), ()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]    --> src/ast/expr.rs:138:9
[INFO] [stderr]     |
[INFO] [stderr] 138 |   Block(Vec<GriddedObject<Expression>>, Option<Box<GriddedObject<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] 138 -   Block(Vec<GriddedObject<Expression>>, Option<Box<GriddedObject<Expression>>>),
[INFO] [stderr] 138 +   Block((), ()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/ast/expr.rs:142:12
[INFO] [stderr]     |
[INFO] [stderr] 142 |   LoopExpr(Box<GriddedObject<Expression>>),
[INFO] [stderr]     |   -------- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |   |
[INFO] [stdout] 
[INFO] [stderr]     |   field in this variant
[INFO] [stdout] running 0 tests
[INFO] [stderr]     |
[INFO] [stdout] 
[INFO] [stderr]     = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[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] 
[INFO] [stderr]     |
[INFO] [stderr] 142 -   LoopExpr(Box<GriddedObject<Expression>>),
[INFO] [stderr] 142 +   LoopExpr(()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/ast/expr.rs:146:9
[INFO] [stderr]     |
[INFO] [stderr] 146 |   Tuple(Vec<GriddedObject<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] 146 -   Tuple(Vec<GriddedObject<Expression>>),
[INFO] [stderr] 146 +   Tuple(()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/ast/expr.rs:153:19
[INFO] [stderr]     |
[INFO] [stderr] 153 |   MacroAnnotation(MacroAnnotation),
[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] 153 -   MacroAnnotation(MacroAnnotation),
[INFO] [stderr] 153 +   MacroAnnotation(()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]    --> src/ast/expr.rs:157:10
[INFO] [stderr]     |
[INFO] [stderr] 157 |   Lambda(Vec<GriddedObject<Token>>, Box<GriddedObject<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] 157 -   Lambda(Vec<GriddedObject<Token>>, Box<GriddedObject<Expression>>),
[INFO] [stderr] 157 +   Lambda((), ()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Declaration`, `Statement`, and `UnaryRight` are never constructed
[INFO] [stderr]    --> src/ast/expr.rs:16:3
[INFO] [stderr]     |
[INFO] [stderr] 7   | pub enum Expression {
[INFO] [stderr]     |          ---------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 16  |   Declaration(Box<GriddedObject<Expression>>),
[INFO] [stderr]     |   ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 39  |   Statement(Box<GriddedObject<Expression>>),
[INFO] [stderr]     |   ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 126 |   UnaryRight(Unary),
[INFO] [stderr]     |   ^^^^^^^^^^
[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] 
[INFO] [stderr] warning: fields `is_annotation`, `path`, `mapping`, and `ids` are never read
[INFO] [stderr]    --> src/ast/expr.rs:179:7
[INFO] [stderr]     |
[INFO] [stderr] 178 | pub struct MacroAnnotation {
[INFO] [stderr]     |            --------------- fields in this struct
[INFO] [stderr] 179 |   pub is_annotation: bool,
[INFO] [stderr]     |       ^^^^^^^^^^^^^
[INFO] [stderr] 180 |   pub path: Vec<GriddedObject<Token>>,
[INFO] [stderr]     |       ^^^^
[INFO] [stderr] 181 |   pub mapping: HashMap<GriddedObject<Token>, GriddedObject<Token>>,
[INFO] [stderr]     |       ^^^^^^^
[INFO] [stderr] 182 |   pub ids: Vec<GriddedObject<Token>>,
[INFO] [stderr]     |       ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `MacroAnnotation` 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/expr.rs:191:11
[INFO] [stderr]     |
[INFO] [stderr] 191 |   Literal(Token),
[INFO] [stderr]     |   ------- ^^^^^
[INFO] [stderr]     |   |
[INFO] [stderr]     |   field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Primary` 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] 191 -   Literal(Token),
[INFO] [stderr] 191 +   Literal(()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/ast/expr.rs:199:6
[INFO] [stderr]     |
[INFO] [stderr] 199 |   Id(GriddedObject<Token>),
[INFO] [stderr]     |   -- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |   |
[INFO] [stderr]     |   field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Call` 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] 199 -   Id(GriddedObject<Token>),
[INFO] [stderr] 199 +   Id(()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]    --> src/ast/expr.rs:200:15
[INFO] [stderr]     |
[INFO] [stderr] 200 |   IdArguments(GriddedObject<Token>, Vec<GriddedObject<Expression>>),
[INFO] [stderr]     |   ----------- ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |   |
[INFO] [stderr]     |   fields in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Call` 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] 200 -   IdArguments(GriddedObject<Token>, Vec<GriddedObject<Expression>>),
[INFO] [stderr] 200 +   IdArguments((), ()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/ast/expr.rs:201:15
[INFO] [stderr]     |
[INFO] [stderr] 201 |   ArrayClause(ArrayIndex),
[INFO] [stderr]     |   ----------- ^^^^^^^^^^
[INFO] [stderr]     |   |
[INFO] [stderr]     |   field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Call` 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] 201 -   ArrayClause(ArrayIndex),
[INFO] [stderr] 201 +   ArrayClause(()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/ast/expr.rs:206:9
[INFO] [stderr]     |
[INFO] [stderr] 206 |   Exact(GriddedObject<Expression>),
[INFO] [stderr]     |   ----- ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |   |
[INFO] [stderr]     |   field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `ArrayIndex` 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] 206 -   Exact(GriddedObject<Expression>),
[INFO] [stderr] 206 +   Exact(()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/ast/expr.rs:207:9
[INFO] [stderr]     |
[INFO] [stderr] 207 |   Start(GriddedObject<Expression>),
[INFO] [stderr]     |   ----- ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |   |
[INFO] [stderr]     |   field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `ArrayIndex` 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] 207 -   Start(GriddedObject<Expression>),
[INFO] [stderr] 207 +   Start(()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/ast/expr.rs:208:7
[INFO] [stderr]     |
[INFO] [stderr] 208 |   End(GriddedObject<Expression>),
[INFO] [stderr]     |   --- ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |   |
[INFO] [stderr]     |   field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `ArrayIndex` 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] 208 -   End(GriddedObject<Expression>),
[INFO] [stderr] 208 +   End(()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]    --> src/ast/expr.rs:209:12
[INFO] [stderr]     |
[INFO] [stderr] 209 |   StartEnd(GriddedObject<Expression>, GriddedObject<Expression>),
[INFO] [stderr]     |   -------- ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |   |
[INFO] [stderr]     |   fields in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `ArrayIndex` 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] 209 -   StartEnd(GriddedObject<Expression>, GriddedObject<Expression>),
[INFO] [stderr] 209 +   StartEnd((), ()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]    --> src/ast/expr.rs:215:14
[INFO] [stderr]     |
[INFO] [stderr] 215 |   ForItrStmt(GriddedObject<Token>, Box<GriddedObject<Expression>>),
[INFO] [stderr]     |   ---------- ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |   |
[INFO] [stderr]     |   fields in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `For` 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] 215 -   ForItrStmt(GriddedObject<Token>, Box<GriddedObject<Expression>>),
[INFO] [stderr] 215 +   ForItrStmt((), ()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: variant `ForStmt` is never constructed
[INFO] [stderr]    --> src/ast/expr.rs:214:3
[INFO] [stderr]     |
[INFO] [stderr] 213 | pub enum For {
[INFO] [stderr]     |          --- variant in this enum
[INFO] [stderr] 214 |   ForStmt(Box<GriddedObject<Expression>>, Option<Box<GriddedObject<Expression>>>, Option<Box<GriddedObject<Expression>>>, Box<GriddedObje...
[INFO] [stderr]     |   ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `For` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Comparison` is never constructed
[INFO] [stderr]    --> src/ast/expr.rs:219:12
[INFO] [stderr]     |
[INFO] [stderr] 219 | pub struct Comparison {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]    --> src/ast/expr.rs:233:10
[INFO] [stderr]     |
[INFO] [stderr] 233 |   Object(Vec<GriddedObject<Token>>, Option<Vec<GriddedObject<Generic>>>),
[INFO] [stderr]     |   ------ ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |   |
[INFO] [stderr]     |   fields in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Type` 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] 233 -   Object(Vec<GriddedObject<Token>>, Option<Vec<GriddedObject<Generic>>>),
[INFO] [stderr] 233 +   Object((), ()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/ast/expr.rs:234:15
[INFO] [stderr]     |
[INFO] [stderr] 234 |   ObjectTuple(Vec<GriddedObject<Type>>),
[INFO] [stderr]     |   ----------- ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |   |
[INFO] [stderr]     |   field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Type` 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] 234 -   ObjectTuple(Vec<GriddedObject<Type>>),
[INFO] [stderr] 234 +   ObjectTuple(()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]    --> src/ast/expr.rs:235:14
[INFO] [stderr]     |
[INFO] [stderr] 235 |   LambdaType(Vec<GriddedObject<Type>>, Box<Option<GriddedObject<Type>>>),
[INFO] [stderr]     |   ---------- ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |   |
[INFO] [stderr]     |   fields in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Type` 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] 235 -   LambdaType(Vec<GriddedObject<Type>>, Box<Option<GriddedObject<Type>>>),
[INFO] [stderr] 235 +   LambdaType((), ()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]    --> src/ast/expr.rs:236:13
[INFO] [stderr]     |
[INFO] [stderr] 236 |   Primitive(PrimitiveTypeKeyword),
[INFO] [stderr]     |   --------- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |   |
[INFO] [stderr]     |   field in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Type` 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] 236 -   Primitive(PrimitiveTypeKeyword),
[INFO] [stderr] 236 +   Primitive(()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `0` and `1` are never read
[INFO] [stderr]    --> src/ast/expr.rs:237:9
[INFO] [stderr]     |
[INFO] [stderr] 237 |   Array(Box<GriddedObject<Type>>, Vec<Option<GriddedObject<Token>>>),
[INFO] [stderr]     |   ----- ^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |   |
[INFO] [stderr]     |   fields in this variant
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Type` 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] 237 -   Array(Box<GriddedObject<Type>>, Vec<Option<GriddedObject<Token>>>),
[INFO] [stderr] 237 +   Array((), ()),
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `wildcard`, `id`, and `type_ids` are never read
[INFO] [stderr]    --> src/ast/expr.rs:252:7
[INFO] [stderr]     |
[INFO] [stderr] 251 | pub struct Generic {
[INFO] [stderr]     |            ------- fields in this struct
[INFO] [stderr] 252 |   pub wildcard: Wildcard,
[INFO] [stderr]     |       ^^^^^^^^
[INFO] [stderr] 253 |   pub id: Option<GriddedObject<Token>>,
[INFO] [stderr]     |       ^^
[INFO] [stderr] 254 |   pub type_ids: Option<Vec<GriddedObject<Type>>>,
[INFO] [stderr]     |       ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Generic` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `op` and `expr` are never read
[INFO] [stderr]    --> src/ast/expr.rs:265:7
[INFO] [stderr]     |
[INFO] [stderr] 264 | pub struct Unary {
[INFO] [stderr]     |            ----- fields in this struct
[INFO] [stderr] 265 |   pub op: GriddedObject<Token>,
[INFO] [stderr]     |       ^^
[INFO] [stderr] 266 |   pub expr: Box<GriddedObject<Expression>>,
[INFO] [stderr]     |       ^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `Unary` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Binary` is never constructed
[INFO] [stderr]    --> src/ast/expr.rs:270:12
[INFO] [stderr]     |
[INFO] [stderr] 270 | pub struct Binary {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `print_visualisation_expr` is never used
[INFO] [stderr]   --> src/helper/visualisation.rs:10:10
[INFO] [stderr]    |
[INFO] [stderr] 9  | impl<'a> VisualisationPrinter<'a> {
[INFO] [stderr]    | --------------------------------- method in this implementation
[INFO] [stderr] 10 |   pub fn print_visualisation_expr(&self, expr: &GriddedObject<Expression>) {
[INFO] [stderr]    |          ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/scanner/token.rs:281:10
[INFO] [stderr]     |
[INFO] [stderr] 281 | #[derive(ToPrimitive, FromPrimitive, Debug, Clone, Eq, PartialEq, Hash)]
[INFO] [stderr]     |          ^----------
[INFO] [stderr]     |          |
[INFO] [stderr]     |          `ToPrimitive` is not local
[INFO] [stderr]     |          move the `impl` block outside of this constant `_IMPL_NUM_ToPrimitive_FOR_PrimitiveTypeKeyword`
[INFO] [stderr] 282 | pub enum PrimitiveTypeKeyword {
[INFO] [stderr]     |          -------------------- `PrimitiveTypeKeyword` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `ToPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `ToPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: `#[warn(non_local_definitions)]` on by default
[INFO] [stderr]     = note: this warning originates in the derive macro `ToPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item
[INFO] [stderr]    --> src/scanner/token.rs:281:23
[INFO] [stderr]     |
[INFO] [stderr] 281 | #[derive(ToPrimitive, FromPrimitive, Debug, Clone, Eq, PartialEq, Hash)]
[INFO] [stderr]     |                       ^------------
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       `FromPrimitive` is not local
[INFO] [stderr]     |                       move the `impl` block outside of this constant `_IMPL_NUM_FromPrimitive_FOR_PrimitiveTypeKeyword`
[INFO] [stderr] 282 | pub enum PrimitiveTypeKeyword {
[INFO] [stderr]     |          -------------------- `PrimitiveTypeKeyword` is not local
[INFO] [stderr]     |
[INFO] [stderr]     = note: the derive macro `FromPrimitive` defines the non-local `impl`, and may need to be changed
[INFO] [stderr]     = note: the derive macro `FromPrimitive` may come from an old version of the `num_derive` crate, try updating your dependency with `cargo update -p num_derive`
[INFO] [stderr]     = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl`
[INFO] [stderr]     = note: items in an anonymous const item (`const _: () = { ... }`) are treated as in the same scope as the anonymous const's declaration for the purpose of this lint
[INFO] [stderr]     = note: this warning originates in the derive macro `FromPrimitive` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `aplang` (bin "aplang" test) generated 67 warnings (run `cargo fix --bin "aplang" --tests` to apply 8 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/aplang-d28bb76bc8670b54)
[INFO] running `Command { std: "docker" "inspect" "f696212b7eb765880850642e3e4baf5576115e252e9c1aff814a4a4444212121", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f696212b7eb765880850642e3e4baf5576115e252e9c1aff814a4a4444212121", kill_on_drop: false }`
[INFO] [stdout] f696212b7eb765880850642e3e4baf5576115e252e9c1aff814a4a4444212121
