[INFO] cloning repository https://github.com/p2mate/monkey
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/p2mate/monkey" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fp2mate%2Fmonkey", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fp2mate%2Fmonkey'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] cd785bbb43c986a17a900b2be4340a4d877c50db
[INFO] checking p2mate/monkey against master#5a45ab9738330fb317d49e3594c2db5248b1e971 for pr-136303
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fp2mate%2Fmonkey" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/p2mate/monkey on toolchain 5a45ab9738330fb317d49e3594c2db5248b1e971
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5a45ab9738330fb317d49e3594c2db5248b1e971" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/p2mate/monkey
[INFO] finished tweaking git repo https://github.com/p2mate/monkey
[INFO] tweaked toml for git repo https://github.com/p2mate/monkey written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/p2mate/monkey 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" "+5a45ab9738330fb317d49e3594c2db5248b1e971" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:c80049f3b88b82089a44e0f06d0d6029d44b96b7257e55a1cd63dbc9f4c33334" "/opt/rustwide/cargo-home/bin/cargo" "+5a45ab9738330fb317d49e3594c2db5248b1e971" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 980cbcced301b3ec9c7238bf8f76934671a065ce23a2e3e69cbcab1a28997b98
[INFO] running `Command { std: "docker" "start" "-a" "980cbcced301b3ec9c7238bf8f76934671a065ce23a2e3e69cbcab1a28997b98", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "980cbcced301b3ec9c7238bf8f76934671a065ce23a2e3e69cbcab1a28997b98", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "980cbcced301b3ec9c7238bf8f76934671a065ce23a2e3e69cbcab1a28997b98", kill_on_drop: false }`
[INFO] [stdout] 980cbcced301b3ec9c7238bf8f76934671a065ce23a2e3e69cbcab1a28997b98
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-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:c80049f3b88b82089a44e0f06d0d6029d44b96b7257e55a1cd63dbc9f4c33334" "/opt/rustwide/cargo-home/bin/cargo" "+5a45ab9738330fb317d49e3594c2db5248b1e971" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ce2364106dec1bd233d1f86bf17bf384182d23df6786110aa682579803ea1015
[INFO] running `Command { std: "docker" "start" "-a" "ce2364106dec1bd233d1f86bf17bf384182d23df6786110aa682579803ea1015", kill_on_drop: false }`
[INFO] [stderr]     Checking monkey v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `prio`
[INFO] [stdout]    --> src/monkey/parser.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 146 |         prio: ExpressionPrio,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_prio`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_same_type_as` is never used
[INFO] [stdout]   --> src/monkey/lexer.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl Token {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] 43 |     pub fn is_same_type_as(&self, other: &Token) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parser` is never constructed
[INFO] [stdout]  --> src/monkey/parser.rs:4:8
[INFO] [stdout]   |
[INFO] [stdout] 4 | struct Parser<'a> {
[INFO] [stdout]   |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ParseError` is never constructed
[INFO] [stdout]   --> src/monkey/parser.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct ParseError {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ExpressionPrio` is never used
[INFO] [stdout]   --> src/monkey/parser.rs:14:6
[INFO] [stdout]    |
[INFO] [stdout] 14 | enum ExpressionPrio {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `from_expected` and `from_string` are never used
[INFO] [stdout]   --> src/monkey/parser.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl ParseError {
[INFO] [stdout]    | --------------- associated functions in this implementation
[INFO] [stdout] 25 |     fn from_expected(got: Token, expected: Token) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     fn from_string(msg: &str) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/monkey/parser.rs:43:8
[INFO] [stdout]     |
[INFO] [stdout] 42  | impl<'a> Parser<'a> {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 43  |     fn new(l: &'a mut Lexer<'a>) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 50  |     fn parse_program(&mut self) -> Program {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 63  |     fn parse_statement<I>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78  |     fn parse_let_statement<I>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn parse_return_statement<I>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 122 |     fn parse_expression_statement<I>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     fn parse_expression<I>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 180 |     fn expect_peek<I>(
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LetStatement` is never constructed
[INFO] [stdout]  --> src/monkey/ast.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct LetStatement {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `LetStatement` 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: enum `Expression` is never used
[INFO] [stdout]   --> src/monkey/ast.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum Expression {
[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: struct `Identifier` is never constructed
[INFO] [stdout]   --> src/monkey/ast.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Identifier {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Identifier` 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: associated items `from_token` and `token_literal` are never used
[INFO] [stdout]   --> src/monkey/ast.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl Identifier {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 25 |     pub fn from_token(t: Token) -> Option<Self> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn token_literal(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IntegerLiteral` is never constructed
[INFO] [stdout]   --> src/monkey/ast.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct IntegerLiteral {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `IntegerLiteral` 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: associated items `from_token` and `token_literal` are never used
[INFO] [stdout]   --> src/monkey/ast.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | impl IntegerLiteral {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 48 |     pub fn from_token(t: Token) -> Option<Self> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     pub fn token_literal(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Minus` and `Bang` are never constructed
[INFO] [stdout]   --> src/monkey/ast.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub enum PrefixOperator {
[INFO] [stdout]    |          -------------- variants in this enum
[INFO] [stdout] 66 |     Minus,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 67 |     Bang,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PrefixOperator` 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: associated function `from_token` is never used
[INFO] [stdout]   --> src/monkey/ast.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 70 | impl PrefixOperator {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 71 |     fn from_token(t: Token) -> Self {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_token` is never used
[INFO] [stdout]   --> src/monkey/ast.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 80 | impl PrefixExpression {
[INFO] [stdout]    | --------------------- associated function in this implementation
[INFO] [stdout] 81 |     pub fn from_token(t: Token, expr: Option<Expression>) -> Option<Self> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PrefixExpression` is never constructed
[INFO] [stdout]   --> src/monkey/ast.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub struct PrefixExpression {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PrefixExpression` 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: struct `ReturnStatement` is never constructed
[INFO] [stdout]    --> src/monkey/ast.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub struct ReturnStatement {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ReturnStatement` 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: struct `ExpressionStatement` is never constructed
[INFO] [stdout]    --> src/monkey/ast.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub struct ExpressionStatement {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ExpressionStatement` 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: enum `ASTNode` is never used
[INFO] [stdout]    --> src/monkey/ast.rs:115:10
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub enum ASTNode {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ASTNode` 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: associated items `token_literal`, `new_let_node`, `new_return_node`, `new_expression_statement_node`, and `is_same_type_as` are never used
[INFO] [stdout]    --> src/monkey/ast.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout] 123 | impl ASTNode {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 124 |     pub fn token_literal(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 134 |     pub fn new_let_node(token: Token, name: Identifier, expression: Expression) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn new_return_node(token: Token, expression: Expression) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 148 |     pub fn new_expression_statement_node(token: Token, expression: Expression) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn is_same_type_as(&self, other: &ASTNode) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Program` is never constructed
[INFO] [stdout]    --> src/monkey/ast.rs:159:12
[INFO] [stdout]     |
[INFO] [stdout] 159 | pub struct Program {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Program` 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: associated items `new` and `push` are never used
[INFO] [stdout]    --> src/monkey/ast.rs:164:12
[INFO] [stdout]     |
[INFO] [stdout] 163 | impl Program {
[INFO] [stdout]     | ------------ associated items in this implementation
[INFO] [stdout] 164 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     pub fn push(&mut self, node: ASTNode) {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prio`
[INFO] [stdout]    --> src/monkey/parser.rs:146:9
[INFO] [stdout]     |
[INFO] [stdout] 146 |         prio: ExpressionPrio,
[INFO] [stdout]     |         ^^^^ help: if this is intentional, prefix it with an underscore: `_prio`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Equals`, `LessGreater`, `Sum`, `Product`, and `Call` are never constructed
[INFO] [stdout]   --> src/monkey/parser.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | enum ExpressionPrio {
[INFO] [stdout]    |      -------------- variants in this enum
[INFO] [stdout] 15 |     Lowest = 0,
[INFO] [stdout] 16 |     Equals = 1,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 17 |     LessGreater = 2,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 18 |     Sum = 3,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 19 |     Product = 4,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 20 |     Prefix = 5,
[INFO] [stdout] 21 |     Call = 6,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `expression` is never read
[INFO] [stdout]  --> src/monkey/ast.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct LetStatement {
[INFO] [stdout]   |            ------------ field in this struct
[INFO] [stdout] 5 |     pub name: Identifier,
[INFO] [stdout] 6 |     pub expression: Expression,
[INFO] [stdout]   |         ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `LetStatement` 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 `token` is never read
[INFO] [stdout]   --> src/monkey/ast.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub struct PrefixExpression {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 97 |     token: Token,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PrefixExpression` 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 `expression` is never read
[INFO] [stdout]    --> src/monkey/ast.rs:105:9
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub struct ReturnStatement {
[INFO] [stdout]     |            --------------- field in this struct
[INFO] [stdout] 104 |     token: Token,
[INFO] [stdout] 105 |     pub expression: Expression,
[INFO] [stdout]     |         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ReturnStatement` 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 `token` is never read
[INFO] [stdout]    --> src/monkey/ast.rs:110:5
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub struct ExpressionStatement {
[INFO] [stdout]     |            ------------------- field in this struct
[INFO] [stdout] 110 |     token: Token,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ExpressionStatement` 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 `Expression` and `Identifier` are never constructed
[INFO] [stdout]    --> src/monkey/ast.rs:118:5
[INFO] [stdout]     |
[INFO] [stdout] 115 | pub enum ASTNode {
[INFO] [stdout]     |          ------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 118 |     Expression(Expression),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 119 |     Identifier(Identifier),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ASTNode` 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 0.15s
[INFO] running `Command { std: "docker" "inspect" "ce2364106dec1bd233d1f86bf17bf384182d23df6786110aa682579803ea1015", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ce2364106dec1bd233d1f86bf17bf384182d23df6786110aa682579803ea1015", kill_on_drop: false }`
[INFO] [stdout] ce2364106dec1bd233d1f86bf17bf384182d23df6786110aa682579803ea1015
