[INFO] cloning repository https://github.com/colbyhall/toy-lang
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/colbyhall/toy-lang" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcolbyhall%2Ftoy-lang", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcolbyhall%2Ftoy-lang'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 750ebe04fc8970ce562641a64dbe668458cdec46
[INFO] checking colbyhall/toy-lang against try#012cd62c9add58ab3910e44c137d87db3ab70f61 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcolbyhall%2Ftoy-lang" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/colbyhall/toy-lang
[INFO] finished tweaking git repo https://github.com/colbyhall/toy-lang
[INFO] tweaked toml for git repo https://github.com/colbyhall/toy-lang written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/colbyhall/toy-lang on toolchain 012cd62c9add58ab3910e44c137d87db3ab70f61
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/colbyhall/toy-lang 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" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 746be68033f660eaa49e85a87fec39b66ee918ffa216b1aa2d10f865639c4e76
[INFO] running `Command { std: "docker" "start" "-a" "746be68033f660eaa49e85a87fec39b66ee918ffa216b1aa2d10f865639c4e76", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "746be68033f660eaa49e85a87fec39b66ee918ffa216b1aa2d10f865639c4e76", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "746be68033f660eaa49e85a87fec39b66ee918ffa216b1aa2d10f865639c4e76", kill_on_drop: false }`
[INFO] [stdout] 746be68033f660eaa49e85a87fec39b66ee918ffa216b1aa2d10f865639c4e76
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+012cd62c9add58ab3910e44c137d87db3ab70f61" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 595a815a8587795f892fffb63a3461ee6de701c3ae2f2a0a8422e7c6c8b88d27
[INFO] running `Command { std: "docker" "start" "-a" "595a815a8587795f892fffb63a3461ee6de701c3ae2f2a0a8422e7c6c8b88d27", kill_on_drop: false }`
[INFO] [stderr]     Checking toy-lang v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `analyzer::*`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use analyzer::*;
[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: `analyzer::*`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use analyzer::*;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/analyzer.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 |         let mut analyzer = Analyzer { ast };
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `analyzer`
[INFO] [stdout]   --> src/analyzer.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 |         let mut analyzer = Analyzer { ast };
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_analyzer`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/main.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |     ParseError(ParseError),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ProgramError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 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] 26 -     ParseError(ParseError),
[INFO] [stdout] 26 +     ParseError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Bang` is never constructed
[INFO] [stdout]   --> src/lexer.rs:37:2
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum TokenVariant {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 37 |     Bang,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenVariant` 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 `line` and `column` are never read
[INFO] [stdout]   --> src/lexer.rs:61:6
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct Token {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 62 |     pub column: usize,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/parser.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 |     LexerError(LexerError),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 11 -     LexerError(LexerError),
[INFO] [stdout] 11 +     LexerError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `expected` and `found` are never read
[INFO] [stdout]   --> src/parser.rs:13:3
[INFO] [stdout]    |
[INFO] [stdout] 12 |     UnexpectedToken {
[INFO] [stdout]    |     --------------- fields in this variant
[INFO] [stdout] 13 |         expected: Vec<TokenVariant>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 14 |         found: Token,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `body` is never read
[INFO] [stdout]   --> src/parser.rs:47:6
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Ast {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] 47 |     pub body: Body,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ast` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `statements` is never read
[INFO] [stdout]   --> src/parser.rs:52:6
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct Body {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 52 |     pub statements: Vec<Statement>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Body` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `mutable`, `variant`, and `value` are never read
[INFO] [stdout]   --> src/parser.rs:58:3
[INFO] [stdout]    |
[INFO] [stdout] 57 |     Definition {
[INFO] [stdout]    |     ---------- fields in this variant
[INFO] [stdout] 58 |         name: Token,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 59 |         mutable: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 60 |         variant: Option<Token>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 61 |         value: Expression,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `value` are never read
[INFO] [stdout]   --> src/parser.rs:64:3
[INFO] [stdout]    |
[INFO] [stdout] 63 |     Assignment {
[INFO] [stdout]    |     ---------- fields in this variant
[INFO] [stdout] 64 |         name: Expression, // Variable
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 65 |         value: Expression,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `members` are never read
[INFO] [stdout]   --> src/parser.rs:68:3
[INFO] [stdout]    |
[INFO] [stdout] 67 |     StructDeclaration {
[INFO] [stdout]    |     ----------------- fields in this variant
[INFO] [stdout] 68 |         name: Token,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 69 |         members: Vec<Declaration>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `params`, `result`, and `body` are never read
[INFO] [stdout]   --> src/parser.rs:72:3
[INFO] [stdout]    |
[INFO] [stdout] 71 |     FuntionDeclaration {
[INFO] [stdout]    |     ------------------ fields in this variant
[INFO] [stdout] 72 |         name: Token,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 73 |         params: Vec<Declaration>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 74 |         result: Option<Token>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 75 |         body: Body,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/parser.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 77 |     Expression(Expression),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 77 -     Expression(Expression),
[INFO] [stdout] 77 +     Expression(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/parser.rs:78:7
[INFO] [stdout]    |
[INFO] [stdout] 78 |     Body(Body),
[INFO] [stdout]    |     ---- ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 78 -     Body(Body),
[INFO] [stdout] 78 +     Body(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `variant` are never read
[INFO] [stdout]   --> src/parser.rs:83:6
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct Declaration {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 83 |     pub name: Token,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 84 |     pub variant: Token,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Declaration` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `if_branch`, `else_if_branches`, and `else_body` are never read
[INFO] [stdout]   --> src/parser.rs:90:3
[INFO] [stdout]    |
[INFO] [stdout] 89 |     Branch {
[INFO] [stdout]    |     ------ fields in this variant
[INFO] [stdout] 90 |         if_branch: Box<Branch>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 91 |         else_if_branches: Vec<Branch>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |         else_body: Option<Body>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `params` are never read
[INFO] [stdout]   --> src/parser.rs:95:3
[INFO] [stdout]    |
[INFO] [stdout] 94 |     FunctionCall {
[INFO] [stdout]    |     ------------ fields in this variant
[INFO] [stdout] 95 |         name: Token,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 96 |         params: Vec<Expression>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `token` is never read
[INFO] [stdout]   --> src/parser.rs:99:3
[INFO] [stdout]    |
[INFO] [stdout] 98 |     Constant {
[INFO] [stdout]    |     -------- field in this variant
[INFO] [stdout] 99 |         token: Token,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `variant` and `members` are never read
[INFO] [stdout]    --> src/parser.rs:102:3
[INFO] [stdout]     |
[INFO] [stdout] 101 |     StructLiteral {
[INFO] [stdout]     |     ------------- fields in this variant
[INFO] [stdout] 102 |         variant: Token,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 103 |         members: Vec<StructLiteralDefinition>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `accesses` are never read
[INFO] [stdout]    --> src/parser.rs:106:3
[INFO] [stdout]     |
[INFO] [stdout] 105 |     Variable {
[INFO] [stdout]     |     -------- fields in this variant
[INFO] [stdout] 106 |         name: Token,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 107 |         accesses: Vec<Token>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `condition` and `body` are never read
[INFO] [stdout]    --> src/parser.rs:113:6
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub struct Branch {
[INFO] [stdout]     |            ------ fields in this struct
[INFO] [stdout] 113 |     pub condition: Expression,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 114 |     pub body: Body,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Branch` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `expression` are never read
[INFO] [stdout]    --> src/parser.rs:119:2
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct StructLiteralDefinition {
[INFO] [stdout]     |            ----------------------- fields in this struct
[INFO] [stdout] 119 |     name: Token,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 120 |     expression: Expression,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StructLiteralDefinition` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TypeInfo` is never used
[INFO] [stdout]  --> src/analyzer.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum TypeInfo {}
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AnalyzerError` is never used
[INFO] [stdout]  --> src/analyzer.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum AnalyzerError {}
[INFO] [stdout]   |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Analyzer` is never constructed
[INFO] [stdout]  --> src/analyzer.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Analyzer {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `analyze` is never used
[INFO] [stdout]   --> src/analyzer.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Analyzer {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 12 |     pub fn analyze(ast: Ast) -> Result<(), AnalyzerError> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: feature `type_alias_impl_trait` is declared but not used
[INFO] [stdout]  --> src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(type_alias_impl_trait)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/analyzer.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 |         let mut analyzer = Analyzer { ast };
[INFO] [stdout]    |             ----^^^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `analyzer`
[INFO] [stdout]   --> src/analyzer.rs:13:7
[INFO] [stdout]    |
[INFO] [stdout] 13 |         let mut analyzer = Analyzer { ast };
[INFO] [stdout]    |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_analyzer`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/main.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |     ParseError(ParseError),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ProgramError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 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] 26 -     ParseError(ParseError),
[INFO] [stdout] 26 +     ParseError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Bang` is never constructed
[INFO] [stdout]   --> src/lexer.rs:37:2
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum TokenVariant {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 37 |     Bang,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TokenVariant` 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 `line` and `column` are never read
[INFO] [stdout]   --> src/lexer.rs:61:6
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub struct Token {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 62 |     pub column: usize,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/parser.rs:11:13
[INFO] [stdout]    |
[INFO] [stdout] 11 |     LexerError(LexerError),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 11 -     LexerError(LexerError),
[INFO] [stdout] 11 +     LexerError(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `expected` and `found` are never read
[INFO] [stdout]   --> src/parser.rs:13:3
[INFO] [stdout]    |
[INFO] [stdout] 12 |     UnexpectedToken {
[INFO] [stdout]    |     --------------- fields in this variant
[INFO] [stdout] 13 |         expected: Vec<TokenVariant>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 14 |         found: Token,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParseError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `body` is never read
[INFO] [stdout]   --> src/parser.rs:47:6
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Ast {
[INFO] [stdout]    |            --- field in this struct
[INFO] [stdout] 47 |     pub body: Body,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Ast` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `statements` is never read
[INFO] [stdout]   --> src/parser.rs:52:6
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct Body {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 52 |     pub statements: Vec<Statement>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Body` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `mutable`, `variant`, and `value` are never read
[INFO] [stdout]   --> src/parser.rs:58:3
[INFO] [stdout]    |
[INFO] [stdout] 57 |     Definition {
[INFO] [stdout]    |     ---------- fields in this variant
[INFO] [stdout] 58 |         name: Token,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 59 |         mutable: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 60 |         variant: Option<Token>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 61 |         value: Expression,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `value` are never read
[INFO] [stdout]   --> src/parser.rs:64:3
[INFO] [stdout]    |
[INFO] [stdout] 63 |     Assignment {
[INFO] [stdout]    |     ---------- fields in this variant
[INFO] [stdout] 64 |         name: Expression, // Variable
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 65 |         value: Expression,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `members` are never read
[INFO] [stdout]   --> src/parser.rs:68:3
[INFO] [stdout]    |
[INFO] [stdout] 67 |     StructDeclaration {
[INFO] [stdout]    |     ----------------- fields in this variant
[INFO] [stdout] 68 |         name: Token,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 69 |         members: Vec<Declaration>,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name`, `params`, `result`, and `body` are never read
[INFO] [stdout]   --> src/parser.rs:72:3
[INFO] [stdout]    |
[INFO] [stdout] 71 |     FuntionDeclaration {
[INFO] [stdout]    |     ------------------ fields in this variant
[INFO] [stdout] 72 |         name: Token,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 73 |         params: Vec<Declaration>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 74 |         result: Option<Token>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 75 |         body: Body,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/parser.rs:77:13
[INFO] [stdout]    |
[INFO] [stdout] 77 |     Expression(Expression),
[INFO] [stdout]    |     ---------- ^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 77 -     Expression(Expression),
[INFO] [stdout] 77 +     Expression(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/parser.rs:78:7
[INFO] [stdout]    |
[INFO] [stdout] 78 |     Body(Body),
[INFO] [stdout]    |     ---- ^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Statement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 78 -     Body(Body),
[INFO] [stdout] 78 +     Body(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `variant` are never read
[INFO] [stdout]   --> src/parser.rs:83:6
[INFO] [stdout]    |
[INFO] [stdout] 82 | pub struct Declaration {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 83 |     pub name: Token,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 84 |     pub variant: Token,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Declaration` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `if_branch`, `else_if_branches`, and `else_body` are never read
[INFO] [stdout]   --> src/parser.rs:90:3
[INFO] [stdout]    |
[INFO] [stdout] 89 |     Branch {
[INFO] [stdout]    |     ------ fields in this variant
[INFO] [stdout] 90 |         if_branch: Box<Branch>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 91 |         else_if_branches: Vec<Branch>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |         else_body: Option<Body>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `params` are never read
[INFO] [stdout]   --> src/parser.rs:95:3
[INFO] [stdout]    |
[INFO] [stdout] 94 |     FunctionCall {
[INFO] [stdout]    |     ------------ fields in this variant
[INFO] [stdout] 95 |         name: Token,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 96 |         params: Vec<Expression>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `token` is never read
[INFO] [stdout]   --> src/parser.rs:99:3
[INFO] [stdout]    |
[INFO] [stdout] 98 |     Constant {
[INFO] [stdout]    |     -------- field in this variant
[INFO] [stdout] 99 |         token: Token,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `variant` and `members` are never read
[INFO] [stdout]    --> src/parser.rs:102:3
[INFO] [stdout]     |
[INFO] [stdout] 101 |     StructLiteral {
[INFO] [stdout]     |     ------------- fields in this variant
[INFO] [stdout] 102 |         variant: Token,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout] 103 |         members: Vec<StructLiteralDefinition>,
[INFO] [stdout]     |         ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `accesses` are never read
[INFO] [stdout]    --> src/parser.rs:106:3
[INFO] [stdout]     |
[INFO] [stdout] 105 |     Variable {
[INFO] [stdout]     |     -------- fields in this variant
[INFO] [stdout] 106 |         name: Token,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] 107 |         accesses: Vec<Token>,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Expression` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `condition` and `body` are never read
[INFO] [stdout]    --> src/parser.rs:113:6
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub struct Branch {
[INFO] [stdout]     |            ------ fields in this struct
[INFO] [stdout] 113 |     pub condition: Expression,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout] 114 |     pub body: Body,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Branch` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `name` and `expression` are never read
[INFO] [stdout]    --> src/parser.rs:119:2
[INFO] [stdout]     |
[INFO] [stdout] 118 | pub struct StructLiteralDefinition {
[INFO] [stdout]     |            ----------------------- fields in this struct
[INFO] [stdout] 119 |     name: Token,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 120 |     expression: Expression,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `StructLiteralDefinition` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TypeInfo` is never used
[INFO] [stdout]  --> src/analyzer.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum TypeInfo {}
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AnalyzerError` is never used
[INFO] [stdout]  --> src/analyzer.rs:5:10
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum AnalyzerError {}
[INFO] [stdout]   |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Analyzer` is never constructed
[INFO] [stdout]  --> src/analyzer.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct Analyzer {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `analyze` is never used
[INFO] [stdout]   --> src/analyzer.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Analyzer {
[INFO] [stdout]    | ------------- associated function in this implementation
[INFO] [stdout] 12 |     pub fn analyze(ast: Ast) -> Result<(), AnalyzerError> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: feature `type_alias_impl_trait` is declared but not used
[INFO] [stdout]  --> src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(type_alias_impl_trait)]
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_features)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.38s
[INFO] running `Command { std: "docker" "inspect" "595a815a8587795f892fffb63a3461ee6de701c3ae2f2a0a8422e7c6c8b88d27", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "595a815a8587795f892fffb63a3461ee6de701c3ae2f2a0a8422e7c6c8b88d27", kill_on_drop: false }`
[INFO] [stdout] 595a815a8587795f892fffb63a3461ee6de701c3ae2f2a0a8422e7c6c8b88d27
