[INFO] cloning repository https://github.com/gmartsenkov/monkey-lang
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/gmartsenkov/monkey-lang" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgmartsenkov%2Fmonkey-lang", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgmartsenkov%2Fmonkey-lang'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] edeb79616ead3d54d5071b0660ea1f7625439d09
[INFO] checking gmartsenkov/monkey-lang against master#c2f2db79ca3024f68d22b45aa22b570775c2c4ad for pr-124157
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgmartsenkov%2Fmonkey-lang" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/gmartsenkov/monkey-lang on toolchain c2f2db79ca3024f68d22b45aa22b570775c2c4ad
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/gmartsenkov/monkey-lang
[INFO] finished tweaking git repo https://github.com/gmartsenkov/monkey-lang
[INFO] tweaked toml for git repo https://github.com/gmartsenkov/monkey-lang written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/gmartsenkov/monkey-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" "+c2f2db79ca3024f68d22b45aa22b570775c2c4ad" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[ERROR] this task or one of its parent failed!
[ERROR] no output for 300 seconds
[ERROR] note: run with `RUST_BACKTRACE=1` to display a backtrace.
[INFO] checking gmartsenkov/monkey-lang against try#9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88 for pr-124157
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgmartsenkov%2Fmonkey-lang" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/gmartsenkov/monkey-lang on toolchain 9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/gmartsenkov/monkey-lang
[INFO] finished tweaking git repo https://github.com/gmartsenkov/monkey-lang
[INFO] tweaked toml for git repo https://github.com/gmartsenkov/monkey-lang written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/gmartsenkov/monkey-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" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 82f203ec01811488162084722f22ad4b9854375ff7412c5f8f75f3f5d8690e60
[INFO] running `Command { std: "docker" "start" "-a" "82f203ec01811488162084722f22ad4b9854375ff7412c5f8f75f3f5d8690e60", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "82f203ec01811488162084722f22ad4b9854375ff7412c5f8f75f3f5d8690e60", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "82f203ec01811488162084722f22ad4b9854375ff7412c5f8f75f3f5d8690e60", kill_on_drop: false }`
[INFO] [stdout] 82f203ec01811488162084722f22ad4b9854375ff7412c5f8f75f3f5d8690e60
[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:99613afd962a8cfa530ec1899472a458bd015a1ab0af876cf7eb06f6006d81ea" "/opt/rustwide/cargo-home/bin/cargo" "+9c7b5f5b6b8ec32bbbcf9f07fc0e5208da6c5f88" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1996efd8a09b0214e1ebadefd14fd95e2dc8911939ce8227e40ae75231c92512
[INFO] running `Command { std: "docker" "start" "-a" "1996efd8a09b0214e1ebadefd14fd95e2dc8911939ce8227e40ae75231c92512", kill_on_drop: false }`
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking monkey-lang v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: enum `Statements` is never used
[INFO] [stdout]  --> src/ast.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub enum Statements {
[INFO] [stdout]   |          ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Expressions` is never used
[INFO] [stdout]  --> src/ast.rs:9:10
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub enum Expressions {
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Program` is never constructed
[INFO] [stdout]   --> src/ast.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct Program {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Identifier` is never constructed
[INFO] [stdout]   --> src/ast.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct Identifier {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LetStatement` is never constructed
[INFO] [stdout]   --> src/ast.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct LetStatement {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReturnStatement` is never constructed
[INFO] [stdout]   --> src/ast.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct ReturnStatement {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Boolean` is never constructed
[INFO] [stdout]   --> src/ast.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct Boolean {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IntegerLiteral` is never constructed
[INFO] [stdout]   --> src/ast.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct IntegerLiteral {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExpressionStatement` is never constructed
[INFO] [stdout]   --> src/ast.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct ExpressionStatement {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PrefixExpression` is never constructed
[INFO] [stdout]   --> src/ast.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct PrefixExpression {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InfixExpression` is never constructed
[INFO] [stdout]   --> src/ast.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct InfixExpression {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IfStatement` is never constructed
[INFO] [stdout]   --> src/ast.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct IfStatement {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlockStatement` is never constructed
[INFO] [stdout]   --> src/ast.rs:73:12
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct BlockStatement {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `token_literal` is never used
[INFO] [stdout]   --> src/ast.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 78 | impl LetStatement {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 79 |     fn token_literal(&self) -> &str {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `token_literal` is never used
[INFO] [stdout]   --> src/ast.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 84 | impl Identifier {
[INFO] [stdout]    | --------------- method in this implementation
[INFO] [stdout] 85 |     pub fn token_literal(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `token_literal` is never used
[INFO] [stdout]   --> src/ast.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 90 | impl IntegerLiteral {
[INFO] [stdout]    | ------------------- method in this implementation
[INFO] [stdout] 91 |     pub fn token_literal(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `token_literal` is never used
[INFO] [stdout]   --> src/ast.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 96 | impl PrefixExpression {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] 97 |     pub fn token_literal(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_string` is never used
[INFO] [stdout]    --> src/ast.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl IfStatement {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] 103 |     fn to_string(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `to_string` is never used
[INFO] [stdout]    --> src/ast.rs:118:8
[INFO] [stdout]     |
[INFO] [stdout] 117 | impl BlockStatement {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] 118 |     fn to_string(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `token_literal`, `to_string`, `expression`, and `let_statement` are never used
[INFO] [stdout]    --> src/ast.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 128 | impl Statements {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] 129 |     pub fn token_literal(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub fn to_string(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 150 |     pub fn expression(&self) -> &Expressions {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn let_statement(&self) -> &LetStatement {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/ast.rs:166:8
[INFO] [stdout]     |
[INFO] [stdout] 165 | impl Expressions {
[INFO] [stdout]     | ---------------- methods in this implementation
[INFO] [stdout] 166 |     fn to_string(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn identifier(&self) -> &Identifier {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 189 |     pub fn integer_literal(&self) -> &IntegerLiteral {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn prefix(&self) -> &PrefixExpression {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 203 |     pub fn infix(&self) -> &InfixExpression {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     pub fn boolean(&self) -> &Boolean {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 217 |     pub fn if_statement(&self) -> &IfStatement {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `token_literal` and `to_string` are never used
[INFO] [stdout]    --> src/ast.rs:226:8
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl Program {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] 226 |     fn token_literal(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     pub fn to_string(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `LOWEST` is never used
[INFO] [stdout]  --> src/parser.rs:5:7
[INFO] [stdout]   |
[INFO] [stdout] 5 | const LOWEST: u8 = 1;
[INFO] [stdout]   |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PREFIX` is never used
[INFO] [stdout]   --> src/parser.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 | const PREFIX: u8 = 6; // -X or !X
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CALL` is never used
[INFO] [stdout]   --> src/parser.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const CALL: u8 = 7; // myFunction(x)
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `PrefixParseFn` is never used
[INFO] [stdout]   --> src/parser.rs:13:6
[INFO] [stdout]    |
[INFO] [stdout] 13 | type PrefixParseFn = fn(&mut Parser) -> Option<ast::Expressions>;
[INFO] [stdout]    |      ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `InfixParseFn` is never used
[INFO] [stdout]   --> src/parser.rs:14:6
[INFO] [stdout]    |
[INFO] [stdout] 14 | type InfixParseFn = fn(ast::Expressions, &mut Parser) -> Option<ast::Expressions>;
[INFO] [stdout]    |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parser` is never constructed
[INFO] [stdout]   --> src/parser.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct Parser<'a> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new` is never used
[INFO] [stdout]   --> src/parser.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn new(lexer: &mut lexer::Lexer) -> Parser {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_if_expression` is never used
[INFO] [stdout]   --> src/parser.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn parse_if_expression(parser: &mut Parser) -> Option<ast::Expressions> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_grouped_expression` is never used
[INFO] [stdout]    --> src/parser.rs:120:4
[INFO] [stdout]     |
[INFO] [stdout] 120 | fn parse_grouped_expression(parser: &mut Parser) -> Option<ast::Expressions> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_identifier` is never used
[INFO] [stdout]    --> src/parser.rs:132:4
[INFO] [stdout]     |
[INFO] [stdout] 132 | fn parse_identifier(parser: &mut Parser) -> Option<ast::Expressions> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_integer_literal` is never used
[INFO] [stdout]    --> src/parser.rs:139:4
[INFO] [stdout]     |
[INFO] [stdout] 139 | fn parse_integer_literal(parser: &mut Parser) -> Option<ast::Expressions> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_boolean_expression` is never used
[INFO] [stdout]    --> src/parser.rs:149:4
[INFO] [stdout]     |
[INFO] [stdout] 149 | fn parse_boolean_expression(parser: &mut Parser) -> Option<ast::Expressions> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_prefix_expression` is never used
[INFO] [stdout]    --> src/parser.rs:156:4
[INFO] [stdout]     |
[INFO] [stdout] 156 | fn parse_prefix_expression(parser: &mut Parser) -> Option<ast::Expressions> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_infix_expression` is never used
[INFO] [stdout]    --> src/parser.rs:174:4
[INFO] [stdout]     |
[INFO] [stdout] 174 | fn parse_infix_expression(left: ast::Expressions, parser: &mut Parser) -> Option<ast::Expressions> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/parser.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl Parser<'_> {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] 194 |     pub fn parse_program(&mut self) -> ast::Program {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 208 |     fn parse_statement(&mut self) -> Option<ast::Statements> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 216 |     fn parse_let_statement(&mut self) -> Option<ast::Statements> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 246 |     fn parse_return_statement(&mut self) -> Option<ast::Statements> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     fn parse_expression_statement(&mut self) -> Option<ast::Statements> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 279 |     fn parse_expression(&mut self, precedence: u8) -> Option<ast::Expressions> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     fn parse_identifier(&self) -> ast::Expressions {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 312 |     fn parse_block_statement(&mut self) -> ast::BlockStatement {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 327 |     fn register_prefix_fn(&mut self, token_type: token::Type, function: PrefixParseFn) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     fn register_infix_fn(&mut self, token_type: token::Type, function: InfixParseFn) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 335 |     fn next_token(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 340 |     fn peek_precedence(&self) -> u8 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 347 |     fn current_precedence(&self) -> u8 {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 354 |     fn expect_peek_token(&mut self, expected: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `NULL` is never used
[INFO] [stdout]  --> src/token.rs:6:11
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub const NULL: &str = "NULL";
[INFO] [stdout]   |           ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `literal` is never read
[INFO] [stdout]   --> src/token.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct Token {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 60 |     pub token_type: Type,
[INFO] [stdout] 61 |     pub literal: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Token` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 39 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `token` is never read
[INFO] [stdout]   --> src/ast.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct Boolean {
[INFO] [stdout]    |            ------- field in this struct
[INFO] [stdout] 39 |     pub token: token::Token,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `token` is never read
[INFO] [stdout]   --> src/ast.rs:54:9
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct PrefixExpression {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 54 |     pub token: token::Token,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `token` is never read
[INFO] [stdout]   --> src/ast.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct InfixExpression {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 60 |     pub token: token::Token,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `token` is never read
[INFO] [stdout]   --> src/ast.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct IfStatement {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 67 |     pub token: token::Token,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `token` is never read
[INFO] [stdout]   --> src/ast.rs:74:9
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct BlockStatement {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 74 |     pub token: token::Token,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `token_literal` is never used
[INFO] [stdout]   --> src/ast.rs:97:12
[INFO] [stdout]    |
[INFO] [stdout] 96 | impl PrefixExpression {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] 97 |     pub fn token_literal(&self) -> &str {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `token_literal` is never used
[INFO] [stdout]    --> src/ast.rs:226:8
[INFO] [stdout]     |
[INFO] [stdout] 225 | impl Program {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] 226 |     fn token_literal(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `CALL` is never used
[INFO] [stdout]   --> src/parser.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 | const CALL: u8 = 7; // myFunction(x)
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `parse_identifier` is never used
[INFO] [stdout]    --> src/parser.rs:305:8
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl Parser<'_> {
[INFO] [stdout]     | --------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 305 |     fn parse_identifier(&self) -> ast::Expressions {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 9 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.17s
[INFO] running `Command { std: "docker" "inspect" "1996efd8a09b0214e1ebadefd14fd95e2dc8911939ce8227e40ae75231c92512", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1996efd8a09b0214e1ebadefd14fd95e2dc8911939ce8227e40ae75231c92512", kill_on_drop: false }`
[INFO] [stdout] 1996efd8a09b0214e1ebadefd14fd95e2dc8911939ce8227e40ae75231c92512
