[INFO] cloning repository https://github.com/jjwest/blixt
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jjwest/blixt" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjjwest%2Fblixt", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjjwest%2Fblixt'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b307d681d599af0139b0040c2edee4d415ffb8e4
[INFO] checking jjwest/blixt against try#b1f2594eac607c1f051534800237eeedb5590a49 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjjwest%2Fblixt" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jjwest/blixt
[INFO] finished tweaking git repo https://github.com/jjwest/blixt
[INFO] tweaked toml for git repo https://github.com/jjwest/blixt written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jjwest/blixt on toolchain b1f2594eac607c1f051534800237eeedb5590a49
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jjwest/blixt 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" "+b1f2594eac607c1f051534800237eeedb5590a49" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c53229205aebbc45b6beef16e560c303aa70c792bac9778ff147bad23d3a61b1
[INFO] running `Command { std: "docker" "start" "-a" "c53229205aebbc45b6beef16e560c303aa70c792bac9778ff147bad23d3a61b1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c53229205aebbc45b6beef16e560c303aa70c792bac9778ff147bad23d3a61b1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c53229205aebbc45b6beef16e560c303aa70c792bac9778ff147bad23d3a61b1", kill_on_drop: false }`
[INFO] [stdout] c53229205aebbc45b6beef16e560c303aa70c792bac9778ff147bad23d3a61b1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+b1f2594eac607c1f051534800237eeedb5590a49" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fa82c26cb137bb1791f47fa072831de2934602dc5dd39efcd81cbbe2240e0fd2
[INFO] running `Command { std: "docker" "start" "-a" "fa82c26cb137bb1791f47fa072831de2934602dc5dd39efcd81cbbe2240e0fd2", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.1.2
[INFO] [stderr]    Compiling cc v1.0.28
[INFO] [stderr]    Compiling autocfg v0.1.1
[INFO] [stderr]    Compiling regex v1.1.0
[INFO] [stderr]    Compiling byteorder v1.3.1
[INFO] [stderr]    Compiling failure_derive v0.1.3
[INFO] [stderr]     Checking atty v0.2.11
[INFO] [stderr]     Checking quick-error v1.2.2
[INFO] [stderr]     Checking rustc-demangle v0.1.11
[INFO] [stderr]     Checking log v0.4.6
[INFO] [stderr]    Compiling syn v0.15.23
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]     Checking regex-syntax v0.6.4
[INFO] [stderr]     Checking textwrap v0.10.0
[INFO] [stderr]     Checking strsim v0.7.0
[INFO] [stderr]     Checking termcolor v1.0.4
[INFO] [stderr]     Checking humantime v1.2.0
[INFO] [stderr]     Checking copy_arena v0.1.1
[INFO] [stderr]     Checking termcolor v0.3.6
[INFO] [stderr]    Compiling backtrace v0.3.13
[INFO] [stderr]     Checking clap v2.32.0
[INFO] [stderr]     Checking hashbrown v0.1.8
[INFO] [stderr]     Checking aho-corasick v0.6.9
[INFO] [stderr]    Compiling backtrace-sys v0.1.26
[INFO] [stderr]    Compiling synstructure v0.10.1
[INFO] [stderr]     Checking failure v0.1.3
[INFO] [stderr]     Checking env_logger v0.6.0
[INFO] [stderr]     Checking blixt v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `ArgList`, `AssignmentKind`, `Assignment`, `AstNodeId`, `Decl`, `For`, `If`, `Input`, `ParamList`, `Print`, `Return`, and `UnaryOp`
[INFO] [stdout]  --> src/typecheck.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     ArgList, Assignment, AssignmentKind, Ast, AstNodeId, BinaryOp,
[INFO] [stdout]   |     ^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^       ^^^^^^^^^
[INFO] [stdout] 5 |     BinaryOpKind, Decl, Expr, ExprKind, For, FunctionCall, FunctionDecl, If,
[INFO] [stdout]   |                   ^^^^                  ^^^                              ^^
[INFO] [stdout] 6 |     Input, ParamList, Print, Return, Stmt, StmtList, UnaryOp,
[INFO] [stdout]   |     ^^^^^  ^^^^^^^^^  ^^^^^  ^^^^^^                  ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Value`
[INFO] [stdout]   --> src/typecheck.rs:11:25
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::primitives::{Value, ValueKind};
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/typecheck.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ArgList`, `AssignmentKind`, `Assignment`, `AstNodeId`, `Decl`, `For`, `If`, `Input`, `ParamList`, `Print`, `Return`, and `UnaryOp`
[INFO] [stdout]  --> src/typecheck.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     ArgList, Assignment, AssignmentKind, Ast, AstNodeId, BinaryOp,
[INFO] [stdout]   |     ^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^       ^^^^^^^^^
[INFO] [stdout] 5 |     BinaryOpKind, Decl, Expr, ExprKind, For, FunctionCall, FunctionDecl, If,
[INFO] [stdout]   |                   ^^^^                  ^^^                              ^^
[INFO] [stdout] 6 |     Input, ParamList, Print, Return, Stmt, StmtList, UnaryOp,
[INFO] [stdout]   |     ^^^^^  ^^^^^^^^^  ^^^^^  ^^^^^^                  ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Value`
[INFO] [stdout]   --> src/typecheck.rs:11:25
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::primitives::{Value, ValueKind};
[INFO] [stdout]    |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `location`
[INFO] [stdout]    --> src/lexer.rs:155:25
[INFO] [stdout]     |
[INFO] [stdout] 155 |                     let location = self.make_location(start);
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `location`
[INFO] [stdout]    --> src/lexer.rs:228:25
[INFO] [stdout]     |
[INFO] [stdout] 228 |                     let location = self.make_location(start);
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/typecheck.rs:58:28
[INFO] [stdout]    |
[INFO] [stdout] 58 |                 Assignment(v) => unimplemented!(),
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/typecheck.rs:59:23
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 Block(v) => unimplemented!(),
[INFO] [stdout]    |                       ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/typecheck.rs:60:22
[INFO] [stdout]    |
[INFO] [stdout] 60 |                 Decl(v) => unimplemented!(),
[INFO] [stdout]    |                      ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/typecheck.rs:62:21
[INFO] [stdout]    |
[INFO] [stdout] 62 |                 For(v) => unimplemented!(),
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/typecheck.rs:63:23
[INFO] [stdout]    |
[INFO] [stdout] 63 |                 Print(v) => unimplemented!(),
[INFO] [stdout]    |                       ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/typecheck.rs:64:20
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 If(v) => unimplemented!(),
[INFO] [stdout]    |                    ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/typecheck.rs:65:24
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 Return(v) => unimplemented!(),
[INFO] [stdout]    |                        ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/typecheck.rs:66:23
[INFO] [stdout]    |
[INFO] [stdout] 66 |                 Param(v) => unimplemented!(),
[INFO] [stdout]    |                       ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `location`
[INFO] [stdout]    --> src/lexer.rs:155:25
[INFO] [stdout]     |
[INFO] [stdout] 155 |                     let location = self.make_location(start);
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `location`
[INFO] [stdout]    --> src/lexer.rs:228:25
[INFO] [stdout]     |
[INFO] [stdout] 228 |                     let location = self.make_location(start);
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `For` is never constructed
[INFO] [stdout]   --> src/ast.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum Stmt {
[INFO] [stdout]    |          ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 23 |     For(For),
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Stmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `assignment` is never used
[INFO] [stdout]   --> src/ast.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 32 |         impl Stmt {
[INFO] [stdout]    |         --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 43 | accessor!(assignment, Assignment, Stmt::Assignment(a), a);
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `accessor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `value` and `location` are never read
[INFO] [stdout]   --> src/ast.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct Return {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 48 |     pub value: Option<AstNodeId>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 49 |     pub location: Location,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Return` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast.rs:60:11
[INFO] [stdout]    |
[INFO] [stdout] 60 |     Float(f32),
[INFO] [stdout]    |     ----- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExprKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 60 -     Float(f32),
[INFO] [stdout] 60 +     Float(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |     Integer(i32),
[INFO] [stdout]    |     ------- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExprKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 61 -     Integer(i32),
[INFO] [stdout] 61 +     Integer(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast.rs:62:19
[INFO] [stdout]    |
[INFO] [stdout] 62 |     StringLiteral(Symbol),
[INFO] [stdout]    |     ------------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExprKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 62 -     StringLiteral(Symbol),
[INFO] [stdout] 62 +     StringLiteral(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast.rs:65:11
[INFO] [stdout]    |
[INFO] [stdout] 65 |     Input(Input),
[INFO] [stdout]    |     ----- ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExprKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 65 -     Input(Input),
[INFO] [stdout] 65 +     Input(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast.rs:66:10
[INFO] [stdout]    |
[INFO] [stdout] 66 |     Bool(bool),
[INFO] [stdout]    |     ---- ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExprKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 66 -     Bool(bool),
[INFO] [stdout] 66 +     Bool(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 |     UnaryOp(UnaryOp),
[INFO] [stdout]    |     ------- ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExprKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 67 -     UnaryOp(UnaryOp),
[INFO] [stdout] 67 +     UnaryOp(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast.rs:69:18
[INFO] [stdout]    |
[INFO] [stdout] 69 |     FunctionCall(FunctionCall),
[INFO] [stdout]    |     ------------ ^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExprKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 69 -     FunctionCall(FunctionCall),
[INFO] [stdout] 69 +     FunctionCall(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Range` is never constructed
[INFO] [stdout]   --> src/ast.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub enum ExprKind {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 64 |     Range(Range),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExprKind` 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 `ident`, `value`, `op`, and `location` are never read
[INFO] [stdout]   --> src/ast.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct Assignment {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 74 |     pub ident: Symbol,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 75 |     pub value: AstNodeId,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 76 |     pub op: AssignmentKind,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 77 |     pub location: Location,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Assignment` 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 `value` and `op` are never read
[INFO] [stdout]   --> src/ast.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub struct UnaryOp {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 92 |     pub value: AstNodeId,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 93 |     pub op: UnaryOpKind,
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UnaryOp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast.rs:131:14
[INFO] [stdout]     |
[INFO] [stdout] 131 |     Variable(VarDecl),
[INFO] [stdout]     |     -------- ^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Decl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 131 -     Variable(VarDecl),
[INFO] [stdout] 131 +     Variable(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast.rs:132:14
[INFO] [stdout]     |
[INFO] [stdout] 132 |     Function(FunctionDecl),
[INFO] [stdout]     |     -------- ^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Decl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 132 -     Function(FunctionDecl),
[INFO] [stdout] 132 +     Function(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast.rs:133:12
[INFO] [stdout]     |
[INFO] [stdout] 133 |     Struct(StructDecl),
[INFO] [stdout]     |     ------ ^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Decl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 133 -     Struct(StructDecl),
[INFO] [stdout] 133 +     Struct(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `value`, and `kind` are never read
[INFO] [stdout]    --> src/ast.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct VarDecl {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 138 |     pub name: Symbol,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 139 |     pub value: AstNodeId,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 140 |     pub kind: ValueKind,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VarDecl` 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 `name` and `fields` are never read
[INFO] [stdout]    --> src/ast.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct StructDecl {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 145 |     pub name: Symbol,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 146 |     pub fields: Vec<AstNodeId>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StructDecl` 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 `name`, `body`, `params`, and `return_type` are never read
[INFO] [stdout]    --> src/ast.rs:151:9
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub struct FunctionDecl {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 151 |     pub name: Symbol,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 152 |     pub body: StmtList,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 153 |     pub params: Vec<AstNodeId>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 154 |     pub return_type: Option<ValueKind>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FunctionDecl` 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 `name` and `kind` are never read
[INFO] [stdout]    --> src/ast.rs:159:9
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub struct Param {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 159 |     pub name: Symbol,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 160 |     pub kind: ValueKind,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Param` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cond`, `body`, and `else_body` are never read
[INFO] [stdout]    --> src/ast.rs:165:9
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub struct If {
[INFO] [stdout]     |            -- fields in this struct
[INFO] [stdout] 165 |     pub cond: AstNodeId,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 166 |     pub body: StmtList,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 167 |     pub else_body: Option<StmtList>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `If` 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 `ident`, `range`, and `block` are never read
[INFO] [stdout]    --> src/ast.rs:172:9
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct For {
[INFO] [stdout]     |            --- fields in this struct
[INFO] [stdout] 172 |     pub ident: Symbol,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 173 |     pub range: Range,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 174 |     pub block: StmtList,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `For` 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 `start` and `end` are never read
[INFO] [stdout]    --> src/ast.rs:179:9
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub struct Range {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 179 |     pub start: i32,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 180 |     pub end: i32,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Range` 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 `name` and `args` are never read
[INFO] [stdout]    --> src/ast.rs:185:9
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub struct FunctionCall {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 185 |     pub name: Symbol,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 186 |     pub args: Vec<AstNodeId>,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FunctionCall` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `args` is never read
[INFO] [stdout]    --> src/ast.rs:191:9
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub struct Print {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] 191 |     pub args: ArgList,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Print` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `message` is never read
[INFO] [stdout]    --> src/ast.rs:196:9
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub struct Input {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] 196 |     pub message: Option<AstNodeId>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Input` 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: variants `Bool`, `Int`, `Float`, `String`, `Struct`, and `Nil` are never constructed
[INFO] [stdout]   --> src/primitives.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum Value {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] 20 |     Bool(bool),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 21 |     Int(i32),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 22 |     Float(f32),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 23 |     String(Symbol),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 24 |     Struct(Symbol),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 25 |     Nil,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Value` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `functions`, `user_defined_types`, and `level` are never read
[INFO] [stdout]   --> src/scope.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct InnerScope {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] 13 |     functions: HashMap<Symbol, AstNodeId>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 14 |     user_defined_types: HashMap<Symbol, AstNodeId>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     variables: Vec<Variable>,
[INFO] [stdout] 16 |     level: usize,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `value` and `defined_in_scope_level` are never read
[INFO] [stdout]   --> src/scope.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct Variable {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub value: Value,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 36 |     pub defined_in_scope_level: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/scope.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout]  39 | impl Scope {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn push_scope(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     pub fn pop_scope(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub fn new_scope_level(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  61 |     pub fn pop_scope_level(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  70 |     pub fn add_variable(
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn get_variable_mut(&mut self, name: Symbol) -> Option<&mut Variable> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn add_function(&mut self, name: Symbol, decl: AstNodeId) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn get_function(&mut self, name: Symbol) -> Option<AstNodeId> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub fn add_struct(&mut self, name: Symbol, decl: AstNodeId) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn get_struct(&mut self, name: Symbol) -> Option<AstNodeId> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `deferred_function_calls` and `current_function` are never read
[INFO] [stdout]   --> src/typecheck.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | struct Typechecker<'ctxt> {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 40 |     deferred_function_calls: Vec<FunctionCall>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 41 |     current_function: Option<FunctionDecl>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/typecheck.rs:58:28
[INFO] [stdout]    |
[INFO] [stdout] 58 |                 Assignment(v) => unimplemented!(),
[INFO] [stdout]    |                            ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/typecheck.rs:59:23
[INFO] [stdout]    |
[INFO] [stdout] 59 |                 Block(v) => unimplemented!(),
[INFO] [stdout]    |                       ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/typecheck.rs:60:22
[INFO] [stdout]    |
[INFO] [stdout] 60 |                 Decl(v) => unimplemented!(),
[INFO] [stdout]    |                      ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/typecheck.rs:62:21
[INFO] [stdout]    |
[INFO] [stdout] 62 |                 For(v) => unimplemented!(),
[INFO] [stdout]    |                     ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/typecheck.rs:63:23
[INFO] [stdout]    |
[INFO] [stdout] 63 |                 Print(v) => unimplemented!(),
[INFO] [stdout]    |                       ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/typecheck.rs:64:20
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 If(v) => unimplemented!(),
[INFO] [stdout]    |                    ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/typecheck.rs:65:24
[INFO] [stdout]    |
[INFO] [stdout] 65 |                 Return(v) => unimplemented!(),
[INFO] [stdout]    |                        ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/typecheck.rs:66:23
[INFO] [stdout]    |
[INFO] [stdout] 66 |                 Param(v) => unimplemented!(),
[INFO] [stdout]    |                       ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `For` is never constructed
[INFO] [stdout]   --> src/ast.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum Stmt {
[INFO] [stdout]    |          ---- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 23 |     For(For),
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Stmt` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `assignment` is never used
[INFO] [stdout]   --> src/ast.rs:43:11
[INFO] [stdout]    |
[INFO] [stdout] 32 |         impl Stmt {
[INFO] [stdout]    |         --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 43 | accessor!(assignment, Assignment, Stmt::Assignment(a), a);
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `accessor` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `value` and `location` are never read
[INFO] [stdout]   --> src/ast.rs:48:9
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct Return {
[INFO] [stdout]    |            ------ fields in this struct
[INFO] [stdout] 48 |     pub value: Option<AstNodeId>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 49 |     pub location: Location,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Return` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast.rs:60:11
[INFO] [stdout]    |
[INFO] [stdout] 60 |     Float(f32),
[INFO] [stdout]    |     ----- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExprKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 60 -     Float(f32),
[INFO] [stdout] 60 +     Float(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast.rs:61:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |     Integer(i32),
[INFO] [stdout]    |     ------- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExprKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 61 -     Integer(i32),
[INFO] [stdout] 61 +     Integer(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast.rs:62:19
[INFO] [stdout]    |
[INFO] [stdout] 62 |     StringLiteral(Symbol),
[INFO] [stdout]    |     ------------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExprKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 62 -     StringLiteral(Symbol),
[INFO] [stdout] 62 +     StringLiteral(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast.rs:65:11
[INFO] [stdout]    |
[INFO] [stdout] 65 |     Input(Input),
[INFO] [stdout]    |     ----- ^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExprKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 65 -     Input(Input),
[INFO] [stdout] 65 +     Input(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast.rs:66:10
[INFO] [stdout]    |
[INFO] [stdout] 66 |     Bool(bool),
[INFO] [stdout]    |     ---- ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExprKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 66 -     Bool(bool),
[INFO] [stdout] 66 +     Bool(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast.rs:67:13
[INFO] [stdout]    |
[INFO] [stdout] 67 |     UnaryOp(UnaryOp),
[INFO] [stdout]    |     ------- ^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExprKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 67 -     UnaryOp(UnaryOp),
[INFO] [stdout] 67 +     UnaryOp(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ast.rs:69:18
[INFO] [stdout]    |
[INFO] [stdout] 69 |     FunctionCall(FunctionCall),
[INFO] [stdout]    |     ------------ ^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExprKind` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 69 -     FunctionCall(FunctionCall),
[INFO] [stdout] 69 +     FunctionCall(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Range` is never constructed
[INFO] [stdout]   --> src/ast.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub enum ExprKind {
[INFO] [stdout]    |          -------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 64 |     Range(Range),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExprKind` 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 `ident`, `value`, `op`, and `location` are never read
[INFO] [stdout]   --> src/ast.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct Assignment {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 74 |     pub ident: Symbol,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 75 |     pub value: AstNodeId,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 76 |     pub op: AssignmentKind,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 77 |     pub location: Location,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Assignment` 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 `value` and `op` are never read
[INFO] [stdout]   --> src/ast.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 91 | pub struct UnaryOp {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 92 |     pub value: AstNodeId,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 93 |     pub op: UnaryOpKind,
[INFO] [stdout]    |         ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UnaryOp` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast.rs:131:14
[INFO] [stdout]     |
[INFO] [stdout] 131 |     Variable(VarDecl),
[INFO] [stdout]     |     -------- ^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Decl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 131 -     Variable(VarDecl),
[INFO] [stdout] 131 +     Variable(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast.rs:132:14
[INFO] [stdout]     |
[INFO] [stdout] 132 |     Function(FunctionDecl),
[INFO] [stdout]     |     -------- ^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Decl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 132 -     Function(FunctionDecl),
[INFO] [stdout] 132 +     Function(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/ast.rs:133:12
[INFO] [stdout]     |
[INFO] [stdout] 133 |     Struct(StructDecl),
[INFO] [stdout]     |     ------ ^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Decl` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 133 -     Struct(StructDecl),
[INFO] [stdout] 133 +     Struct(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `value`, and `kind` are never read
[INFO] [stdout]    --> src/ast.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub struct VarDecl {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 138 |     pub name: Symbol,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 139 |     pub value: AstNodeId,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 140 |     pub kind: ValueKind,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VarDecl` 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 `name` and `fields` are never read
[INFO] [stdout]    --> src/ast.rs:145:9
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct StructDecl {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 145 |     pub name: Symbol,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 146 |     pub fields: Vec<AstNodeId>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StructDecl` 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 `name`, `body`, `params`, and `return_type` are never read
[INFO] [stdout]    --> src/ast.rs:151:9
[INFO] [stdout]     |
[INFO] [stdout] 150 | pub struct FunctionDecl {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 151 |     pub name: Symbol,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 152 |     pub body: StmtList,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 153 |     pub params: Vec<AstNodeId>,
[INFO] [stdout]     |         ^^^^^^
[INFO] [stdout] 154 |     pub return_type: Option<ValueKind>,
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FunctionDecl` 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 `name` and `kind` are never read
[INFO] [stdout]    --> src/ast.rs:159:9
[INFO] [stdout]     |
[INFO] [stdout] 158 | pub struct Param {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 159 |     pub name: Symbol,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 160 |     pub kind: ValueKind,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Param` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `cond`, `body`, and `else_body` are never read
[INFO] [stdout]    --> src/ast.rs:165:9
[INFO] [stdout]     |
[INFO] [stdout] 164 | pub struct If {
[INFO] [stdout]     |            -- fields in this struct
[INFO] [stdout] 165 |     pub cond: AstNodeId,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 166 |     pub body: StmtList,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 167 |     pub else_body: Option<StmtList>,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `If` 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 `ident`, `range`, and `block` are never read
[INFO] [stdout]    --> src/ast.rs:172:9
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub struct For {
[INFO] [stdout]     |            --- fields in this struct
[INFO] [stdout] 172 |     pub ident: Symbol,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 173 |     pub range: Range,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 174 |     pub block: StmtList,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `For` 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 `start` and `end` are never read
[INFO] [stdout]    --> src/ast.rs:179:9
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub struct Range {
[INFO] [stdout]     |            ----- fields in this struct
[INFO] [stdout] 179 |     pub start: i32,
[INFO] [stdout]     |         ^^^^^
[INFO] [stdout] 180 |     pub end: i32,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Range` 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 `name` and `args` are never read
[INFO] [stdout]    --> src/ast.rs:185:9
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub struct FunctionCall {
[INFO] [stdout]     |            ------------ fields in this struct
[INFO] [stdout] 185 |     pub name: Symbol,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 186 |     pub args: Vec<AstNodeId>,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FunctionCall` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `args` is never read
[INFO] [stdout]    --> src/ast.rs:191:9
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub struct Print {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] 191 |     pub args: ArgList,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Print` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `message` is never read
[INFO] [stdout]    --> src/ast.rs:196:9
[INFO] [stdout]     |
[INFO] [stdout] 195 | pub struct Input {
[INFO] [stdout]     |            ----- field in this struct
[INFO] [stdout] 196 |     pub message: Option<AstNodeId>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Input` 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: variants `Bool`, `Int`, `Float`, `String`, `Struct`, and `Nil` are never constructed
[INFO] [stdout]   --> src/primitives.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum Value {
[INFO] [stdout]    |          ----- variants in this enum
[INFO] [stdout] 20 |     Bool(bool),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 21 |     Int(i32),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 22 |     Float(f32),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 23 |     String(Symbol),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 24 |     Struct(Symbol),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 25 |     Nil,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Value` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `functions`, `user_defined_types`, and `level` are never read
[INFO] [stdout]   --> src/scope.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | struct InnerScope {
[INFO] [stdout]    |        ---------- fields in this struct
[INFO] [stdout] 13 |     functions: HashMap<Symbol, AstNodeId>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 14 |     user_defined_types: HashMap<Symbol, AstNodeId>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     variables: Vec<Variable>,
[INFO] [stdout] 16 |     level: usize,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `value` and `defined_in_scope_level` are never read
[INFO] [stdout]   --> src/scope.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct Variable {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub value: Value,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 36 |     pub defined_in_scope_level: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/scope.rs:47:12
[INFO] [stdout]     |
[INFO] [stdout]  39 | impl Scope {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  47 |     pub fn push_scope(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     pub fn pop_scope(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  57 |     pub fn new_scope_level(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  61 |     pub fn pop_scope_level(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  70 |     pub fn add_variable(
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn get_variable_mut(&mut self, name: Symbol) -> Option<&mut Variable> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn add_function(&mut self, name: Symbol, decl: AstNodeId) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     pub fn get_function(&mut self, name: Symbol) -> Option<AstNodeId> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub fn add_struct(&mut self, name: Symbol, decl: AstNodeId) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn get_struct(&mut self, name: Symbol) -> Option<AstNodeId> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `deferred_function_calls` and `current_function` are never read
[INFO] [stdout]   --> src/typecheck.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | struct Typechecker<'ctxt> {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 40 |     deferred_function_calls: Vec<FunctionCall>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 41 |     current_function: Option<FunctionDecl>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.14s
[INFO] running `Command { std: "docker" "inspect" "fa82c26cb137bb1791f47fa072831de2934602dc5dd39efcd81cbbe2240e0fd2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fa82c26cb137bb1791f47fa072831de2934602dc5dd39efcd81cbbe2240e0fd2", kill_on_drop: false }`
[INFO] [stdout] fa82c26cb137bb1791f47fa072831de2934602dc5dd39efcd81cbbe2240e0fd2
