[INFO] cloning repository https://github.com/ryanhossain9797/rust_monkey_interpreter
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ryanhossain9797/rust_monkey_interpreter" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fryanhossain9797%2Frust_monkey_interpreter", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fryanhossain9797%2Frust_monkey_interpreter'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2f078859495b42dd45d59a3a25e737d33b2fabef
[INFO] checking ryanhossain9797/rust_monkey_interpreter against 1.95.0 for pr-155915
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fryanhossain9797%2Frust_monkey_interpreter" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ryanhossain9797/rust_monkey_interpreter
[INFO] finished tweaking git repo https://github.com/ryanhossain9797/rust_monkey_interpreter
[INFO] tweaked toml for git repo https://github.com/ryanhossain9797/rust_monkey_interpreter written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ryanhossain9797/rust_monkey_interpreter on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ryanhossain9797/rust_monkey_interpreter 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" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded async-io v1.3.1
[INFO] [stderr]   Downloaded wepoll-sys v3.0.1
[INFO] [stderr]   Downloaded async-lock v2.3.0
[INFO] [stderr]   Downloaded fastrand v1.4.0
[INFO] [stderr]   Downloaded ctor v0.1.19
[INFO] [stderr]   Downloaded value-bag v1.0.0-alpha.6
[INFO] [stderr]   Downloaded async-channel v1.5.1
[INFO] [stderr]   Downloaded nb-connect v1.0.2
[INFO] [stderr]   Downloaded anyhow v1.0.38
[INFO] [stderr]   Downloaded async-executor v1.4.0
[INFO] [stderr]   Downloaded polling v2.0.2
[INFO] [stderr]   Downloaded vec-arena v1.0.0
[INFO] [stderr]   Downloaded libc v0.2.86
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] cfe3b1128cf214fd6a9f273e49169c6ffc1397fd6d5c64f5db85feacbab57dbe
[INFO] running `Command { std: "docker" "start" "-a" "cfe3b1128cf214fd6a9f273e49169c6ffc1397fd6d5c64f5db85feacbab57dbe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cfe3b1128cf214fd6a9f273e49169c6ffc1397fd6d5c64f5db85feacbab57dbe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cfe3b1128cf214fd6a9f273e49169c6ffc1397fd6d5c64f5db85feacbab57dbe", kill_on_drop: false }`
[INFO] [stdout] cfe3b1128cf214fd6a9f273e49169c6ffc1397fd6d5c64f5db85feacbab57dbe
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ee7f0384daeb4bcc1e3277a1cb133c151e96fec9cb8f8730257a52415caa2c78
[INFO] running `Command { std: "docker" "start" "-a" "ee7f0384daeb4bcc1e3277a1cb133c151e96fec9cb8f8730257a52415caa2c78", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.24
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling syn v1.0.60
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]    Compiling value-bag v1.0.0-alpha.6
[INFO] [stderr]    Compiling libc v0.2.86
[INFO] [stderr]     Checking futures-core v0.3.12
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]     Checking cache-padded v1.1.1
[INFO] [stderr]     Checking waker-fn v1.1.0
[INFO] [stderr]     Checking fastrand v1.4.0
[INFO] [stderr]     Checking parking v2.0.0
[INFO] [stderr]     Checking event-listener v2.5.1
[INFO] [stderr]     Checking pin-project-lite v0.2.4
[INFO] [stderr]     Checking futures-io v0.3.12
[INFO] [stderr]     Checking once_cell v1.5.2
[INFO] [stderr]     Checking concurrent-queue v1.2.2
[INFO] [stderr]     Checking vec-arena v1.0.0
[INFO] [stderr]     Checking async-task v4.0.3
[INFO] [stderr]    Compiling crossbeam-utils v0.8.1
[INFO] [stderr]     Checking atomic-waker v1.0.0
[INFO] [stderr]    Compiling anyhow v1.0.38
[INFO] [stderr]     Checking async-mutex v1.4.0
[INFO] [stderr]     Checking async-lock v2.3.0
[INFO] [stderr]     Checking async-channel v1.5.1
[INFO] [stderr]     Checking futures-lite v1.11.3
[INFO] [stderr]    Compiling quote v1.0.8
[INFO] [stderr]     Checking nb-connect v1.0.2
[INFO] [stderr]     Checking num_cpus v1.13.0
[INFO] [stderr]     Checking async-executor v1.4.0
[INFO] [stderr]     Checking blocking v1.0.2
[INFO] [stderr]    Compiling ctor v0.1.19
[INFO] [stderr]    Compiling async-attributes v1.1.2
[INFO] [stderr]     Checking polling v2.0.2
[INFO] [stderr]     Checking kv-log-macro v1.0.7
[INFO] [stderr]     Checking async-io v1.3.1
[INFO] [stderr]     Checking async-global-executor v2.0.2
[INFO] [stderr]     Checking async-std v1.9.0
[INFO] [stderr]     Checking monkey_compiler v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `parser::*`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use parser::*;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/parser.rs:150:12
[INFO] [stdout]     |
[INFO] [stdout] 150 |         if (&let_statement.name.value != expected_identifier) {
[INFO] [stdout]     |            ^                                                ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 150 -         if (&let_statement.name.value != expected_identifier) {
[INFO] [stdout] 150 +         if &let_statement.name.value != expected_identifier  {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parser::*`
[INFO] [stdout]  --> src/main.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use parser::*;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Node` is never used
[INFO] [stdout]  --> src/ast.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub trait Node {
[INFO] [stdout]   |           ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Statement` is never used
[INFO] [stdout]  --> src/ast.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub trait Statement: Node {
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Expression` is never used
[INFO] [stdout]   --> src/ast.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub trait Expression: Node {}
[INFO] [stdout]    |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Program` is never constructed
[INFO] [stdout]   --> src/ast.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Program {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/ast.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | impl Program {
[INFO] [stdout]    | ------------ associated function in this implementation
[INFO] [stdout] 19 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LetStatement` is never constructed
[INFO] [stdout]   --> src/ast.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct LetStatement {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Identifier` is never constructed
[INFO] [stdout]   --> src/ast.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct Identifier {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parser` is never constructed
[INFO] [stdout]  --> src/parser.rs:2:12
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub struct Parser {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/parser.rs:9:12
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl Parser {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout]   9 |     pub fn new(l: lexer::Lexer) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  22 |     fn next_token(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  27 |     pub fn parse_program(&mut self) -> Program {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  42 |     pub fn parse_statement(&mut self) -> Option<Box<dyn Statement>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  58 |     pub fn parse_let_statement(&mut self) -> Option<LetStatement> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn cur_token_is(&self, token: Token) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  95 |     pub fn peek_token_is(&self, token: Token) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 103 |     pub fn expect_peek(&mut self, token: Token) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.99s
[INFO] [stdout] warning: field `value` is never read
[INFO] [stdout]   --> src/ast.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct LetStatement {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub value: Option<Box<dyn Expression>>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: panic message is not a string literal
[INFO] [stdout]    --> src/parser.rs:130:20
[INFO] [stdout]     |
[INFO] [stdout] 130 |             panic!(program.statements.len());
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/panic-macro-consistency.html>
[INFO] [stdout]     = note: `#[warn(non_fmt_panics)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: add a "{}" format string to `Display` the message
[INFO] [stdout]     |
[INFO] [stdout] 130 |             panic!("{}", program.statements.len());
[INFO] [stdout]     |                    +++++
[INFO] [stdout] help: or use std::panic::panic_any instead
[INFO] [stdout]     |
[INFO] [stdout] 130 -             panic!(program.statements.len());
[INFO] [stdout] 130 +             std::panic::panic_any(program.statements.len());
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "ee7f0384daeb4bcc1e3277a1cb133c151e96fec9cb8f8730257a52415caa2c78", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ee7f0384daeb4bcc1e3277a1cb133c151e96fec9cb8f8730257a52415caa2c78", kill_on_drop: false }`
[INFO] [stdout] ee7f0384daeb4bcc1e3277a1cb133c151e96fec9cb8f8730257a52415caa2c78
