[INFO] cloning repository https://github.com/violetastcs/sun
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/violetastcs/sun" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvioletastcs%2Fsun", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvioletastcs%2Fsun'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] abdbea9b0a43e4e4323371d66740b03cbc94020d
[INFO] checking violetastcs/sun against try#f77b5bc6c7c84df104f86b0dd01d9490e3923fa8 for pr-147834
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fvioletastcs%2Fsun" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/violetastcs/sun
[INFO] finished tweaking git repo https://github.com/violetastcs/sun
[INFO] tweaked toml for git repo https://github.com/violetastcs/sun written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/violetastcs/sun on toolchain f77b5bc6c7c84df104f86b0dd01d9490e3923fa8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/violetastcs/sun 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" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8bdd8bf71d9bac73479e346b91b47ef93b7fc329c75ae1b5b5b60cc2f46debfd
[INFO] running `Command { std: "docker" "start" "-a" "8bdd8bf71d9bac73479e346b91b47ef93b7fc329c75ae1b5b5b60cc2f46debfd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8bdd8bf71d9bac73479e346b91b47ef93b7fc329c75ae1b5b5b60cc2f46debfd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8bdd8bf71d9bac73479e346b91b47ef93b7fc329c75ae1b5b5b60cc2f46debfd", kill_on_drop: false }`
[INFO] [stdout] 8bdd8bf71d9bac73479e346b91b47ef93b7fc329c75ae1b5b5b60cc2f46debfd
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+f77b5bc6c7c84df104f86b0dd01d9490e3923fa8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c1933010fecdeeff47f2a8d97aad1e47cd5ac5bf0a4dc0fa8a9151a483e85d6b
[INFO] running `Command { std: "docker" "start" "-a" "c1933010fecdeeff47f2a8d97aad1e47cd5ac5bf0a4dc0fa8a9151a483e85d6b", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.4.1
[INFO] [stderr]     Checking termcolor v1.1.2
[INFO] [stderr]     Checking regex-syntax v0.6.25
[INFO] [stderr]     Checking codespan-reporting v0.11.1
[INFO] [stderr]     Checking codespan v0.11.1
[INFO] [stderr]     Checking aho-corasick v0.7.18
[INFO] [stderr]     Checking regex v1.5.4
[INFO] [stderr]     Checking sun v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ItemPath`
[INFO] [stdout]  --> src/analysis.rs:5:44
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::parser::{CompilationUnit, Type, ItemPath, Statement, StatementKind};
[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: `ItemPath`
[INFO] [stdout]  --> src/analysis.rs:5:44
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::parser::{CompilationUnit, Type, ItemPath, Statement, StatementKind};
[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 variable: `data`
[INFO] [stdout]    --> src/sexpr.rs:164:73
[INFO] [stdout]     |
[INFO] [stdout] 164 |         Some(&Token { kind: TokenKind::Whitespace | TokenKind::Comment, data, span }) => {
[INFO] [stdout]     |                                                                         ^^^^ help: try ignoring the field: `data: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/sexpr.rs:164:79
[INFO] [stdout]     |
[INFO] [stdout] 164 |         Some(&Token { kind: TokenKind::Whitespace | TokenKind::Comment, data, span }) => {
[INFO] [stdout]     |                                                                               ^^^^ help: try ignoring the field: `span: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `c`
[INFO] [stdout]    --> src/parser.rs:347:9
[INFO] [stdout]     |
[INFO] [stdout] 347 |         c => Err(ParserError {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]    --> src/sexpr.rs:164:73
[INFO] [stdout]     |
[INFO] [stdout] 164 |         Some(&Token { kind: TokenKind::Whitespace | TokenKind::Comment, data, span }) => {
[INFO] [stdout]     |                                                                         ^^^^ help: try ignoring the field: `data: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/sexpr.rs:164:79
[INFO] [stdout]     |
[INFO] [stdout] 164 |         Some(&Token { kind: TokenKind::Whitespace | TokenKind::Comment, data, span }) => {
[INFO] [stdout]     |                                                                               ^^^^ help: try ignoring the field: `span: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/analysis.rs:49:13
[INFO] [stdout]    |
[INFO] [stdout] 49 |             _ => ()
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/analysis.rs:49:13
[INFO] [stdout]    |
[INFO] [stdout] 31 | /             Statement { kind: StatementKind::Defun {
[INFO] [stdout] 32 | |                 name, args, ..
[INFO] [stdout] 33 | |             }, span } => {
[INFO] [stdout]    | |_____________________- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 40 | /             Statement { kind: StatementKind::Decl {
[INFO] [stdout] 41 | |                 name, kind
[INFO] [stdout] 42 | |             }, span } => {
[INFO] [stdout]    | |_____________________- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 49 |               _ => ()
[INFO] [stdout]    |               ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `next_useful` is never used
[INFO] [stdout]    --> src/lexer.rs:188:8
[INFO] [stdout]     |
[INFO] [stdout] 148 | impl<'a> Lexer<'a> {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 188 |     fn next_useful(&mut self) -> Option<Token<'a>> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/sexpr.rs:8:28
[INFO] [stdout]   |
[INFO] [stdout] 8 |     UnexpectedCloseBracket(BracketKind),
[INFO] [stdout]   |     ---------------------- ^^^^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `SexprErrorKind` 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] 8 -     UnexpectedCloseBracket(BracketKind),
[INFO] [stdout] 8 +     UnexpectedCloseBracket(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Expected` is never constructed
[INFO] [stdout]   --> src/sexpr.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub enum SexprErrorKind {
[INFO] [stdout]    |          -------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 11 |     Expected(&'static [TokenKind], Option<TokenKind>),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SexprErrorKind` 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 `path` is never read
[INFO] [stdout]   --> src/parser.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct ItemPath {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 10 |     path: Vec<String>
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ItemPath` 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/parser.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 |     Sexpr(SexprErrorKind),
[INFO] [stdout]    |     ----- ^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParserErrorKind` 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] 25 -     Sexpr(SexprErrorKind),
[INFO] [stdout] 25 +     Sexpr(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/parser.rs:27:14
[INFO] [stdout]    |
[INFO] [stdout] 27 |     Expected(AtomKind, AtomKind)
[INFO] [stdout]    |     -------- ^^^^^^^^  ^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParserErrorKind` has derived impls for the traits `Clone` and `Debug`, but these are 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] 27 -     Expected(AtomKind, AtomKind)
[INFO] [stdout] 27 +     Expected((), ())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `kind` and `span` are never read
[INFO] [stdout]   --> src/parser.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct ParserError {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 32 |     kind: ParserErrorKind,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 33 |     span: Span
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParserError` 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/parser.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 |     Symbol(ItemPath),
[INFO] [stdout]    |     ------ ^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExpressionKind` 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] 76 -     Symbol(ItemPath),
[INFO] [stdout] 76 +     Symbol(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/parser.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 77 |     Integer(i128),
[INFO] [stdout]    |     ------- ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExpressionKind` 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] 77 -     Integer(i128),
[INFO] [stdout] 77 +     Integer(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/parser.rs:78:10
[INFO] [stdout]    |
[INFO] [stdout] 78 |     Real(f64),
[INFO] [stdout]    |     ---- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExpressionKind` 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] 78 -     Real(f64),
[INFO] [stdout] 78 +     Real(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/parser.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 |     String(String),
[INFO] [stdout]    |     ------ ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExpressionKind` 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] 79 -     String(String),
[INFO] [stdout] 79 +     String(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/parser.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 80 |     Quoted(Box<Sexpr>),
[INFO] [stdout]    |     ------ ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExpressionKind` 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] 80 -     Quoted(Box<Sexpr>),
[INFO] [stdout] 80 +     Quoted(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `func` and `args` are never read
[INFO] [stdout]   --> src/parser.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |     Call {
[INFO] [stdout]    |     ---- fields in this variant
[INFO] [stdout] 84 |         func: ItemPath,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 85 |         args: Vec<Expression> 
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExpressionKind` 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 `kind` and `span` are never read
[INFO] [stdout]   --> src/parser.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub struct Expression {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 91 |     kind: ExpressionKind,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 92 |     span: Span
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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 `F32`, `F64`, and `Char` are never constructed
[INFO] [stdout]    --> src/parser.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub enum BaseType {
[INFO] [stdout]     |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 157 |     F32, F64,
[INFO] [stdout]     |     ^^^  ^^^
[INFO] [stdout] 158 |
[INFO] [stdout] 159 |     Char,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BaseType` 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/parser.rs:184:14
[INFO] [stdout]     |
[INFO] [stdout] 184 |     BaseType(BaseType),
[INFO] [stdout]     |     -------- ^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TypeData` 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] 184 -     BaseType(BaseType),
[INFO] [stdout] 184 +     BaseType(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/parser.rs:185:13
[INFO] [stdout]     |
[INFO] [stdout] 185 |     TypeRef(ItemPath),
[INFO] [stdout]     |     ------- ^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TypeData` 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] 185 -     TypeRef(ItemPath),
[INFO] [stdout] 185 +     TypeRef(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `args` and `ret` are never read
[INFO] [stdout]    --> src/parser.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 186 |     Fun {
[INFO] [stdout]     |     --- fields in this variant
[INFO] [stdout] 187 |         args: Vec<Type>,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 188 |         ret: Box<Type>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TypeData` 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 `of` and `args` are never read
[INFO] [stdout]    --> src/parser.rs:191:9
[INFO] [stdout]     |
[INFO] [stdout] 190 |     Generic {
[INFO] [stdout]     |     ------- fields in this variant
[INFO] [stdout] 191 |         of: ItemPath,
[INFO] [stdout]     |         ^^
[INFO] [stdout] 192 |         args: Vec<Type>
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TypeData` 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: variant `Empty` is never constructed
[INFO] [stdout]    --> src/parser.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub enum TypeData {
[INFO] [stdout]     |          -------- variant in this enum
[INFO] [stdout] 183 |     Empty,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TypeData` 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 `data` and `span` are never read
[INFO] [stdout]    --> src/parser.rs:198:5
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Type {
[INFO] [stdout]     |            ---- fields in this struct
[INFO] [stdout] 198 |     data: TypeData,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 199 |     span: Span
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Type` 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 `body` is never read
[INFO] [stdout]    --> src/parser.rs:269:9
[INFO] [stdout]     |
[INFO] [stdout] 266 |     Defun {
[INFO] [stdout]     |     ----- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 269 |         body: Vec<Expression>
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StatementKind` 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 `args` and `span` are never read
[INFO] [stdout]   --> src/analysis.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct Function {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout]  9 |     args: Vec<String>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 10 |     span: Span
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Function` 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 `kind` and `span` are never read
[INFO] [stdout]   --> src/analysis.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Decl {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 15 |     kind: Type,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 16 |     span: Span
[INFO] [stdout]    |     ^^^^
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `decls` and `functions` are never read
[INFO] [stdout]   --> src/analysis.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct UnitInfo {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 21 |     decls: HashMap<String, Decl>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 22 |     functions: HashMap<String, Function>
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UnitInfo` 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: unused variable: `c`
[INFO] [stdout]    --> src/parser.rs:347:9
[INFO] [stdout]     |
[INFO] [stdout] 347 |         c => Err(ParserError {
[INFO] [stdout]     |         ^ help: if this is intentional, prefix it with an underscore: `_c`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/analysis.rs:49:13
[INFO] [stdout]    |
[INFO] [stdout] 49 |             _ => ()
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/analysis.rs:49:13
[INFO] [stdout]    |
[INFO] [stdout] 31 | /             Statement { kind: StatementKind::Defun {
[INFO] [stdout] 32 | |                 name, args, ..
[INFO] [stdout] 33 | |             }, span } => {
[INFO] [stdout]    | |_____________________- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 40 | /             Statement { kind: StatementKind::Decl {
[INFO] [stdout] 41 | |                 name, kind
[INFO] [stdout] 42 | |             }, span } => {
[INFO] [stdout]    | |_____________________- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 49 |               _ => ()
[INFO] [stdout]    |               ^ collectively making this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `next_useful` is never used
[INFO] [stdout]    --> src/lexer.rs:188:8
[INFO] [stdout]     |
[INFO] [stdout] 148 | impl<'a> Lexer<'a> {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 188 |     fn next_useful(&mut self) -> Option<Token<'a>> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]  --> src/sexpr.rs:8:28
[INFO] [stdout]   |
[INFO] [stdout] 8 |     UnexpectedCloseBracket(BracketKind),
[INFO] [stdout]   |     ---------------------- ^^^^^^^^^^^
[INFO] [stdout]   |     |
[INFO] [stdout]   |     field in this variant
[INFO] [stdout]   |
[INFO] [stdout]   = note: `SexprErrorKind` 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] 8 -     UnexpectedCloseBracket(BracketKind),
[INFO] [stdout] 8 +     UnexpectedCloseBracket(()),
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Expected` is never constructed
[INFO] [stdout]   --> src/sexpr.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub enum SexprErrorKind {
[INFO] [stdout]    |          -------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 11 |     Expected(&'static [TokenKind], Option<TokenKind>),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SexprErrorKind` 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 `path` is never read
[INFO] [stdout]   --> src/parser.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct ItemPath {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] 10 |     path: Vec<String>
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ItemPath` 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/parser.rs:25:11
[INFO] [stdout]    |
[INFO] [stdout] 25 |     Sexpr(SexprErrorKind),
[INFO] [stdout]    |     ----- ^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParserErrorKind` 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] 25 -     Sexpr(SexprErrorKind),
[INFO] [stdout] 25 +     Sexpr(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `0` and `1` are never read
[INFO] [stdout]   --> src/parser.rs:27:14
[INFO] [stdout]    |
[INFO] [stdout] 27 |     Expected(AtomKind, AtomKind)
[INFO] [stdout]    |     -------- ^^^^^^^^  ^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParserErrorKind` has derived impls for the traits `Clone` and `Debug`, but these are 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] 27 -     Expected(AtomKind, AtomKind)
[INFO] [stdout] 27 +     Expected((), ())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `kind` and `span` are never read
[INFO] [stdout]   --> src/parser.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct ParserError {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 32 |     kind: ParserErrorKind,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 33 |     span: Span
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParserError` 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/parser.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 |     Symbol(ItemPath),
[INFO] [stdout]    |     ------ ^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExpressionKind` 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] 76 -     Symbol(ItemPath),
[INFO] [stdout] 76 +     Symbol(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/parser.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 77 |     Integer(i128),
[INFO] [stdout]    |     ------- ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExpressionKind` 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] 77 -     Integer(i128),
[INFO] [stdout] 77 +     Integer(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/parser.rs:78:10
[INFO] [stdout]    |
[INFO] [stdout] 78 |     Real(f64),
[INFO] [stdout]    |     ---- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExpressionKind` 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] 78 -     Real(f64),
[INFO] [stdout] 78 +     Real(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/parser.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 |     String(String),
[INFO] [stdout]    |     ------ ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExpressionKind` 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] 79 -     String(String),
[INFO] [stdout] 79 +     String(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/parser.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 80 |     Quoted(Box<Sexpr>),
[INFO] [stdout]    |     ------ ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExpressionKind` 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] 80 -     Quoted(Box<Sexpr>),
[INFO] [stdout] 80 +     Quoted(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `func` and `args` are never read
[INFO] [stdout]   --> src/parser.rs:84:9
[INFO] [stdout]    |
[INFO] [stdout] 83 |     Call {
[INFO] [stdout]    |     ---- fields in this variant
[INFO] [stdout] 84 |         func: ItemPath,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 85 |         args: Vec<Expression> 
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ExpressionKind` 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 `kind` and `span` are never read
[INFO] [stdout]   --> src/parser.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub struct Expression {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 91 |     kind: ExpressionKind,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 92 |     span: Span
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` 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 `F32`, `F64`, and `Char` are never constructed
[INFO] [stdout]    --> src/parser.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 151 | pub enum BaseType {
[INFO] [stdout]     |          -------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 157 |     F32, F64,
[INFO] [stdout]     |     ^^^  ^^^
[INFO] [stdout] 158 |
[INFO] [stdout] 159 |     Char,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BaseType` 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/parser.rs:184:14
[INFO] [stdout]     |
[INFO] [stdout] 184 |     BaseType(BaseType),
[INFO] [stdout]     |     -------- ^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TypeData` 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] 184 -     BaseType(BaseType),
[INFO] [stdout] 184 +     BaseType(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]    --> src/parser.rs:185:13
[INFO] [stdout]     |
[INFO] [stdout] 185 |     TypeRef(ItemPath),
[INFO] [stdout]     |     ------- ^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TypeData` 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] 185 -     TypeRef(ItemPath),
[INFO] [stdout] 185 +     TypeRef(()),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `args` and `ret` are never read
[INFO] [stdout]    --> src/parser.rs:187:9
[INFO] [stdout]     |
[INFO] [stdout] 186 |     Fun {
[INFO] [stdout]     |     --- fields in this variant
[INFO] [stdout] 187 |         args: Vec<Type>,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 188 |         ret: Box<Type>,
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TypeData` 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 `of` and `args` are never read
[INFO] [stdout]    --> src/parser.rs:191:9
[INFO] [stdout]     |
[INFO] [stdout] 190 |     Generic {
[INFO] [stdout]     |     ------- fields in this variant
[INFO] [stdout] 191 |         of: ItemPath,
[INFO] [stdout]     |         ^^
[INFO] [stdout] 192 |         args: Vec<Type>
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TypeData` 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: variant `Empty` is never constructed
[INFO] [stdout]    --> src/parser.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 182 | pub enum TypeData {
[INFO] [stdout]     |          -------- variant in this enum
[INFO] [stdout] 183 |     Empty,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TypeData` 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 `data` and `span` are never read
[INFO] [stdout]    --> src/parser.rs:198:5
[INFO] [stdout]     |
[INFO] [stdout] 197 | pub struct Type {
[INFO] [stdout]     |            ---- fields in this struct
[INFO] [stdout] 198 |     data: TypeData,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 199 |     span: Span
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Type` 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 `body` is never read
[INFO] [stdout]    --> src/parser.rs:269:9
[INFO] [stdout]     |
[INFO] [stdout] 266 |     Defun {
[INFO] [stdout]     |     ----- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 269 |         body: Vec<Expression>
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StatementKind` 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 `args` and `span` are never read
[INFO] [stdout]   --> src/analysis.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct Function {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout]  9 |     args: Vec<String>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 10 |     span: Span
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Function` 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 `kind` and `span` are never read
[INFO] [stdout]   --> src/analysis.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Decl {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 15 |     kind: Type,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 16 |     span: Span
[INFO] [stdout]    |     ^^^^
[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] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `decls` and `functions` are never read
[INFO] [stdout]   --> src/analysis.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct UnitInfo {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 21 |     decls: HashMap<String, Decl>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 22 |     functions: HashMap<String, Function>
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UnitInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.01s
[INFO] running `Command { std: "docker" "inspect" "c1933010fecdeeff47f2a8d97aad1e47cd5ac5bf0a4dc0fa8a9151a483e85d6b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c1933010fecdeeff47f2a8d97aad1e47cd5ac5bf0a4dc0fa8a9151a483e85d6b", kill_on_drop: false }`
[INFO] [stdout] c1933010fecdeeff47f2a8d97aad1e47cd5ac5bf0a4dc0fa8a9151a483e85d6b
